blob: d6391135b75b12394ac701e884082c05484617b6 [file] [log] [blame]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001{
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007 ["tmp_0", 1, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07008 ["tmp_2", 3, false],
9 ["tmp_4", 8, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070010 ["tmp_1", 16, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020011 ["tmp_3", 16, false],
12 ["tmp_5", 4, false],
13 ["tmp_6", 16, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070014 ["tmp_7", 64, false],
15 ["tmp_8", 32, false],
16 ["tmp_9", 32, false],
Wailok Shum4f51bde2021-06-11 22:48:41 +080017 ["acl_ipv4_src", 32, false],
18 ["acl_ipv4_dst", 32, false],
19 ["acl_ip_proto", 8, false],
20 ["acl_l4_sport", 16, false],
21 ["acl_l4_dport", 16, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020022 ["userMetadata._ip_eth_type0", 16, false],
23 ["userMetadata._vlan_id1", 12, false],
24 ["userMetadata._vlan_pri2", 3, false],
25 ["userMetadata._vlan_cfi3", 1, false],
26 ["userMetadata._mpls_label4", 20, false],
27 ["userMetadata._mpls_ttl5", 8, false],
28 ["userMetadata._skip_forwarding6", 1, false],
29 ["userMetadata._skip_next7", 1, false],
30 ["userMetadata._fwd_type8", 3, false],
31 ["userMetadata._next_id9", 32, false],
32 ["userMetadata._is_multicast10", 1, false],
33 ["userMetadata._is_controller_packet_out11", 1, false],
34 ["userMetadata._ip_proto12", 8, false],
35 ["userMetadata._l4_sport13", 16, false],
36 ["userMetadata._l4_dport14", 16, false],
37 ["userMetadata._ipv4_src_addr15", 32, false],
38 ["userMetadata._ipv4_dst_addr16", 32, false],
39 ["userMetadata._inner_l4_sport17", 16, false],
40 ["userMetadata._inner_l4_dport18", 16, false],
41 ["userMetadata._spgw_ipv4_len19", 16, false],
42 ["userMetadata._spgw_teid20", 32, false],
43 ["userMetadata._spgw_tunnel_src_port21", 16, false],
44 ["userMetadata._spgw_tunnel_src_addr22", 32, false],
45 ["userMetadata._spgw_tunnel_dst_addr23", 32, false],
46 ["userMetadata._spgw_ctr_id24", 32, false],
47 ["userMetadata._spgw_far_id25", 32, false],
48 ["userMetadata._spgw_src_iface26", 8, false],
49 ["userMetadata._spgw_skip_spgw27", 1, false],
50 ["userMetadata._spgw_notify_spgwc28", 1, false],
51 ["userMetadata._spgw_needs_gtpu_encap29", 1, false],
52 ["userMetadata._spgw_needs_gtpu_decap30", 1, false],
Wailok Shumfb7e7872021-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 Cascone2388cc12021-05-26 19:30:30 +020059 "name" : "packet_out_header_t",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080060 "id" : 1,
61 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +020062 ["egress_port", 9, false],
63 ["do_forwarding", 1, false],
64 ["_pad", 6, false]
65 ]
66 },
67 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070068 "name" : "gtpu_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020069 "id" : 2,
70 "fields" : [
Carmelo Cascone2a308ff2021-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 Cascone2388cc12021-05-26 19:30:30 +0200102 ["_padding", 3, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200103 ]
104 },
105 {
106 "name" : "ethernet_t",
Carmelo Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-05-26 19:30:30 +0200209 "name" : "tmp",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800210 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200211 "header_type" : "packet_out_header_t",
212 "metadata" : false,
213 "pi_omit" : true
214 },
215 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700216 "name" : "gtpu_0",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200217 "id" : 1,
Carmelo Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2388cc12021-05-26 19:30:30 +0200246 "header_type" : "vlan_tag_t",
247 "metadata" : false,
248 "pi_omit" : true
249 },
250 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700251 "name" : "inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200252 "id" : 6,
Carmelo Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2388cc12021-05-26 19:30:30 +0200288 "header_type" : "gtpu_t",
289 "metadata" : false,
290 "pi_omit" : true
291 },
292 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700293 "name" : "gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200294 "id" : 12,
Carmelo Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Shum4f51bde2021-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 Cascone2388cc12021-05-26 19:30:30 +0200417 "next_state" : "check_packet_out"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800418 },
419 {
Carmelo Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2a308ff2021-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 Cascone2a308ff2021-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 Cascone2388cc12021-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 Cascone2a308ff2021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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,
1741 "next_state" : "parse_tcp"
1742 },
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,
1753 "next_state" : "parse_icmp"
1754 },
1755 {
Carmelo Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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 Cascone2388cc12021-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" : []
1818 }
1819 ]
1820 }
1821 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08001822 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001823 "deparsers" : [
1824 {
1825 "name" : "deparser",
1826 "id" : 0,
1827 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001828 "filename" : "include/parser.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001829 "line" : 285,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001830 "column" : 8,
1831 "source_fragment" : "FabricDeparser"
1832 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001833 "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"],
1834 "primitives" : []
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001835 }
1836 ],
1837 "meter_arrays" : [],
1838 "counter_arrays" : [
1839 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001840 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001841 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001842 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001843 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1844 "source_info" : {
1845 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001846 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001847 "column" : 50,
1848 "source_fragment" : "ingress_port_vlan_counter"
1849 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001850 },
1851 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001852 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001853 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001854 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001855 "binding" : "FabricIngress.filtering.fwd_classifier",
1856 "source_info" : {
1857 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001858 "line" : 87,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001859 "column" : 50,
1860 "source_fragment" : "fwd_classifier_counter"
1861 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001862 },
1863 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001864 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001865 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001866 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001867 "binding" : "FabricIngress.forwarding.bridging",
1868 "source_info" : {
1869 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001870 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001871 "column" : 50,
1872 "source_fragment" : "bridging_counter"
1873 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001874 },
1875 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001876 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001877 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001878 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001879 "binding" : "FabricIngress.forwarding.mpls",
1880 "source_info" : {
1881 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001882 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001883 "column" : 50,
1884 "source_fragment" : "mpls_counter"
1885 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001886 },
1887 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08001888 "name" : "FabricIngress.pre_next.next_mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001889 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001890 "is_direct" : true,
Wailok Shumfb7e7872021-06-18 17:30:08 +08001891 "binding" : "FabricIngress.pre_next.next_mpls",
1892 "source_info" : {
1893 "filename" : "include/control/pre_next.p4",
1894 "line" : 29,
1895 "column" : 50,
1896 "source_fragment" : "next_mpls_counter"
1897 }
1898 },
1899 {
1900 "name" : "FabricIngress.pre_next.next_vlan_counter",
1901 "id" : 5,
1902 "is_direct" : true,
1903 "binding" : "FabricIngress.pre_next.next_vlan",
1904 "source_info" : {
1905 "filename" : "include/control/pre_next.p4",
1906 "line" : 54,
1907 "column" : 50,
1908 "source_fragment" : "next_vlan_counter"
1909 }
1910 },
1911 {
1912 "name" : "FabricIngress.acl.acl_counter",
1913 "id" : 6,
1914 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001915 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001916 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001917 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08001918 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001919 "column" : 50,
1920 "source_fragment" : "acl_counter"
1921 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001922 },
1923 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001924 "name" : "FabricIngress.next.xconnect_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001925 "id" : 7,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001926 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001927 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001928 "source_info" : {
1929 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001930 "line" : 56,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001931 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001932 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001933 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001934 },
1935 {
1936 "name" : "FabricIngress.next.hashed_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001937 "id" : 8,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001938 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001939 "binding" : "FabricIngress.next.hashed",
1940 "source_info" : {
1941 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001942 "line" : 126,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001943 "column" : 50,
1944 "source_fragment" : "hashed_counter"
1945 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001946 },
1947 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00001948 "name" : "FabricIngress.next.multicast_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001949 "id" : 9,
Esin Karaman971fb7f2017-12-28 13:44:52 +00001950 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001951 "binding" : "FabricIngress.next.multicast",
1952 "source_info" : {
1953 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001954 "line" : 163,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001955 "column" : 50,
1956 "source_fragment" : "multicast_counter"
1957 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00001958 },
1959 {
1960 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001961 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001962 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001963 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001964 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001965 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001966 "source_fragment" : "egress_port_counter"
1967 },
1968 "size" : 511,
1969 "is_direct" : false
1970 },
1971 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001972 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001973 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001974 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001975 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001976 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001977 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001978 "source_fragment" : "ingress_port_counter"
1979 },
1980 "size" : 511,
1981 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08001982 },
1983 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001984 "name" : "FabricIngress.spgw.pdr_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001985 "id" : 12,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001986 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001987 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001988 "line" : 108,
Robert MacDavidde12b982020-07-15 18:38:59 -07001989 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001990 "source_fragment" : "pdr_counter"
1991 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001992 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001993 "is_direct" : false
1994 },
1995 {
1996 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001997 "id" : 13,
Yi Tseng47eac892018-07-11 02:17:04 +08001998 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001999 "binding" : "FabricEgress.egress_next.egress_vlan",
2000 "source_info" : {
2001 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002002 "line" : 248,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002003 "column" : 50,
2004 "source_fragment" : "egress_vlan_counter"
2005 }
Robert MacDavidde12b982020-07-15 18:38:59 -07002006 },
2007 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002008 "name" : "FabricEgress.spgw.pdr_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002009 "id" : 14,
Robert MacDavidde12b982020-07-15 18:38:59 -07002010 "source_info" : {
2011 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002012 "line" : 295,
Robert MacDavidde12b982020-07-15 18:38:59 -07002013 "column" : 53,
2014 "source_fragment" : "pdr_counter"
2015 },
2016 "size" : 2048,
2017 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002018 }
2019 ],
2020 "register_arrays" : [],
2021 "calculations" : [
2022 {
2023 "name" : "calc",
2024 "id" : 0,
2025 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002026 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002027 "line" : 28,
2028 "column" : 8,
2029 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2030 },
2031 "algo" : "csum16",
2032 "input" : [
2033 {
2034 "type" : "field",
2035 "value" : ["ipv4", "version"]
2036 },
2037 {
2038 "type" : "field",
2039 "value" : ["ipv4", "ihl"]
2040 },
2041 {
2042 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002043 "value" : ["ipv4", "dscp"]
2044 },
2045 {
2046 "type" : "field",
2047 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002048 },
2049 {
2050 "type" : "field",
2051 "value" : ["ipv4", "total_len"]
2052 },
2053 {
2054 "type" : "field",
2055 "value" : ["ipv4", "identification"]
2056 },
2057 {
2058 "type" : "field",
2059 "value" : ["ipv4", "flags"]
2060 },
2061 {
2062 "type" : "field",
2063 "value" : ["ipv4", "frag_offset"]
2064 },
2065 {
2066 "type" : "field",
2067 "value" : ["ipv4", "ttl"]
2068 },
2069 {
2070 "type" : "field",
2071 "value" : ["ipv4", "protocol"]
2072 },
2073 {
2074 "type" : "field",
2075 "value" : ["ipv4", "src_addr"]
2076 },
2077 {
2078 "type" : "field",
2079 "value" : ["ipv4", "dst_addr"]
2080 }
2081 ]
2082 },
2083 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002084 "name" : "calc_0",
2085 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002086 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002087 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002088 "line" : 358,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002089 "column" : 8,
2090 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
2091 },
2092 "algo" : "csum16",
2093 "input" : [
2094 {
2095 "type" : "field",
2096 "value" : ["gtpu_ipv4", "version"]
2097 },
2098 {
2099 "type" : "field",
2100 "value" : ["gtpu_ipv4", "ihl"]
2101 },
2102 {
2103 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002104 "value" : ["gtpu_ipv4", "dscp"]
2105 },
2106 {
2107 "type" : "field",
2108 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002109 },
2110 {
2111 "type" : "field",
2112 "value" : ["gtpu_ipv4", "total_len"]
2113 },
2114 {
2115 "type" : "field",
2116 "value" : ["gtpu_ipv4", "identification"]
2117 },
2118 {
2119 "type" : "field",
2120 "value" : ["gtpu_ipv4", "flags"]
2121 },
2122 {
2123 "type" : "field",
2124 "value" : ["gtpu_ipv4", "frag_offset"]
2125 },
2126 {
2127 "type" : "field",
2128 "value" : ["gtpu_ipv4", "ttl"]
2129 },
2130 {
2131 "type" : "field",
2132 "value" : ["gtpu_ipv4", "protocol"]
2133 },
2134 {
2135 "type" : "field",
2136 "value" : ["gtpu_ipv4", "src_addr"]
2137 },
2138 {
2139 "type" : "field",
2140 "value" : ["gtpu_ipv4", "dst_addr"]
2141 }
2142 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002143 },
2144 {
2145 "name" : "calc_1",
2146 "id" : 2,
2147 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002148 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002149 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002150 "column" : 8,
2151 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
2152 },
2153 "algo" : "csum16",
2154 "input" : [
2155 {
2156 "type" : "field",
2157 "value" : ["ipv4", "version"]
2158 },
2159 {
2160 "type" : "field",
2161 "value" : ["ipv4", "ihl"]
2162 },
2163 {
2164 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002165 "value" : ["ipv4", "dscp"]
2166 },
2167 {
2168 "type" : "field",
2169 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002170 },
2171 {
2172 "type" : "field",
2173 "value" : ["ipv4", "total_len"]
2174 },
2175 {
2176 "type" : "field",
2177 "value" : ["ipv4", "identification"]
2178 },
2179 {
2180 "type" : "field",
2181 "value" : ["ipv4", "flags"]
2182 },
2183 {
2184 "type" : "field",
2185 "value" : ["ipv4", "frag_offset"]
2186 },
2187 {
2188 "type" : "field",
2189 "value" : ["ipv4", "ttl"]
2190 },
2191 {
2192 "type" : "field",
2193 "value" : ["ipv4", "protocol"]
2194 },
2195 {
2196 "type" : "field",
2197 "value" : ["ipv4", "src_addr"]
2198 },
2199 {
2200 "type" : "field",
2201 "value" : ["ipv4", "dst_addr"]
2202 }
2203 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002204 }
2205 ],
2206 "learn_lists" : [],
2207 "actions" : [
2208 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002209 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002210 "id" : 0,
2211 "runtime_data" : [],
2212 "primitives" : []
2213 },
2214 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002215 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002216 "id" : 1,
2217 "runtime_data" : [],
2218 "primitives" : []
2219 },
2220 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002221 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002222 "id" : 2,
2223 "runtime_data" : [],
2224 "primitives" : []
2225 },
2226 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002227 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002228 "id" : 3,
2229 "runtime_data" : [],
2230 "primitives" : []
2231 },
2232 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002233 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002234 "id" : 4,
2235 "runtime_data" : [],
2236 "primitives" : []
2237 },
2238 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002239 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002240 "id" : 5,
2241 "runtime_data" : [],
2242 "primitives" : []
2243 },
2244 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002245 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002246 "id" : 6,
2247 "runtime_data" : [],
2248 "primitives" : []
2249 },
2250 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002251 "name" : "nop",
Robert MacDavidde12b982020-07-15 18:38:59 -07002252 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002253 "runtime_data" : [],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002254 "primitives" : []
2255 },
2256 {
2257 "name" : "NoAction",
2258 "id" : 8,
2259 "runtime_data" : [],
2260 "primitives" : []
2261 },
2262 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002263 "name" : "NoAction",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002264 "id" : 9,
2265 "runtime_data" : [],
Wailok Shumfb7e7872021-06-18 17:30:08 +08002266 "primitives" : []
2267 },
2268 {
2269 "name" : "FabricIngress.filtering.deny",
2270 "id" : 10,
2271 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002272 "primitives" : [
2273 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002274 "op" : "assign",
2275 "parameters" : [
2276 {
2277 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002278 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002279 },
2280 {
2281 "type" : "expression",
2282 "value" : {
2283 "type" : "expression",
2284 "value" : {
2285 "op" : "b2d",
2286 "left" : null,
2287 "right" : {
2288 "type" : "bool",
2289 "value" : true
2290 }
2291 }
2292 }
2293 }
2294 ],
2295 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002296 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002297 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002298 "column" : 40,
2299 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002300 }
2301 },
2302 {
2303 "op" : "assign",
2304 "parameters" : [
2305 {
2306 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002307 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002308 },
2309 {
2310 "type" : "expression",
2311 "value" : {
2312 "type" : "expression",
2313 "value" : {
2314 "op" : "b2d",
2315 "left" : null,
2316 "right" : {
2317 "type" : "bool",
2318 "value" : true
2319 }
2320 }
2321 }
2322 }
2323 ],
2324 "source_info" : {
2325 "filename" : "include/control/filtering.p4",
2326 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002327 "column" : 34,
2328 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002329 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002330 },
2331 {
2332 "op" : "assign",
2333 "parameters" : [
2334 {
2335 "type" : "field",
2336 "value" : ["scalars", "userMetadata._port_type32"]
2337 },
2338 {
2339 "type" : "hexstr",
2340 "value" : "0x00"
2341 }
2342 ],
2343 "source_info" : {
2344 "filename" : "include/control/../define.p4",
2345 "line" : 119,
2346 "column" : 38,
2347 "source_fragment" : "0x0; ..."
2348 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002349 }
2350 ]
2351 },
2352 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002353 "name" : "FabricIngress.filtering.permit",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002354 "id" : 11,
2355 "runtime_data" : [
2356 {
2357 "name" : "port_type",
2358 "bitwidth" : 2
2359 }
2360 ],
2361 "primitives" : [
2362 {
2363 "op" : "assign",
2364 "parameters" : [
2365 {
2366 "type" : "field",
2367 "value" : ["scalars", "userMetadata._port_type32"]
2368 },
2369 {
2370 "type" : "runtime_data",
2371 "value" : 0
2372 }
2373 ],
2374 "source_info" : {
2375 "filename" : "include/control/filtering.p4",
2376 "line" : 44,
2377 "column" : 34,
2378 "source_fragment" : "= port_type; ..."
2379 }
2380 }
2381 ]
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002382 },
2383 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002384 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002385 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002386 "runtime_data" : [
2387 {
2388 "name" : "vlan_id",
2389 "bitwidth" : 12
Wailok Shumfb7e7872021-06-18 17:30:08 +08002390 },
2391 {
2392 "name" : "port_type",
2393 "bitwidth" : 2
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002394 }
2395 ],
2396 "primitives" : [
2397 {
2398 "op" : "assign",
2399 "parameters" : [
2400 {
2401 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002402 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002403 },
2404 {
2405 "type" : "runtime_data",
2406 "value" : 0
2407 }
2408 ],
2409 "source_info" : {
2410 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002411 "line" : 49,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002412 "column" : 32,
2413 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002414 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002415 },
2416 {
2417 "op" : "assign",
2418 "parameters" : [
2419 {
2420 "type" : "field",
2421 "value" : ["scalars", "userMetadata._port_type32"]
2422 },
2423 {
2424 "type" : "runtime_data",
2425 "value" : 1
2426 }
2427 ],
2428 "source_info" : {
2429 "filename" : "include/control/filtering.p4",
2430 "line" : 44,
2431 "column" : 34,
2432 "source_fragment" : "= port_type; ..."
2433 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002434 }
2435 ]
2436 },
2437 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002438 "name" : "FabricIngress.filtering.set_forwarding_type",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002439 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002440 "runtime_data" : [
2441 {
2442 "name" : "fwd_type",
2443 "bitwidth" : 3
2444 }
2445 ],
2446 "primitives" : [
2447 {
2448 "op" : "assign",
2449 "parameters" : [
2450 {
2451 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002452 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002453 },
2454 {
2455 "type" : "runtime_data",
2456 "value" : 0
2457 }
2458 ],
2459 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002460 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002461 "line" : 90,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002462 "column" : 33,
2463 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002464 }
2465 }
2466 ]
2467 },
2468 {
Yi Tseng47eac892018-07-11 02:17:04 +08002469 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002470 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002471 "runtime_data" : [
2472 {
2473 "name" : "next_id",
2474 "bitwidth" : 32
2475 }
2476 ],
2477 "primitives" : [
2478 {
2479 "op" : "assign",
2480 "parameters" : [
2481 {
2482 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002483 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002484 },
2485 {
2486 "type" : "runtime_data",
2487 "value" : 0
2488 }
2489 ],
2490 "source_info" : {
2491 "filename" : "include/control/forwarding.p4",
2492 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002493 "column" : 32,
2494 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002495 }
2496 }
2497 ]
2498 },
2499 {
2500 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002501 "id" : 15,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002502 "runtime_data" : [
2503 {
2504 "name" : "next_id",
2505 "bitwidth" : 32
2506 }
2507 ],
2508 "primitives" : [
2509 {
2510 "op" : "assign",
2511 "parameters" : [
2512 {
2513 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002514 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002515 },
2516 {
2517 "type" : "hexstr",
2518 "value" : "0x000000"
2519 }
2520 ],
2521 "source_info" : {
2522 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07002523 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002524 "column" : 35,
2525 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002526 }
2527 },
2528 {
2529 "op" : "assign",
2530 "parameters" : [
2531 {
2532 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002533 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002534 },
2535 {
2536 "type" : "runtime_data",
2537 "value" : 0
2538 }
2539 ],
2540 "source_info" : {
2541 "filename" : "include/control/forwarding.p4",
2542 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002543 "column" : 32,
2544 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002545 }
2546 }
2547 ]
2548 },
2549 {
2550 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002551 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002552 "runtime_data" : [
2553 {
2554 "name" : "next_id",
2555 "bitwidth" : 32
2556 }
2557 ],
2558 "primitives" : [
2559 {
2560 "op" : "assign",
2561 "parameters" : [
2562 {
2563 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002564 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002565 },
2566 {
2567 "type" : "runtime_data",
2568 "value" : 0
2569 }
2570 ],
2571 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002572 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002573 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002574 "column" : 32,
2575 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002576 }
2577 }
2578 ]
2579 },
2580 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002581 "name" : "FabricIngress.forwarding.nop_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002582 "id" : 17,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002583 "runtime_data" : [],
2584 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08002585 },
2586 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002587 "name" : "FabricIngress.pre_next.set_mpls_label",
2588 "id" : 18,
2589 "runtime_data" : [
2590 {
2591 "name" : "label",
2592 "bitwidth" : 20
2593 }
2594 ],
2595 "primitives" : [
2596 {
2597 "op" : "assign",
2598 "parameters" : [
2599 {
2600 "type" : "field",
2601 "value" : ["scalars", "userMetadata._mpls_label4"]
2602 },
2603 {
2604 "type" : "runtime_data",
2605 "value" : 0
2606 }
2607 ],
2608 "source_info" : {
2609 "filename" : "include/control/pre_next.p4",
2610 "line" : 32,
2611 "column" : 35,
2612 "source_fragment" : "= label; ..."
2613 }
2614 }
2615 ]
2616 },
2617 {
2618 "name" : "FabricIngress.pre_next.set_vlan",
2619 "id" : 19,
2620 "runtime_data" : [
2621 {
2622 "name" : "vlan_id",
2623 "bitwidth" : 12
2624 }
2625 ],
2626 "primitives" : [
2627 {
2628 "op" : "assign",
2629 "parameters" : [
2630 {
2631 "type" : "field",
2632 "value" : ["scalars", "userMetadata._vlan_id1"]
2633 },
2634 {
2635 "type" : "runtime_data",
2636 "value" : 0
2637 }
2638 ],
2639 "source_info" : {
2640 "filename" : "include/control/pre_next.p4",
2641 "line" : 57,
2642 "column" : 32,
2643 "source_fragment" : "= vlan_id; ..."
2644 }
2645 }
2646 ]
2647 },
2648 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002649 "name" : "FabricIngress.acl.set_next_id_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002650 "id" : 20,
Yi Tseng27b9bc02018-04-12 14:52:40 +08002651 "runtime_data" : [
2652 {
2653 "name" : "next_id",
2654 "bitwidth" : 32
2655 }
2656 ],
2657 "primitives" : [
2658 {
2659 "op" : "assign",
2660 "parameters" : [
2661 {
2662 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002663 "value" : ["scalars", "userMetadata._next_id9"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08002664 },
2665 {
2666 "type" : "runtime_data",
2667 "value" : 0
2668 }
2669 ],
2670 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002671 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002672 "line" : 39,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002673 "column" : 32,
2674 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002675 }
2676 }
2677 ]
2678 },
2679 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002680 "name" : "FabricIngress.acl.punt_to_cpu",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002681 "id" : 21,
Charles Chancd03f072018-08-31 17:46:37 -07002682 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002683 "primitives" : [
2684 {
2685 "op" : "assign",
2686 "parameters" : [
2687 {
2688 "type" : "field",
2689 "value" : ["standard_metadata", "egress_spec"]
2690 },
2691 {
2692 "type" : "hexstr",
2693 "value" : "0x00ff"
2694 }
2695 ],
2696 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002697 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002698 "line" : 45,
Carmelo Casconeb531b682018-01-30 17:55:56 -08002699 "column" : 8,
2700 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002701 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002702 },
2703 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002704 "op" : "assign",
2705 "parameters" : [
2706 {
2707 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002708 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002709 },
2710 {
2711 "type" : "expression",
2712 "value" : {
2713 "type" : "expression",
2714 "value" : {
2715 "op" : "b2d",
2716 "left" : null,
2717 "right" : {
2718 "type" : "bool",
2719 "value" : true
2720 }
2721 }
2722 }
2723 }
2724 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002725 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002726 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002727 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002728 "column" : 34,
2729 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002730 }
2731 }
2732 ]
2733 },
2734 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002735 "name" : "FabricIngress.acl.set_clone_session_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002736 "id" : 22,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002737 "runtime_data" : [
2738 {
2739 "name" : "clone_id",
2740 "bitwidth" : 32
2741 }
2742 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002743 "primitives" : [
2744 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002745 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002746 "parameters" : [
2747 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002748 "type" : "runtime_data",
2749 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002750 },
2751 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002752 "type" : "hexstr",
2753 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002754 }
2755 ],
2756 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002757 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002758 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002759 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07002760 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002761 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002762 }
2763 ]
2764 },
2765 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002766 "name" : "FabricIngress.acl.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002767 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08002768 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002769 "primitives" : [
2770 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002771 "op" : "mark_to_drop",
2772 "parameters" : [
2773 {
2774 "type" : "header",
2775 "value" : "standard_metadata"
2776 }
2777 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002778 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002779 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002780 "line" : 57,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002781 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002782 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002783 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002784 },
2785 {
2786 "op" : "assign",
2787 "parameters" : [
2788 {
2789 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002790 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002791 },
2792 {
2793 "type" : "expression",
2794 "value" : {
2795 "type" : "expression",
2796 "value" : {
2797 "op" : "b2d",
2798 "left" : null,
2799 "right" : {
2800 "type" : "bool",
2801 "value" : true
2802 }
2803 }
2804 }
2805 }
2806 ],
2807 "source_info" : {
2808 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002809 "line" : 58,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002810 "column" : 34,
2811 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002812 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002813 }
2814 ]
2815 },
2816 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002817 "name" : "FabricIngress.acl.nop_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002818 "id" : 24,
Charles Chancf696e52018-08-16 16:25:13 -07002819 "runtime_data" : [],
2820 "primitives" : []
2821 },
2822 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002823 "name" : "FabricIngress.next.output_xconnect",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002824 "id" : 25,
2825 "runtime_data" : [
2826 {
2827 "name" : "port_num",
2828 "bitwidth" : 9
2829 }
2830 ],
2831 "primitives" : [
2832 {
2833 "op" : "assign",
2834 "parameters" : [
2835 {
2836 "type" : "field",
2837 "value" : ["standard_metadata", "egress_spec"]
2838 },
2839 {
2840 "type" : "runtime_data",
2841 "value" : 0
2842 }
2843 ],
2844 "source_info" : {
2845 "filename" : "include/control/next.p4",
2846 "line" : 31,
2847 "column" : 5,
2848 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2849 }
2850 }
2851 ]
2852 },
2853 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002854 "name" : "FabricIngress.next.set_next_id_xconnect",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002855 "id" : 26,
2856 "runtime_data" : [
2857 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002858 "name" : "next_id",
2859 "bitwidth" : 32
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002860 }
2861 ],
2862 "primitives" : [
2863 {
2864 "op" : "assign",
2865 "parameters" : [
2866 {
2867 "type" : "field",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002868 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002869 },
2870 {
2871 "type" : "runtime_data",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002872 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002873 }
2874 ],
2875 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002876 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002877 "line" : 64,
2878 "column" : 32,
2879 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002880 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002881 }
2882 ]
2883 },
2884 {
2885 "name" : "FabricIngress.next.output_hashed",
2886 "id" : 27,
2887 "runtime_data" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002888 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002889 "name" : "port_num",
2890 "bitwidth" : 9
2891 }
2892 ],
2893 "primitives" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002894 {
2895 "op" : "assign",
2896 "parameters" : [
2897 {
2898 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002899 "value" : ["standard_metadata", "egress_spec"]
2900 },
2901 {
2902 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002903 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002904 }
2905 ],
2906 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002907 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002908 "line" : 31,
2909 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002910 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2911 }
2912 }
2913 ]
2914 },
2915 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002916 "name" : "FabricIngress.next.routing_hashed",
2917 "id" : 28,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002918 "runtime_data" : [
2919 {
2920 "name" : "port_num",
2921 "bitwidth" : 9
2922 },
2923 {
2924 "name" : "smac",
2925 "bitwidth" : 48
2926 },
2927 {
2928 "name" : "dmac",
2929 "bitwidth" : 48
2930 }
2931 ],
2932 "primitives" : [
2933 {
2934 "op" : "assign",
2935 "parameters" : [
2936 {
2937 "type" : "field",
2938 "value" : ["ethernet", "src_addr"]
2939 },
2940 {
2941 "type" : "runtime_data",
2942 "value" : 1
2943 }
2944 ],
2945 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002946 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002947 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002948 "column" : 8,
2949 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2950 }
2951 },
2952 {
2953 "op" : "assign",
2954 "parameters" : [
2955 {
2956 "type" : "field",
2957 "value" : ["ethernet", "dst_addr"]
2958 },
2959 {
2960 "type" : "runtime_data",
2961 "value" : 2
2962 }
2963 ],
2964 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002965 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08002966 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002967 "column" : 8,
2968 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2969 }
2970 },
2971 {
2972 "op" : "assign",
2973 "parameters" : [
2974 {
2975 "type" : "field",
2976 "value" : ["standard_metadata", "egress_spec"]
2977 },
2978 {
2979 "type" : "runtime_data",
2980 "value" : 0
2981 }
2982 ],
2983 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002984 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002985 "line" : 31,
2986 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002987 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2988 }
2989 }
2990 ]
2991 },
2992 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002993 "name" : "FabricIngress.next.set_mcast_group_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002994 "id" : 29,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002995 "runtime_data" : [
2996 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002997 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00002998 "bitwidth" : 16
2999 }
3000 ],
3001 "primitives" : [
3002 {
3003 "op" : "assign",
3004 "parameters" : [
3005 {
3006 "type" : "field",
3007 "value" : ["standard_metadata", "mcast_grp"]
3008 },
3009 {
3010 "type" : "runtime_data",
3011 "value" : 0
3012 }
3013 ],
3014 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003015 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003016 "line" : 166,
Esin Karaman971fb7f2017-12-28 13:44:52 +00003017 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003018 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00003019 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02003020 },
3021 {
3022 "op" : "assign",
3023 "parameters" : [
3024 {
3025 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003026 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02003027 },
3028 {
3029 "type" : "expression",
3030 "value" : {
3031 "type" : "expression",
3032 "value" : {
3033 "op" : "b2d",
3034 "left" : null,
3035 "right" : {
3036 "type" : "bool",
3037 "value" : true
3038 }
3039 }
3040 }
3041 }
3042 ],
3043 "source_info" : {
3044 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003045 "line" : 167,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08003046 "column" : 37,
3047 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02003048 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00003049 }
3050 ]
3051 },
3052 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003053 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003054 "id" : 30,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003055 "runtime_data" : [],
3056 "primitives" : [
3057 {
3058 "op" : "assign",
3059 "parameters" : [
3060 {
3061 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003062 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003063 },
3064 {
3065 "type" : "hexstr",
3066 "value" : "0x0800"
3067 }
3068 ],
3069 "source_info" : {
3070 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003071 "line" : 132,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003072 "column" : 31,
3073 "source_fragment" : "0x0800; ..."
3074 }
3075 },
3076 {
3077 "op" : "assign",
3078 "parameters" : [
3079 {
3080 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003081 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003082 },
3083 {
3084 "type" : "field",
3085 "value" : ["inner_ipv4", "protocol"]
3086 }
3087 ],
3088 "source_info" : {
3089 "filename" : "include/control/spgw.p4",
3090 "line" : 39,
3091 "column" : 27,
3092 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3093 }
3094 },
3095 {
3096 "op" : "assign",
3097 "parameters" : [
3098 {
3099 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003100 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003101 },
3102 {
3103 "type" : "field",
3104 "value" : ["inner_ipv4", "src_addr"]
3105 }
3106 ],
3107 "source_info" : {
3108 "filename" : "include/control/spgw.p4",
3109 "line" : 40,
3110 "column" : 32,
3111 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3112 }
3113 },
3114 {
3115 "op" : "assign",
3116 "parameters" : [
3117 {
3118 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003119 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003120 },
3121 {
3122 "type" : "field",
3123 "value" : ["inner_ipv4", "dst_addr"]
3124 }
3125 ],
3126 "source_info" : {
3127 "filename" : "include/control/spgw.p4",
3128 "line" : 41,
3129 "column" : 32,
3130 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3131 }
3132 },
3133 {
3134 "op" : "assign",
3135 "parameters" : [
3136 {
3137 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003138 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003139 },
3140 {
3141 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003142 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003143 }
3144 ],
3145 "source_info" : {
3146 "filename" : "include/control/spgw.p4",
3147 "line" : 42,
3148 "column" : 27,
3149 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3150 }
3151 },
3152 {
3153 "op" : "assign",
3154 "parameters" : [
3155 {
3156 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003157 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003158 },
3159 {
3160 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003161 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003162 }
3163 ],
3164 "source_info" : {
3165 "filename" : "include/control/spgw.p4",
3166 "line" : 43,
3167 "column" : 27,
3168 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3169 }
3170 },
3171 {
3172 "op" : "assign_header",
3173 "parameters" : [
3174 {
3175 "type" : "header",
3176 "value" : "ipv4"
3177 },
3178 {
3179 "type" : "header",
3180 "value" : "inner_ipv4"
3181 }
3182 ],
3183 "source_info" : {
3184 "filename" : "include/control/spgw.p4",
3185 "line" : 45,
3186 "column" : 8,
3187 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3188 }
3189 },
3190 {
3191 "op" : "remove_header",
3192 "parameters" : [
3193 {
3194 "type" : "header",
3195 "value" : "inner_ipv4"
3196 }
3197 ],
3198 "source_info" : {
3199 "filename" : "include/control/spgw.p4",
3200 "line" : 46,
3201 "column" : 8,
3202 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3203 }
3204 },
3205 {
3206 "op" : "remove_header",
3207 "parameters" : [
3208 {
3209 "type" : "header",
3210 "value" : "gtpu"
3211 }
3212 ],
3213 "source_info" : {
3214 "filename" : "include/control/spgw.p4",
3215 "line" : 47,
3216 "column" : 8,
3217 "source_fragment" : "hdr.gtpu.setInvalid()"
3218 }
3219 },
3220 {
3221 "op" : "remove_header",
3222 "parameters" : [
3223 {
3224 "type" : "header",
3225 "value" : "udp"
3226 }
3227 ],
3228 "source_info" : {
3229 "filename" : "include/control/spgw.p4",
3230 "line" : 52,
3231 "column" : 8,
3232 "source_fragment" : "hdr.udp.setInvalid()"
3233 }
3234 },
3235 {
3236 "op" : "assign_header",
3237 "parameters" : [
3238 {
3239 "type" : "header",
3240 "value" : "tcp"
3241 },
3242 {
3243 "type" : "header",
3244 "value" : "inner_tcp"
3245 }
3246 ],
3247 "source_info" : {
3248 "filename" : "include/control/spgw.p4",
3249 "line" : 53,
3250 "column" : 8,
3251 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3252 }
3253 },
3254 {
3255 "op" : "remove_header",
3256 "parameters" : [
3257 {
3258 "type" : "header",
3259 "value" : "inner_tcp"
3260 }
3261 ],
3262 "source_info" : {
3263 "filename" : "include/control/spgw.p4",
3264 "line" : 54,
3265 "column" : 8,
3266 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3267 }
3268 }
3269 ]
3270 },
3271 {
3272 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003273 "id" : 31,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003274 "runtime_data" : [],
3275 "primitives" : [
3276 {
3277 "op" : "assign",
3278 "parameters" : [
3279 {
3280 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003281 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003282 },
3283 {
3284 "type" : "hexstr",
3285 "value" : "0x0800"
3286 }
3287 ],
3288 "source_info" : {
3289 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003290 "line" : 132,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003291 "column" : 31,
3292 "source_fragment" : "0x0800; ..."
3293 }
3294 },
3295 {
3296 "op" : "assign",
3297 "parameters" : [
3298 {
3299 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003300 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003301 },
3302 {
3303 "type" : "field",
3304 "value" : ["inner_ipv4", "protocol"]
3305 }
3306 ],
3307 "source_info" : {
3308 "filename" : "include/control/spgw.p4",
3309 "line" : 39,
3310 "column" : 27,
3311 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3312 }
3313 },
3314 {
3315 "op" : "assign",
3316 "parameters" : [
3317 {
3318 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003319 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003320 },
3321 {
3322 "type" : "field",
3323 "value" : ["inner_ipv4", "src_addr"]
3324 }
3325 ],
3326 "source_info" : {
3327 "filename" : "include/control/spgw.p4",
3328 "line" : 40,
3329 "column" : 32,
3330 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3331 }
3332 },
3333 {
3334 "op" : "assign",
3335 "parameters" : [
3336 {
3337 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003338 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003339 },
3340 {
3341 "type" : "field",
3342 "value" : ["inner_ipv4", "dst_addr"]
3343 }
3344 ],
3345 "source_info" : {
3346 "filename" : "include/control/spgw.p4",
3347 "line" : 41,
3348 "column" : 32,
3349 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3350 }
3351 },
3352 {
3353 "op" : "assign",
3354 "parameters" : [
3355 {
3356 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003357 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003358 },
3359 {
3360 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003361 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003362 }
3363 ],
3364 "source_info" : {
3365 "filename" : "include/control/spgw.p4",
3366 "line" : 42,
3367 "column" : 27,
3368 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3369 }
3370 },
3371 {
3372 "op" : "assign",
3373 "parameters" : [
3374 {
3375 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003376 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003377 },
3378 {
3379 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003380 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003381 }
3382 ],
3383 "source_info" : {
3384 "filename" : "include/control/spgw.p4",
3385 "line" : 43,
3386 "column" : 27,
3387 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3388 }
3389 },
3390 {
3391 "op" : "assign_header",
3392 "parameters" : [
3393 {
3394 "type" : "header",
3395 "value" : "ipv4"
3396 },
3397 {
3398 "type" : "header",
3399 "value" : "inner_ipv4"
3400 }
3401 ],
3402 "source_info" : {
3403 "filename" : "include/control/spgw.p4",
3404 "line" : 45,
3405 "column" : 8,
3406 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3407 }
3408 },
3409 {
3410 "op" : "remove_header",
3411 "parameters" : [
3412 {
3413 "type" : "header",
3414 "value" : "inner_ipv4"
3415 }
3416 ],
3417 "source_info" : {
3418 "filename" : "include/control/spgw.p4",
3419 "line" : 46,
3420 "column" : 8,
3421 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3422 }
3423 },
3424 {
3425 "op" : "remove_header",
3426 "parameters" : [
3427 {
3428 "type" : "header",
3429 "value" : "gtpu"
3430 }
3431 ],
3432 "source_info" : {
3433 "filename" : "include/control/spgw.p4",
3434 "line" : 47,
3435 "column" : 8,
3436 "source_fragment" : "hdr.gtpu.setInvalid()"
3437 }
3438 },
3439 {
3440 "op" : "assign_header",
3441 "parameters" : [
3442 {
3443 "type" : "header",
3444 "value" : "udp"
3445 },
3446 {
3447 "type" : "header",
3448 "value" : "inner_udp"
3449 }
3450 ],
3451 "source_info" : {
3452 "filename" : "include/control/spgw.p4",
3453 "line" : 59,
3454 "column" : 8,
3455 "source_fragment" : "hdr.udp = hdr.inner_udp"
3456 }
3457 },
3458 {
3459 "op" : "remove_header",
3460 "parameters" : [
3461 {
3462 "type" : "header",
3463 "value" : "inner_udp"
3464 }
3465 ],
3466 "source_info" : {
3467 "filename" : "include/control/spgw.p4",
3468 "line" : 60,
3469 "column" : 8,
3470 "source_fragment" : "hdr.inner_udp.setInvalid()"
3471 }
3472 }
3473 ]
3474 },
3475 {
3476 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003477 "id" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003478 "runtime_data" : [],
3479 "primitives" : [
3480 {
3481 "op" : "assign",
3482 "parameters" : [
3483 {
3484 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003485 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003486 },
3487 {
3488 "type" : "hexstr",
3489 "value" : "0x0800"
3490 }
3491 ],
3492 "source_info" : {
3493 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003494 "line" : 132,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003495 "column" : 31,
3496 "source_fragment" : "0x0800; ..."
3497 }
3498 },
3499 {
3500 "op" : "assign",
3501 "parameters" : [
3502 {
3503 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003504 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003505 },
3506 {
3507 "type" : "field",
3508 "value" : ["inner_ipv4", "protocol"]
3509 }
3510 ],
3511 "source_info" : {
3512 "filename" : "include/control/spgw.p4",
3513 "line" : 39,
3514 "column" : 27,
3515 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3516 }
3517 },
3518 {
3519 "op" : "assign",
3520 "parameters" : [
3521 {
3522 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003523 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003524 },
3525 {
3526 "type" : "field",
3527 "value" : ["inner_ipv4", "src_addr"]
3528 }
3529 ],
3530 "source_info" : {
3531 "filename" : "include/control/spgw.p4",
3532 "line" : 40,
3533 "column" : 32,
3534 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3535 }
3536 },
3537 {
3538 "op" : "assign",
3539 "parameters" : [
3540 {
3541 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003542 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003543 },
3544 {
3545 "type" : "field",
3546 "value" : ["inner_ipv4", "dst_addr"]
3547 }
3548 ],
3549 "source_info" : {
3550 "filename" : "include/control/spgw.p4",
3551 "line" : 41,
3552 "column" : 32,
3553 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3554 }
3555 },
3556 {
3557 "op" : "assign",
3558 "parameters" : [
3559 {
3560 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003561 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003562 },
3563 {
3564 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003565 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003566 }
3567 ],
3568 "source_info" : {
3569 "filename" : "include/control/spgw.p4",
3570 "line" : 42,
3571 "column" : 27,
3572 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3573 }
3574 },
3575 {
3576 "op" : "assign",
3577 "parameters" : [
3578 {
3579 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003580 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003581 },
3582 {
3583 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003584 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003585 }
3586 ],
3587 "source_info" : {
3588 "filename" : "include/control/spgw.p4",
3589 "line" : 43,
3590 "column" : 27,
3591 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3592 }
3593 },
3594 {
3595 "op" : "assign_header",
3596 "parameters" : [
3597 {
3598 "type" : "header",
3599 "value" : "ipv4"
3600 },
3601 {
3602 "type" : "header",
3603 "value" : "inner_ipv4"
3604 }
3605 ],
3606 "source_info" : {
3607 "filename" : "include/control/spgw.p4",
3608 "line" : 45,
3609 "column" : 8,
3610 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3611 }
3612 },
3613 {
3614 "op" : "remove_header",
3615 "parameters" : [
3616 {
3617 "type" : "header",
3618 "value" : "inner_ipv4"
3619 }
3620 ],
3621 "source_info" : {
3622 "filename" : "include/control/spgw.p4",
3623 "line" : 46,
3624 "column" : 8,
3625 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3626 }
3627 },
3628 {
3629 "op" : "remove_header",
3630 "parameters" : [
3631 {
3632 "type" : "header",
3633 "value" : "gtpu"
3634 }
3635 ],
3636 "source_info" : {
3637 "filename" : "include/control/spgw.p4",
3638 "line" : 47,
3639 "column" : 8,
3640 "source_fragment" : "hdr.gtpu.setInvalid()"
3641 }
3642 },
3643 {
3644 "op" : "remove_header",
3645 "parameters" : [
3646 {
3647 "type" : "header",
3648 "value" : "udp"
3649 }
3650 ],
3651 "source_info" : {
3652 "filename" : "include/control/spgw.p4",
3653 "line" : 65,
3654 "column" : 8,
3655 "source_fragment" : "hdr.udp.setInvalid()"
3656 }
3657 },
3658 {
3659 "op" : "assign_header",
3660 "parameters" : [
3661 {
3662 "type" : "header",
3663 "value" : "icmp"
3664 },
3665 {
3666 "type" : "header",
3667 "value" : "inner_icmp"
3668 }
3669 ],
3670 "source_info" : {
3671 "filename" : "include/control/spgw.p4",
3672 "line" : 66,
3673 "column" : 8,
3674 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3675 }
3676 },
3677 {
3678 "op" : "remove_header",
3679 "parameters" : [
3680 {
3681 "type" : "header",
3682 "value" : "inner_icmp"
3683 }
3684 ],
3685 "source_info" : {
3686 "filename" : "include/control/spgw.p4",
3687 "line" : 67,
3688 "column" : 8,
3689 "source_fragment" : "hdr.inner_icmp.setInvalid()"
3690 }
3691 }
3692 ]
3693 },
3694 {
3695 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003696 "id" : 33,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003697 "runtime_data" : [],
3698 "primitives" : [
3699 {
3700 "op" : "assign",
3701 "parameters" : [
3702 {
3703 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003704 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003705 },
3706 {
3707 "type" : "hexstr",
3708 "value" : "0x0800"
3709 }
3710 ],
3711 "source_info" : {
3712 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003713 "line" : 132,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003714 "column" : 31,
3715 "source_fragment" : "0x0800; ..."
3716 }
3717 },
3718 {
3719 "op" : "assign",
3720 "parameters" : [
3721 {
3722 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003723 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003724 },
3725 {
3726 "type" : "field",
3727 "value" : ["inner_ipv4", "protocol"]
3728 }
3729 ],
3730 "source_info" : {
3731 "filename" : "include/control/spgw.p4",
3732 "line" : 39,
3733 "column" : 27,
3734 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3735 }
3736 },
3737 {
3738 "op" : "assign",
3739 "parameters" : [
3740 {
3741 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003742 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003743 },
3744 {
3745 "type" : "field",
3746 "value" : ["inner_ipv4", "src_addr"]
3747 }
3748 ],
3749 "source_info" : {
3750 "filename" : "include/control/spgw.p4",
3751 "line" : 40,
3752 "column" : 32,
3753 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3754 }
3755 },
3756 {
3757 "op" : "assign",
3758 "parameters" : [
3759 {
3760 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003761 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003762 },
3763 {
3764 "type" : "field",
3765 "value" : ["inner_ipv4", "dst_addr"]
3766 }
3767 ],
3768 "source_info" : {
3769 "filename" : "include/control/spgw.p4",
3770 "line" : 41,
3771 "column" : 32,
3772 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3773 }
3774 },
3775 {
3776 "op" : "assign",
3777 "parameters" : [
3778 {
3779 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003780 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003781 },
3782 {
3783 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003784 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003785 }
3786 ],
3787 "source_info" : {
3788 "filename" : "include/control/spgw.p4",
3789 "line" : 42,
3790 "column" : 27,
3791 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3792 }
3793 },
3794 {
3795 "op" : "assign",
3796 "parameters" : [
3797 {
3798 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003799 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003800 },
3801 {
3802 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003803 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003804 }
3805 ],
3806 "source_info" : {
3807 "filename" : "include/control/spgw.p4",
3808 "line" : 43,
3809 "column" : 27,
3810 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3811 }
3812 },
3813 {
3814 "op" : "assign_header",
3815 "parameters" : [
3816 {
3817 "type" : "header",
3818 "value" : "ipv4"
3819 },
3820 {
3821 "type" : "header",
3822 "value" : "inner_ipv4"
3823 }
3824 ],
3825 "source_info" : {
3826 "filename" : "include/control/spgw.p4",
3827 "line" : 45,
3828 "column" : 8,
3829 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3830 }
3831 },
3832 {
3833 "op" : "remove_header",
3834 "parameters" : [
3835 {
3836 "type" : "header",
3837 "value" : "inner_ipv4"
3838 }
3839 ],
3840 "source_info" : {
3841 "filename" : "include/control/spgw.p4",
3842 "line" : 46,
3843 "column" : 8,
3844 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3845 }
3846 },
3847 {
3848 "op" : "remove_header",
3849 "parameters" : [
3850 {
3851 "type" : "header",
3852 "value" : "gtpu"
3853 }
3854 ],
3855 "source_info" : {
3856 "filename" : "include/control/spgw.p4",
3857 "line" : 47,
3858 "column" : 8,
3859 "source_fragment" : "hdr.gtpu.setInvalid()"
3860 }
3861 },
3862 {
3863 "op" : "remove_header",
3864 "parameters" : [
3865 {
3866 "type" : "header",
3867 "value" : "udp"
3868 }
3869 ],
3870 "source_info" : {
3871 "filename" : "include/control/spgw.p4",
3872 "line" : 72,
3873 "column" : 8,
3874 "source_fragment" : "hdr.udp.setInvalid()"
3875 }
3876 }
3877 ]
3878 },
3879 {
3880 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003881 "id" : 34,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003882 "runtime_data" : [],
3883 "primitives" : [
3884 {
3885 "op" : "assign",
3886 "parameters" : [
3887 {
3888 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003889 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003890 },
3891 {
3892 "type" : "hexstr",
3893 "value" : "0x0800"
3894 }
3895 ],
3896 "source_info" : {
3897 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003898 "line" : 132,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003899 "column" : 31,
3900 "source_fragment" : "0x0800; ..."
3901 }
3902 },
3903 {
3904 "op" : "assign",
3905 "parameters" : [
3906 {
3907 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003908 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003909 },
3910 {
3911 "type" : "field",
3912 "value" : ["inner_ipv4", "protocol"]
3913 }
3914 ],
3915 "source_info" : {
3916 "filename" : "include/control/spgw.p4",
3917 "line" : 39,
3918 "column" : 27,
3919 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3920 }
3921 },
3922 {
3923 "op" : "assign",
3924 "parameters" : [
3925 {
3926 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003927 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003928 },
3929 {
3930 "type" : "field",
3931 "value" : ["inner_ipv4", "src_addr"]
3932 }
3933 ],
3934 "source_info" : {
3935 "filename" : "include/control/spgw.p4",
3936 "line" : 40,
3937 "column" : 32,
3938 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3939 }
3940 },
3941 {
3942 "op" : "assign",
3943 "parameters" : [
3944 {
3945 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003946 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003947 },
3948 {
3949 "type" : "field",
3950 "value" : ["inner_ipv4", "dst_addr"]
3951 }
3952 ],
3953 "source_info" : {
3954 "filename" : "include/control/spgw.p4",
3955 "line" : 41,
3956 "column" : 32,
3957 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3958 }
3959 },
3960 {
3961 "op" : "assign",
3962 "parameters" : [
3963 {
3964 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003965 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003966 },
3967 {
3968 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003969 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003970 }
3971 ],
3972 "source_info" : {
3973 "filename" : "include/control/spgw.p4",
3974 "line" : 42,
3975 "column" : 27,
3976 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3977 }
3978 },
3979 {
3980 "op" : "assign",
3981 "parameters" : [
3982 {
3983 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003984 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003985 },
3986 {
3987 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003988 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003989 }
3990 ],
3991 "source_info" : {
3992 "filename" : "include/control/spgw.p4",
3993 "line" : 43,
3994 "column" : 27,
3995 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3996 }
3997 },
3998 {
3999 "op" : "assign_header",
4000 "parameters" : [
4001 {
4002 "type" : "header",
4003 "value" : "ipv4"
4004 },
4005 {
4006 "type" : "header",
4007 "value" : "inner_ipv4"
4008 }
4009 ],
4010 "source_info" : {
4011 "filename" : "include/control/spgw.p4",
4012 "line" : 45,
4013 "column" : 8,
4014 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4015 }
4016 },
4017 {
4018 "op" : "remove_header",
4019 "parameters" : [
4020 {
4021 "type" : "header",
4022 "value" : "inner_ipv4"
4023 }
4024 ],
4025 "source_info" : {
4026 "filename" : "include/control/spgw.p4",
4027 "line" : 46,
4028 "column" : 8,
4029 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4030 }
4031 },
4032 {
4033 "op" : "remove_header",
4034 "parameters" : [
4035 {
4036 "type" : "header",
4037 "value" : "gtpu"
4038 }
4039 ],
4040 "source_info" : {
4041 "filename" : "include/control/spgw.p4",
4042 "line" : 47,
4043 "column" : 8,
4044 "source_fragment" : "hdr.gtpu.setInvalid()"
4045 }
4046 },
4047 {
4048 "op" : "remove_header",
4049 "parameters" : [
4050 {
4051 "type" : "header",
4052 "value" : "udp"
4053 }
4054 ],
4055 "source_info" : {
4056 "filename" : "include/control/spgw.p4",
4057 "line" : 52,
4058 "column" : 8,
4059 "source_fragment" : "hdr.udp.setInvalid()"
4060 }
4061 },
4062 {
4063 "op" : "assign_header",
4064 "parameters" : [
4065 {
4066 "type" : "header",
4067 "value" : "tcp"
4068 },
4069 {
4070 "type" : "header",
4071 "value" : "inner_tcp"
4072 }
4073 ],
4074 "source_info" : {
4075 "filename" : "include/control/spgw.p4",
4076 "line" : 53,
4077 "column" : 8,
4078 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
4079 }
4080 },
4081 {
4082 "op" : "remove_header",
4083 "parameters" : [
4084 {
4085 "type" : "header",
4086 "value" : "inner_tcp"
4087 }
4088 ],
4089 "source_info" : {
4090 "filename" : "include/control/spgw.p4",
4091 "line" : 54,
4092 "column" : 8,
4093 "source_fragment" : "hdr.inner_tcp.setInvalid()"
4094 }
4095 }
4096 ]
4097 },
4098 {
4099 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004100 "id" : 35,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004101 "runtime_data" : [],
4102 "primitives" : [
4103 {
4104 "op" : "assign",
4105 "parameters" : [
4106 {
4107 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004108 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004109 },
4110 {
4111 "type" : "hexstr",
4112 "value" : "0x0800"
4113 }
4114 ],
4115 "source_info" : {
4116 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004117 "line" : 132,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004118 "column" : 31,
4119 "source_fragment" : "0x0800; ..."
4120 }
4121 },
4122 {
4123 "op" : "assign",
4124 "parameters" : [
4125 {
4126 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004127 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004128 },
4129 {
4130 "type" : "field",
4131 "value" : ["inner_ipv4", "protocol"]
4132 }
4133 ],
4134 "source_info" : {
4135 "filename" : "include/control/spgw.p4",
4136 "line" : 39,
4137 "column" : 27,
4138 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4139 }
4140 },
4141 {
4142 "op" : "assign",
4143 "parameters" : [
4144 {
4145 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004146 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004147 },
4148 {
4149 "type" : "field",
4150 "value" : ["inner_ipv4", "src_addr"]
4151 }
4152 ],
4153 "source_info" : {
4154 "filename" : "include/control/spgw.p4",
4155 "line" : 40,
4156 "column" : 32,
4157 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4158 }
4159 },
4160 {
4161 "op" : "assign",
4162 "parameters" : [
4163 {
4164 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004165 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004166 },
4167 {
4168 "type" : "field",
4169 "value" : ["inner_ipv4", "dst_addr"]
4170 }
4171 ],
4172 "source_info" : {
4173 "filename" : "include/control/spgw.p4",
4174 "line" : 41,
4175 "column" : 32,
4176 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4177 }
4178 },
4179 {
4180 "op" : "assign",
4181 "parameters" : [
4182 {
4183 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004184 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004185 },
4186 {
4187 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004188 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004189 }
4190 ],
4191 "source_info" : {
4192 "filename" : "include/control/spgw.p4",
4193 "line" : 42,
4194 "column" : 27,
4195 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4196 }
4197 },
4198 {
4199 "op" : "assign",
4200 "parameters" : [
4201 {
4202 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004203 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004204 },
4205 {
4206 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004207 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004208 }
4209 ],
4210 "source_info" : {
4211 "filename" : "include/control/spgw.p4",
4212 "line" : 43,
4213 "column" : 27,
4214 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4215 }
4216 },
4217 {
4218 "op" : "assign_header",
4219 "parameters" : [
4220 {
4221 "type" : "header",
4222 "value" : "ipv4"
4223 },
4224 {
4225 "type" : "header",
4226 "value" : "inner_ipv4"
4227 }
4228 ],
4229 "source_info" : {
4230 "filename" : "include/control/spgw.p4",
4231 "line" : 45,
4232 "column" : 8,
4233 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4234 }
4235 },
4236 {
4237 "op" : "remove_header",
4238 "parameters" : [
4239 {
4240 "type" : "header",
4241 "value" : "inner_ipv4"
4242 }
4243 ],
4244 "source_info" : {
4245 "filename" : "include/control/spgw.p4",
4246 "line" : 46,
4247 "column" : 8,
4248 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4249 }
4250 },
4251 {
4252 "op" : "remove_header",
4253 "parameters" : [
4254 {
4255 "type" : "header",
4256 "value" : "gtpu"
4257 }
4258 ],
4259 "source_info" : {
4260 "filename" : "include/control/spgw.p4",
4261 "line" : 47,
4262 "column" : 8,
4263 "source_fragment" : "hdr.gtpu.setInvalid()"
4264 }
4265 },
4266 {
4267 "op" : "assign_header",
4268 "parameters" : [
4269 {
4270 "type" : "header",
4271 "value" : "udp"
4272 },
4273 {
4274 "type" : "header",
4275 "value" : "inner_udp"
4276 }
4277 ],
4278 "source_info" : {
4279 "filename" : "include/control/spgw.p4",
4280 "line" : 59,
4281 "column" : 8,
4282 "source_fragment" : "hdr.udp = hdr.inner_udp"
4283 }
4284 },
4285 {
4286 "op" : "remove_header",
4287 "parameters" : [
4288 {
4289 "type" : "header",
4290 "value" : "inner_udp"
4291 }
4292 ],
4293 "source_info" : {
4294 "filename" : "include/control/spgw.p4",
4295 "line" : 60,
4296 "column" : 8,
4297 "source_fragment" : "hdr.inner_udp.setInvalid()"
4298 }
4299 }
4300 ]
4301 },
4302 {
4303 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004304 "id" : 36,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004305 "runtime_data" : [],
4306 "primitives" : [
4307 {
4308 "op" : "assign",
4309 "parameters" : [
4310 {
4311 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004312 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004313 },
4314 {
4315 "type" : "hexstr",
4316 "value" : "0x0800"
4317 }
4318 ],
4319 "source_info" : {
4320 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004321 "line" : 132,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004322 "column" : 31,
4323 "source_fragment" : "0x0800; ..."
4324 }
4325 },
4326 {
4327 "op" : "assign",
4328 "parameters" : [
4329 {
4330 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004331 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004332 },
4333 {
4334 "type" : "field",
4335 "value" : ["inner_ipv4", "protocol"]
4336 }
4337 ],
4338 "source_info" : {
4339 "filename" : "include/control/spgw.p4",
4340 "line" : 39,
4341 "column" : 27,
4342 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4343 }
4344 },
4345 {
4346 "op" : "assign",
4347 "parameters" : [
4348 {
4349 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004350 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004351 },
4352 {
4353 "type" : "field",
4354 "value" : ["inner_ipv4", "src_addr"]
4355 }
4356 ],
4357 "source_info" : {
4358 "filename" : "include/control/spgw.p4",
4359 "line" : 40,
4360 "column" : 32,
4361 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4362 }
4363 },
4364 {
4365 "op" : "assign",
4366 "parameters" : [
4367 {
4368 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004369 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004370 },
4371 {
4372 "type" : "field",
4373 "value" : ["inner_ipv4", "dst_addr"]
4374 }
4375 ],
4376 "source_info" : {
4377 "filename" : "include/control/spgw.p4",
4378 "line" : 41,
4379 "column" : 32,
4380 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4381 }
4382 },
4383 {
4384 "op" : "assign",
4385 "parameters" : [
4386 {
4387 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004388 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004389 },
4390 {
4391 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004392 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004393 }
4394 ],
4395 "source_info" : {
4396 "filename" : "include/control/spgw.p4",
4397 "line" : 42,
4398 "column" : 27,
4399 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4400 }
4401 },
4402 {
4403 "op" : "assign",
4404 "parameters" : [
4405 {
4406 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004407 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004408 },
4409 {
4410 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004411 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004412 }
4413 ],
4414 "source_info" : {
4415 "filename" : "include/control/spgw.p4",
4416 "line" : 43,
4417 "column" : 27,
4418 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4419 }
4420 },
4421 {
4422 "op" : "assign_header",
4423 "parameters" : [
4424 {
4425 "type" : "header",
4426 "value" : "ipv4"
4427 },
4428 {
4429 "type" : "header",
4430 "value" : "inner_ipv4"
4431 }
4432 ],
4433 "source_info" : {
4434 "filename" : "include/control/spgw.p4",
4435 "line" : 45,
4436 "column" : 8,
4437 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4438 }
4439 },
4440 {
4441 "op" : "remove_header",
4442 "parameters" : [
4443 {
4444 "type" : "header",
4445 "value" : "inner_ipv4"
4446 }
4447 ],
4448 "source_info" : {
4449 "filename" : "include/control/spgw.p4",
4450 "line" : 46,
4451 "column" : 8,
4452 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4453 }
4454 },
4455 {
4456 "op" : "remove_header",
4457 "parameters" : [
4458 {
4459 "type" : "header",
4460 "value" : "gtpu"
4461 }
4462 ],
4463 "source_info" : {
4464 "filename" : "include/control/spgw.p4",
4465 "line" : 47,
4466 "column" : 8,
4467 "source_fragment" : "hdr.gtpu.setInvalid()"
4468 }
4469 },
4470 {
4471 "op" : "remove_header",
4472 "parameters" : [
4473 {
4474 "type" : "header",
4475 "value" : "udp"
4476 }
4477 ],
4478 "source_info" : {
4479 "filename" : "include/control/spgw.p4",
4480 "line" : 65,
4481 "column" : 8,
4482 "source_fragment" : "hdr.udp.setInvalid()"
4483 }
4484 },
4485 {
4486 "op" : "assign_header",
4487 "parameters" : [
4488 {
4489 "type" : "header",
4490 "value" : "icmp"
4491 },
4492 {
4493 "type" : "header",
4494 "value" : "inner_icmp"
4495 }
4496 ],
4497 "source_info" : {
4498 "filename" : "include/control/spgw.p4",
4499 "line" : 66,
4500 "column" : 8,
4501 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
4502 }
4503 },
4504 {
4505 "op" : "remove_header",
4506 "parameters" : [
4507 {
4508 "type" : "header",
4509 "value" : "inner_icmp"
4510 }
4511 ],
4512 "source_info" : {
4513 "filename" : "include/control/spgw.p4",
4514 "line" : 67,
4515 "column" : 8,
4516 "source_fragment" : "hdr.inner_icmp.setInvalid()"
4517 }
4518 }
4519 ]
4520 },
4521 {
4522 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004523 "id" : 37,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004524 "runtime_data" : [],
4525 "primitives" : [
4526 {
4527 "op" : "assign",
4528 "parameters" : [
4529 {
4530 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004531 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004532 },
4533 {
4534 "type" : "hexstr",
4535 "value" : "0x0800"
4536 }
4537 ],
4538 "source_info" : {
4539 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004540 "line" : 132,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004541 "column" : 31,
4542 "source_fragment" : "0x0800; ..."
4543 }
4544 },
4545 {
4546 "op" : "assign",
4547 "parameters" : [
4548 {
4549 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004550 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004551 },
4552 {
4553 "type" : "field",
4554 "value" : ["inner_ipv4", "protocol"]
4555 }
4556 ],
4557 "source_info" : {
4558 "filename" : "include/control/spgw.p4",
4559 "line" : 39,
4560 "column" : 27,
4561 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4562 }
4563 },
4564 {
4565 "op" : "assign",
4566 "parameters" : [
4567 {
4568 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004569 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004570 },
4571 {
4572 "type" : "field",
4573 "value" : ["inner_ipv4", "src_addr"]
4574 }
4575 ],
4576 "source_info" : {
4577 "filename" : "include/control/spgw.p4",
4578 "line" : 40,
4579 "column" : 32,
4580 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4581 }
4582 },
4583 {
4584 "op" : "assign",
4585 "parameters" : [
4586 {
4587 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004588 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004589 },
4590 {
4591 "type" : "field",
4592 "value" : ["inner_ipv4", "dst_addr"]
4593 }
4594 ],
4595 "source_info" : {
4596 "filename" : "include/control/spgw.p4",
4597 "line" : 41,
4598 "column" : 32,
4599 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4600 }
4601 },
4602 {
4603 "op" : "assign",
4604 "parameters" : [
4605 {
4606 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004607 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004608 },
4609 {
4610 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004611 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004612 }
4613 ],
4614 "source_info" : {
4615 "filename" : "include/control/spgw.p4",
4616 "line" : 42,
4617 "column" : 27,
4618 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4619 }
4620 },
4621 {
4622 "op" : "assign",
4623 "parameters" : [
4624 {
4625 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004626 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004627 },
4628 {
4629 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004630 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004631 }
4632 ],
4633 "source_info" : {
4634 "filename" : "include/control/spgw.p4",
4635 "line" : 43,
4636 "column" : 27,
4637 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4638 }
4639 },
4640 {
4641 "op" : "assign_header",
4642 "parameters" : [
4643 {
4644 "type" : "header",
4645 "value" : "ipv4"
4646 },
4647 {
4648 "type" : "header",
4649 "value" : "inner_ipv4"
4650 }
4651 ],
4652 "source_info" : {
4653 "filename" : "include/control/spgw.p4",
4654 "line" : 45,
4655 "column" : 8,
4656 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4657 }
4658 },
4659 {
4660 "op" : "remove_header",
4661 "parameters" : [
4662 {
4663 "type" : "header",
4664 "value" : "inner_ipv4"
4665 }
4666 ],
4667 "source_info" : {
4668 "filename" : "include/control/spgw.p4",
4669 "line" : 46,
4670 "column" : 8,
4671 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4672 }
4673 },
4674 {
4675 "op" : "remove_header",
4676 "parameters" : [
4677 {
4678 "type" : "header",
4679 "value" : "gtpu"
4680 }
4681 ],
4682 "source_info" : {
4683 "filename" : "include/control/spgw.p4",
4684 "line" : 47,
4685 "column" : 8,
4686 "source_fragment" : "hdr.gtpu.setInvalid()"
4687 }
4688 },
4689 {
4690 "op" : "remove_header",
4691 "parameters" : [
4692 {
4693 "type" : "header",
4694 "value" : "udp"
4695 }
4696 ],
4697 "source_info" : {
4698 "filename" : "include/control/spgw.p4",
4699 "line" : 72,
4700 "column" : 8,
4701 "source_fragment" : "hdr.udp.setInvalid()"
4702 }
4703 }
4704 ]
4705 },
4706 {
4707 "name" : "FabricIngress.spgw.load_iface",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004708 "id" : 38,
Robert MacDavidde12b982020-07-15 18:38:59 -07004709 "runtime_data" : [
4710 {
4711 "name" : "src_iface",
4712 "bitwidth" : 8
Robert MacDavidde12b982020-07-15 18:38:59 -07004713 }
4714 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004715 "primitives" : [
4716 {
4717 "op" : "assign",
4718 "parameters" : [
4719 {
4720 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004721 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004722 },
4723 {
4724 "type" : "runtime_data",
4725 "value" : 0
4726 }
4727 ],
4728 "source_info" : {
4729 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004730 "line" : 120,
Robert MacDavidde12b982020-07-15 18:38:59 -07004731 "column" : 33,
4732 "source_fragment" : "= src_iface; ..."
4733 }
4734 },
4735 {
4736 "op" : "assign",
4737 "parameters" : [
4738 {
4739 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004740 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004741 },
4742 {
4743 "type" : "expression",
4744 "value" : {
4745 "type" : "expression",
4746 "value" : {
4747 "op" : "b2d",
4748 "left" : null,
4749 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004750 "type" : "bool",
4751 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07004752 }
4753 }
4754 }
4755 }
4756 ],
4757 "source_info" : {
4758 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004759 "line" : 121,
Robert MacDavidde12b982020-07-15 18:38:59 -07004760 "column" : 33,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004761 "source_fragment" : "= false; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004762 }
4763 }
4764 ]
4765 },
4766 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004767 "name" : "FabricIngress.spgw.iface_miss",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004768 "id" : 39,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004769 "runtime_data" : [],
4770 "primitives" : [
4771 {
4772 "op" : "assign",
4773 "parameters" : [
4774 {
4775 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004776 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004777 },
4778 {
4779 "type" : "hexstr",
4780 "value" : "0x00"
4781 }
4782 ],
4783 "source_info" : {
4784 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004785 "line" : 110,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004786 "column" : 44,
4787 "source_fragment" : "8w0; ..."
4788 }
4789 },
4790 {
4791 "op" : "assign",
4792 "parameters" : [
4793 {
4794 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004795 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004796 },
4797 {
4798 "type" : "expression",
4799 "value" : {
4800 "type" : "expression",
4801 "value" : {
4802 "op" : "b2d",
4803 "left" : null,
4804 "right" : {
4805 "type" : "bool",
4806 "value" : true
4807 }
4808 }
4809 }
4810 }
4811 ],
4812 "source_info" : {
4813 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004814 "line" : 125,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004815 "column" : 33,
4816 "source_fragment" : "= true; ..."
4817 }
4818 }
4819 ]
4820 },
4821 {
4822 "name" : "FabricIngress.spgw.load_pdr",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004823 "id" : 40,
Robert MacDavidde12b982020-07-15 18:38:59 -07004824 "runtime_data" : [
4825 {
4826 "name" : "ctr_id",
4827 "bitwidth" : 32
4828 },
4829 {
4830 "name" : "far_id",
4831 "bitwidth" : 32
4832 },
4833 {
4834 "name" : "needs_gtpu_decap",
4835 "bitwidth" : 1
4836 }
4837 ],
4838 "primitives" : [
4839 {
4840 "op" : "assign",
4841 "parameters" : [
4842 {
4843 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004844 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004845 },
4846 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004847 "type" : "runtime_data",
4848 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004849 }
4850 ],
4851 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004852 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004853 "line" : 150,
Robert MacDavidde12b982020-07-15 18:38:59 -07004854 "column" : 30,
4855 "source_fragment" : "= ctr_id; ..."
4856 }
4857 },
4858 {
4859 "op" : "assign",
4860 "parameters" : [
4861 {
4862 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004863 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004864 },
4865 {
4866 "type" : "runtime_data",
4867 "value" : 1
4868 }
4869 ],
4870 "source_info" : {
4871 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004872 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004873 "column" : 30,
4874 "source_fragment" : "= far_id; ..."
4875 }
4876 },
4877 {
4878 "op" : "assign",
4879 "parameters" : [
4880 {
4881 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004882 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004883 },
4884 {
4885 "type" : "expression",
4886 "value" : {
4887 "type" : "expression",
4888 "value" : {
4889 "op" : "b2d",
4890 "left" : null,
4891 "right" : {
4892 "type" : "expression",
4893 "value" : {
4894 "op" : "!=",
4895 "left" : {
4896 "type" : "local",
4897 "value" : 2
4898 },
4899 "right" : {
4900 "type" : "hexstr",
4901 "value" : "0x00"
4902 }
4903 }
4904 }
4905 }
4906 }
4907 }
4908 ],
4909 "source_info" : {
4910 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004911 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004912 "column" : 40,
4913 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004914 }
4915 }
4916 ]
4917 },
4918 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08004919 "name" : "FabricIngress.spgw.load_pdr",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004920 "id" : 41,
Robert MacDavidde12b982020-07-15 18:38:59 -07004921 "runtime_data" : [
4922 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004923 "name" : "ctr_id",
4924 "bitwidth" : 32
4925 },
4926 {
4927 "name" : "far_id",
4928 "bitwidth" : 32
4929 },
4930 {
4931 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07004932 "bitwidth" : 1
Robert MacDavidde12b982020-07-15 18:38:59 -07004933 }
4934 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004935 "primitives" : [
4936 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004937 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004938 "parameters" : [
4939 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004940 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004941 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004942 },
4943 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004944 "type" : "runtime_data",
4945 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004946 }
4947 ],
4948 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004949 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004950 "line" : 150,
ersuneetsinghe326c722021-03-25 21:17:29 -03004951 "column" : 30,
4952 "source_fragment" : "= ctr_id; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004953 }
4954 },
4955 {
4956 "op" : "assign",
4957 "parameters" : [
4958 {
4959 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004960 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004961 },
4962 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004963 "type" : "runtime_data",
4964 "value" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004965 }
4966 ],
4967 "source_info" : {
4968 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004969 "line" : 151,
ersuneetsinghe326c722021-03-25 21:17:29 -03004970 "column" : 30,
4971 "source_fragment" : "= far_id; ..."
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004972 }
4973 },
4974 {
4975 "op" : "assign",
4976 "parameters" : [
4977 {
4978 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004979 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004980 },
4981 {
4982 "type" : "expression",
4983 "value" : {
4984 "type" : "expression",
4985 "value" : {
4986 "op" : "b2d",
4987 "left" : null,
4988 "right" : {
4989 "type" : "expression",
4990 "value" : {
4991 "op" : "!=",
4992 "left" : {
4993 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03004994 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004995 },
4996 "right" : {
4997 "type" : "hexstr",
4998 "value" : "0x00"
4999 }
5000 }
5001 }
5002 }
5003 }
5004 }
5005 ],
5006 "source_info" : {
5007 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005008 "line" : 152,
ersuneetsinghe326c722021-03-25 21:17:29 -03005009 "column" : 40,
5010 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005011 }
5012 }
5013 ]
5014 },
5015 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005016 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005017 "id" : 42,
Robert MacDavidde12b982020-07-15 18:38:59 -07005018 "runtime_data" : [
5019 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005020 "name" : "ctr_id",
5021 "bitwidth" : 32
5022 },
5023 {
5024 "name" : "far_id",
5025 "bitwidth" : 32
5026 },
5027 {
5028 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07005029 "bitwidth" : 1
5030 },
5031 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005032 "name" : "qid",
5033 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005034 }
5035 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005036 "primitives" : [
5037 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005038 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005039 "parameters" : [
5040 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005041 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005042 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005043 },
5044 {
5045 "type" : "runtime_data",
5046 "value" : 0
5047 }
5048 ],
5049 "source_info" : {
5050 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005051 "line" : 150,
ersuneetsinghe326c722021-03-25 21:17:29 -03005052 "column" : 30,
5053 "source_fragment" : "= ctr_id; ..."
5054 }
5055 },
5056 {
5057 "op" : "assign",
5058 "parameters" : [
5059 {
5060 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005061 "value" : ["scalars", "userMetadata._spgw_far_id25"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005062 },
5063 {
5064 "type" : "runtime_data",
5065 "value" : 1
5066 }
5067 ],
5068 "source_info" : {
5069 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005070 "line" : 151,
ersuneetsinghe326c722021-03-25 21:17:29 -03005071 "column" : 30,
5072 "source_fragment" : "= far_id; ..."
5073 }
5074 },
5075 {
5076 "op" : "assign",
5077 "parameters" : [
5078 {
5079 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005080 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005081 },
5082 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005083 "type" : "expression",
5084 "value" : {
5085 "type" : "expression",
5086 "value" : {
5087 "op" : "b2d",
5088 "left" : null,
5089 "right" : {
5090 "type" : "expression",
5091 "value" : {
5092 "op" : "!=",
5093 "left" : {
5094 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03005095 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005096 },
5097 "right" : {
5098 "type" : "hexstr",
5099 "value" : "0x00"
5100 }
5101 }
5102 }
5103 }
5104 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005105 }
5106 ],
5107 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005108 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005109 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07005110 "column" : 40,
ersuneetsinghe326c722021-03-25 21:17:29 -03005111 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005112 }
5113 }
5114 ]
5115 },
5116 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005117 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005118 "id" : 43,
5119 "runtime_data" : [
5120 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005121 "name" : "ctr_id",
5122 "bitwidth" : 32
5123 },
5124 {
5125 "name" : "far_id",
5126 "bitwidth" : 32
5127 },
5128 {
5129 "name" : "needs_gtpu_decap",
5130 "bitwidth" : 1
5131 },
5132 {
5133 "name" : "qid",
5134 "bitwidth" : 5
5135 }
5136 ],
5137 "primitives" : [
5138 {
5139 "op" : "assign",
5140 "parameters" : [
5141 {
5142 "type" : "field",
5143 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
5144 },
5145 {
5146 "type" : "runtime_data",
5147 "value" : 0
5148 }
5149 ],
5150 "source_info" : {
5151 "filename" : "include/control/spgw.p4",
5152 "line" : 150,
5153 "column" : 30,
5154 "source_fragment" : "= ctr_id; ..."
5155 }
5156 },
5157 {
5158 "op" : "assign",
5159 "parameters" : [
5160 {
5161 "type" : "field",
5162 "value" : ["scalars", "userMetadata._spgw_far_id25"]
5163 },
5164 {
5165 "type" : "runtime_data",
5166 "value" : 1
5167 }
5168 ],
5169 "source_info" : {
5170 "filename" : "include/control/spgw.p4",
5171 "line" : 151,
5172 "column" : 30,
5173 "source_fragment" : "= far_id; ..."
5174 }
5175 },
5176 {
5177 "op" : "assign",
5178 "parameters" : [
5179 {
5180 "type" : "field",
5181 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
5182 },
5183 {
5184 "type" : "expression",
5185 "value" : {
5186 "type" : "expression",
5187 "value" : {
5188 "op" : "b2d",
5189 "left" : null,
5190 "right" : {
5191 "type" : "expression",
5192 "value" : {
5193 "op" : "!=",
5194 "left" : {
5195 "type" : "local",
5196 "value" : 2
5197 },
5198 "right" : {
5199 "type" : "hexstr",
5200 "value" : "0x00"
5201 }
5202 }
5203 }
5204 }
5205 }
5206 }
5207 ],
5208 "source_info" : {
5209 "filename" : "include/control/spgw.p4",
5210 "line" : 152,
5211 "column" : 40,
5212 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
5213 }
5214 }
5215 ]
5216 },
5217 {
5218 "name" : "FabricIngress.spgw.load_normal_far",
5219 "id" : 44,
5220 "runtime_data" : [
5221 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005222 "name" : "drop",
5223 "bitwidth" : 1
5224 },
5225 {
5226 "name" : "notify_cp",
5227 "bitwidth" : 1
ersuneetsinghe326c722021-03-25 21:17:29 -03005228 }
5229 ],
5230 "primitives" : [
5231 {
5232 "op" : "assign",
5233 "parameters" : [
5234 {
5235 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005236 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5237 },
5238 {
5239 "type" : "expression",
5240 "value" : {
5241 "type" : "expression",
5242 "value" : {
5243 "op" : "b2d",
5244 "left" : null,
5245 "right" : {
5246 "type" : "expression",
5247 "value" : {
5248 "op" : "!=",
5249 "left" : {
5250 "type" : "local",
5251 "value" : 0
5252 },
5253 "right" : {
5254 "type" : "hexstr",
5255 "value" : "0x00"
5256 }
5257 }
5258 }
5259 }
5260 }
5261 }
5262 ],
5263 "source_info" : {
5264 "filename" : "include/control/spgw.p4",
5265 "line" : 195,
5266 "column" : 34,
5267 "source_fragment" : "= (bool)drop; ..."
5268 }
5269 },
5270 {
5271 "op" : "assign",
5272 "parameters" : [
5273 {
5274 "type" : "field",
5275 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005276 },
5277 {
5278 "type" : "expression",
5279 "value" : {
5280 "type" : "expression",
5281 "value" : {
5282 "op" : "b2d",
5283 "left" : null,
5284 "right" : {
5285 "type" : "expression",
5286 "value" : {
5287 "op" : "!=",
5288 "left" : {
5289 "type" : "local",
5290 "value" : 0
5291 },
5292 "right" : {
5293 "type" : "hexstr",
5294 "value" : "0x00"
5295 }
5296 }
5297 }
5298 }
5299 }
5300 }
5301 ],
5302 "source_info" : {
5303 "filename" : "include/control/spgw.p4",
5304 "line" : 196,
ersuneetsinghe326c722021-03-25 21:17:29 -03005305 "column" : 28,
5306 "source_fragment" : "= (bool)drop; ..."
5307 }
5308 },
5309 {
5310 "op" : "assign",
5311 "parameters" : [
5312 {
5313 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005314 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005315 },
5316 {
5317 "type" : "expression",
5318 "value" : {
5319 "type" : "expression",
5320 "value" : {
5321 "op" : "b2d",
5322 "left" : null,
5323 "right" : {
5324 "type" : "expression",
5325 "value" : {
5326 "op" : "!=",
5327 "left" : {
5328 "type" : "local",
5329 "value" : 1
5330 },
5331 "right" : {
5332 "type" : "hexstr",
5333 "value" : "0x00"
5334 }
5335 }
5336 }
5337 }
5338 }
5339 }
5340 ],
5341 "source_info" : {
5342 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005343 "line" : 197,
ersuneetsinghe326c722021-03-25 21:17:29 -03005344 "column" : 36,
5345 "source_fragment" : "= (bool)notify_cp; ..."
5346 }
5347 }
5348 ]
5349 },
5350 {
5351 "name" : "FabricIngress.spgw.load_tunnel_far",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005352 "id" : 45,
ersuneetsinghe326c722021-03-25 21:17:29 -03005353 "runtime_data" : [
5354 {
5355 "name" : "drop",
5356 "bitwidth" : 1
5357 },
5358 {
5359 "name" : "notify_cp",
5360 "bitwidth" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005361 },
5362 {
5363 "name" : "tunnel_src_port",
5364 "bitwidth" : 16
5365 },
5366 {
5367 "name" : "tunnel_src_addr",
5368 "bitwidth" : 32
5369 },
5370 {
5371 "name" : "tunnel_dst_addr",
5372 "bitwidth" : 32
5373 },
5374 {
5375 "name" : "teid",
5376 "bitwidth" : 32
5377 }
5378 ],
Robert MacDavidde12b982020-07-15 18:38:59 -07005379 "primitives" : [
5380 {
5381 "op" : "assign",
5382 "parameters" : [
5383 {
5384 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005385 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5386 },
5387 {
5388 "type" : "expression",
5389 "value" : {
5390 "type" : "expression",
5391 "value" : {
5392 "op" : "b2d",
5393 "left" : null,
5394 "right" : {
5395 "type" : "expression",
5396 "value" : {
5397 "op" : "!=",
5398 "left" : {
5399 "type" : "local",
5400 "value" : 0
5401 },
5402 "right" : {
5403 "type" : "hexstr",
5404 "value" : "0x00"
5405 }
5406 }
5407 }
5408 }
5409 }
5410 }
5411 ],
5412 "source_info" : {
5413 "filename" : "include/control/spgw.p4",
5414 "line" : 206,
5415 "column" : 34,
5416 "source_fragment" : "= (bool)drop; ..."
5417 }
5418 },
5419 {
5420 "op" : "assign",
5421 "parameters" : [
5422 {
5423 "type" : "field",
5424 "value" : ["scalars", "userMetadata._skip_next7"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005425 },
5426 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005427 "type" : "expression",
5428 "value" : {
5429 "type" : "expression",
5430 "value" : {
5431 "op" : "b2d",
5432 "left" : null,
5433 "right" : {
5434 "type" : "expression",
5435 "value" : {
5436 "op" : "!=",
5437 "left" : {
5438 "type" : "local",
5439 "value" : 0
5440 },
5441 "right" : {
5442 "type" : "hexstr",
5443 "value" : "0x00"
5444 }
5445 }
5446 }
5447 }
5448 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005449 }
5450 ],
5451 "source_info" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005452 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005453 "line" : 207,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005454 "column" : 28,
5455 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005456 }
5457 },
5458 {
5459 "op" : "assign",
5460 "parameters" : [
5461 {
5462 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005463 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005464 },
5465 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005466 "type" : "expression",
5467 "value" : {
5468 "type" : "expression",
5469 "value" : {
5470 "op" : "b2d",
5471 "left" : null,
5472 "right" : {
5473 "type" : "expression",
5474 "value" : {
5475 "op" : "!=",
5476 "left" : {
5477 "type" : "local",
5478 "value" : 1
5479 },
5480 "right" : {
5481 "type" : "hexstr",
5482 "value" : "0x00"
5483 }
5484 }
5485 }
5486 }
5487 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005488 }
5489 ],
5490 "source_info" : {
5491 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005492 "line" : 208,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005493 "column" : 36,
5494 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005495 }
5496 },
5497 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005498 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005499 "parameters" : [
5500 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005501 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005502 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005503 },
5504 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005505 "type" : "expression",
5506 "value" : {
5507 "type" : "expression",
5508 "value" : {
5509 "op" : "b2d",
5510 "left" : null,
5511 "right" : {
5512 "type" : "bool",
5513 "value" : true
5514 }
5515 }
5516 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005517 }
5518 ],
5519 "source_info" : {
5520 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005521 "line" : 210,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005522 "column" : 40,
5523 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005524 }
5525 },
5526 {
5527 "op" : "assign",
5528 "parameters" : [
5529 {
5530 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005531 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005532 },
5533 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005534 "type" : "runtime_data",
5535 "value" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005536 }
5537 ],
5538 "source_info" : {
5539 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005540 "line" : 211,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005541 "column" : 28,
5542 "source_fragment" : "= teid; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005543 }
5544 },
5545 {
5546 "op" : "assign",
5547 "parameters" : [
5548 {
5549 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005550 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005551 },
5552 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005553 "type" : "runtime_data",
5554 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005555 }
5556 ],
5557 "source_info" : {
5558 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005559 "line" : 212,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005560 "column" : 39,
5561 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005562 }
5563 },
5564 {
5565 "op" : "assign",
5566 "parameters" : [
5567 {
5568 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005569 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005570 },
5571 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005572 "type" : "runtime_data",
5573 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005574 }
5575 ],
5576 "source_info" : {
5577 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005578 "line" : 213,
5579 "column" : 39,
5580 "source_fragment" : "= tunnel_src_addr; ..."
5581 }
5582 },
5583 {
5584 "op" : "assign",
5585 "parameters" : [
5586 {
5587 "type" : "field",
5588 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5589 },
5590 {
5591 "type" : "runtime_data",
5592 "value" : 4
5593 }
5594 ],
5595 "source_info" : {
5596 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005597 "line" : 214,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005598 "column" : 39,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005599 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005600 }
5601 },
5602 {
5603 "op" : "assign",
5604 "parameters" : [
5605 {
5606 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005607 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005608 },
5609 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005610 "type" : "runtime_data",
5611 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005612 }
5613 ],
5614 "source_info" : {
5615 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005616 "line" : 216,
Robert MacDavidde12b982020-07-15 18:38:59 -07005617 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005618 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005619 }
5620 },
5621 {
5622 "op" : "assign",
5623 "parameters" : [
5624 {
5625 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005626 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005627 },
5628 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005629 "type" : "runtime_data",
5630 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07005631 }
5632 ],
5633 "source_info" : {
5634 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005635 "line" : 217,
Robert MacDavidde12b982020-07-15 18:38:59 -07005636 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005637 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005638 }
5639 },
5640 {
5641 "op" : "assign",
5642 "parameters" : [
5643 {
5644 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005645 "value" : ["scalars", "userMetadata._l4_sport13"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005646 },
5647 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005648 "type" : "runtime_data",
5649 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005650 }
5651 ],
5652 "source_info" : {
5653 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005654 "line" : 218,
Robert MacDavidde12b982020-07-15 18:38:59 -07005655 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005656 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005657 }
5658 },
5659 {
5660 "op" : "assign",
5661 "parameters" : [
5662 {
5663 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005664 "value" : ["scalars", "userMetadata._l4_dport14"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005665 },
5666 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005667 "type" : "hexstr",
5668 "value" : "0x0868"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005669 }
5670 ],
5671 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005672 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005673 "line" : 219,
ersuneetsinghe326c722021-03-25 21:17:29 -03005674 "column" : 27,
5675 "source_fragment" : "= 2152; ..."
5676 }
5677 }
5678 ]
5679 },
5680 {
5681 "name" : "FabricIngress.spgw.load_dbuf_far",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005682 "id" : 46,
ersuneetsinghe326c722021-03-25 21:17:29 -03005683 "runtime_data" : [
5684 {
5685 "name" : "drop",
5686 "bitwidth" : 1
5687 },
5688 {
5689 "name" : "notify_cp",
5690 "bitwidth" : 1
5691 },
5692 {
5693 "name" : "tunnel_src_port",
5694 "bitwidth" : 16
5695 },
5696 {
5697 "name" : "tunnel_src_addr",
5698 "bitwidth" : 32
5699 },
5700 {
5701 "name" : "tunnel_dst_addr",
5702 "bitwidth" : 32
5703 },
5704 {
5705 "name" : "teid",
5706 "bitwidth" : 32
5707 }
5708 ],
5709 "primitives" : [
5710 {
5711 "op" : "assign",
5712 "parameters" : [
5713 {
5714 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005715 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5716 },
5717 {
5718 "type" : "expression",
5719 "value" : {
5720 "type" : "expression",
5721 "value" : {
5722 "op" : "b2d",
5723 "left" : null,
5724 "right" : {
5725 "type" : "expression",
5726 "value" : {
5727 "op" : "!=",
5728 "left" : {
5729 "type" : "local",
5730 "value" : 0
5731 },
5732 "right" : {
5733 "type" : "hexstr",
5734 "value" : "0x00"
5735 }
5736 }
5737 }
5738 }
5739 }
5740 }
5741 ],
5742 "source_info" : {
5743 "filename" : "include/control/spgw.p4",
5744 "line" : 206,
5745 "column" : 34,
5746 "source_fragment" : "= (bool)drop; ..."
5747 }
5748 },
5749 {
5750 "op" : "assign",
5751 "parameters" : [
5752 {
5753 "type" : "field",
5754 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005755 },
5756 {
5757 "type" : "expression",
5758 "value" : {
5759 "type" : "expression",
5760 "value" : {
5761 "op" : "b2d",
5762 "left" : null,
5763 "right" : {
5764 "type" : "expression",
5765 "value" : {
5766 "op" : "!=",
5767 "left" : {
5768 "type" : "local",
5769 "value" : 0
5770 },
5771 "right" : {
5772 "type" : "hexstr",
5773 "value" : "0x00"
5774 }
5775 }
5776 }
5777 }
5778 }
5779 }
5780 ],
5781 "source_info" : {
5782 "filename" : "include/control/spgw.p4",
5783 "line" : 207,
ersuneetsinghe326c722021-03-25 21:17:29 -03005784 "column" : 28,
5785 "source_fragment" : "= (bool)drop; ..."
5786 }
5787 },
5788 {
5789 "op" : "assign",
5790 "parameters" : [
5791 {
5792 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005793 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005794 },
5795 {
5796 "type" : "expression",
5797 "value" : {
5798 "type" : "expression",
5799 "value" : {
5800 "op" : "b2d",
5801 "left" : null,
5802 "right" : {
5803 "type" : "expression",
5804 "value" : {
5805 "op" : "!=",
5806 "left" : {
5807 "type" : "local",
5808 "value" : 1
5809 },
5810 "right" : {
5811 "type" : "hexstr",
5812 "value" : "0x00"
5813 }
5814 }
5815 }
5816 }
5817 }
5818 }
5819 ],
5820 "source_info" : {
5821 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005822 "line" : 208,
ersuneetsinghe326c722021-03-25 21:17:29 -03005823 "column" : 36,
5824 "source_fragment" : "= (bool)notify_cp; ..."
5825 }
5826 },
5827 {
5828 "op" : "assign",
5829 "parameters" : [
5830 {
5831 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005832 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005833 },
5834 {
5835 "type" : "expression",
5836 "value" : {
5837 "type" : "expression",
5838 "value" : {
5839 "op" : "b2d",
5840 "left" : null,
5841 "right" : {
5842 "type" : "bool",
5843 "value" : true
5844 }
5845 }
5846 }
5847 }
5848 ],
5849 "source_info" : {
5850 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005851 "line" : 210,
ersuneetsinghe326c722021-03-25 21:17:29 -03005852 "column" : 40,
5853 "source_fragment" : "= true; ..."
5854 }
5855 },
5856 {
5857 "op" : "assign",
5858 "parameters" : [
5859 {
5860 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005861 "value" : ["scalars", "userMetadata._spgw_teid20"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005862 },
5863 {
5864 "type" : "runtime_data",
5865 "value" : 5
5866 }
5867 ],
5868 "source_info" : {
5869 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005870 "line" : 211,
ersuneetsinghe326c722021-03-25 21:17:29 -03005871 "column" : 28,
5872 "source_fragment" : "= teid; ..."
5873 }
5874 },
5875 {
5876 "op" : "assign",
5877 "parameters" : [
5878 {
5879 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005880 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005881 },
5882 {
5883 "type" : "runtime_data",
5884 "value" : 2
5885 }
5886 ],
5887 "source_info" : {
5888 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005889 "line" : 212,
ersuneetsinghe326c722021-03-25 21:17:29 -03005890 "column" : 39,
5891 "source_fragment" : "= tunnel_src_port; ..."
5892 }
5893 },
5894 {
5895 "op" : "assign",
5896 "parameters" : [
5897 {
5898 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005899 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005900 },
5901 {
5902 "type" : "runtime_data",
5903 "value" : 3
5904 }
5905 ],
5906 "source_info" : {
5907 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005908 "line" : 213,
5909 "column" : 39,
5910 "source_fragment" : "= tunnel_src_addr; ..."
5911 }
5912 },
5913 {
5914 "op" : "assign",
5915 "parameters" : [
5916 {
5917 "type" : "field",
5918 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5919 },
5920 {
5921 "type" : "runtime_data",
5922 "value" : 4
5923 }
5924 ],
5925 "source_info" : {
5926 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005927 "line" : 214,
5928 "column" : 39,
ersuneetsinghe326c722021-03-25 21:17:29 -03005929 "source_fragment" : "= tunnel_dst_addr; ..."
5930 }
5931 },
5932 {
5933 "op" : "assign",
5934 "parameters" : [
5935 {
5936 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005937 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005938 },
5939 {
5940 "type" : "runtime_data",
5941 "value" : 3
5942 }
5943 ],
5944 "source_info" : {
5945 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005946 "line" : 216,
ersuneetsinghe326c722021-03-25 21:17:29 -03005947 "column" : 32,
5948 "source_fragment" : "= tunnel_src_addr; ..."
5949 }
5950 },
5951 {
5952 "op" : "assign",
5953 "parameters" : [
5954 {
5955 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005956 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005957 },
5958 {
5959 "type" : "runtime_data",
5960 "value" : 4
5961 }
5962 ],
5963 "source_info" : {
5964 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005965 "line" : 217,
ersuneetsinghe326c722021-03-25 21:17:29 -03005966 "column" : 32,
5967 "source_fragment" : "= tunnel_dst_addr; ..."
5968 }
5969 },
5970 {
5971 "op" : "assign",
5972 "parameters" : [
5973 {
5974 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005975 "value" : ["scalars", "userMetadata._l4_sport13"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005976 },
5977 {
5978 "type" : "runtime_data",
5979 "value" : 2
5980 }
5981 ],
5982 "source_info" : {
5983 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005984 "line" : 218,
ersuneetsinghe326c722021-03-25 21:17:29 -03005985 "column" : 27,
5986 "source_fragment" : "= tunnel_src_port; ..."
5987 }
5988 },
5989 {
5990 "op" : "assign",
5991 "parameters" : [
5992 {
5993 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005994 "value" : ["scalars", "userMetadata._l4_dport14"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005995 },
5996 {
5997 "type" : "hexstr",
5998 "value" : "0x0868"
5999 }
6000 ],
6001 "source_info" : {
6002 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006003 "line" : 219,
Robert MacDavidde12b982020-07-15 18:38:59 -07006004 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006005 "source_fragment" : "= 2152; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006006 }
6007 },
6008 {
6009 "op" : "assign",
6010 "parameters" : [
6011 {
6012 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006013 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006014 },
6015 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006016 "type" : "expression",
6017 "value" : {
6018 "type" : "expression",
6019 "value" : {
6020 "op" : "b2d",
6021 "left" : null,
6022 "right" : {
6023 "type" : "bool",
6024 "value" : true
6025 }
6026 }
6027 }
Robert MacDavidde12b982020-07-15 18:38:59 -07006028 }
6029 ],
6030 "source_info" : {
6031 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006032 "line" : 230,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006033 "column" : 43,
6034 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006035 }
6036 }
6037 ]
6038 },
6039 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006040 "name" : "packetio25",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006041 "id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006042 "runtime_data" : [],
6043 "primitives" : [
6044 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006045 "op" : "assign",
6046 "parameters" : [
6047 {
6048 "type" : "field",
6049 "value" : ["standard_metadata", "egress_spec"]
6050 },
6051 {
6052 "type" : "field",
6053 "value" : ["packet_out", "egress_port"]
6054 }
6055 ],
6056 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006057 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006058 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006059 "column" : 12,
6060 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
6061 }
6062 },
6063 {
6064 "op" : "remove_header",
6065 "parameters" : [
6066 {
6067 "type" : "header",
6068 "value" : "packet_out"
6069 }
6070 ],
6071 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006072 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006073 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006074 "column" : 12,
6075 "source_fragment" : "hdr.packet_out.setInvalid()"
6076 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006077 },
6078 {
6079 "op" : "assign",
6080 "parameters" : [
6081 {
6082 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006083 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006084 },
6085 {
6086 "type" : "expression",
6087 "value" : {
6088 "type" : "expression",
6089 "value" : {
6090 "op" : "b2d",
6091 "left" : null,
6092 "right" : {
6093 "type" : "bool",
6094 "value" : true
6095 }
6096 }
6097 }
6098 }
6099 ],
6100 "source_info" : {
6101 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006102 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006103 "column" : 53,
6104 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006105 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006106 },
6107 {
6108 "op" : "exit",
6109 "parameters" : [],
6110 "source_info" : {
6111 "filename" : "include/control/packetio.p4",
6112 "line" : 29,
6113 "column" : 12,
6114 "source_fragment" : "exit"
6115 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006116 }
6117 ]
6118 },
6119 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006120 "name" : "spgw265",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006121 "id" : 48,
Robert MacDavidde12b982020-07-15 18:38:59 -07006122 "runtime_data" : [],
6123 "primitives" : [
6124 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006125 "op" : "count",
6126 "parameters" : [
6127 {
6128 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006129 "value" : "FabricIngress.spgw.pdr_counter"
Robert MacDavidde12b982020-07-15 18:38:59 -07006130 },
6131 {
6132 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006133 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006134 }
6135 ],
6136 "source_info" : {
6137 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006138 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006139 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07006140 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
6141 }
6142 }
6143 ]
6144 },
6145 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006146 "name" : "spgw282",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006147 "id" : 49,
Robert MacDavidde12b982020-07-15 18:38:59 -07006148 "runtime_data" : [],
6149 "primitives" : [
6150 {
6151 "op" : "assign",
6152 "parameters" : [
6153 {
6154 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006155 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006156 },
6157 {
6158 "type" : "field",
6159 "value" : ["ipv4", "total_len"]
6160 }
6161 ],
6162 "source_info" : {
6163 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006164 "line" : 282,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006165 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07006166 "source_fragment" : "= hdr.ipv4.total_len; ..."
6167 }
6168 }
6169 ]
6170 },
6171 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006172 "name" : "filtering113",
6173 "id" : 50,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006174 "runtime_data" : [],
6175 "primitives" : [
6176 {
6177 "op" : "assign",
6178 "parameters" : [
6179 {
6180 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006181 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006182 },
6183 {
6184 "type" : "field",
6185 "value" : ["vlan_tag", "vlan_id"]
6186 }
6187 ],
6188 "source_info" : {
6189 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006190 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006191 "column" : 36,
6192 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006193 }
6194 },
6195 {
6196 "op" : "assign",
6197 "parameters" : [
6198 {
6199 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006200 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006201 },
6202 {
6203 "type" : "field",
6204 "value" : ["vlan_tag", "pri"]
6205 }
6206 ],
6207 "source_info" : {
6208 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006209 "line" : 114,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006210 "column" : 37,
6211 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006212 }
6213 },
6214 {
6215 "op" : "assign",
6216 "parameters" : [
6217 {
6218 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006219 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006220 },
6221 {
6222 "type" : "field",
6223 "value" : ["vlan_tag", "cfi"]
6224 }
6225 ],
6226 "source_info" : {
6227 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006228 "line" : 115,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006229 "column" : 37,
6230 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006231 }
6232 }
6233 ]
6234 },
6235 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006236 "name" : "filtering129",
6237 "id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006238 "runtime_data" : [],
6239 "primitives" : [
6240 {
6241 "op" : "assign",
6242 "parameters" : [
6243 {
6244 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006245 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006246 },
6247 {
6248 "type" : "hexstr",
6249 "value" : "0x41"
6250 }
6251 ],
6252 "source_info" : {
6253 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006254 "line" : 129,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006255 "column" : 37,
6256 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006257 }
6258 }
6259 ]
6260 },
6261 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006262 "name" : "acl102",
6263 "id" : 52,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006264 "runtime_data" : [],
6265 "primitives" : [
6266 {
6267 "op" : "assign",
6268 "parameters" : [
6269 {
6270 "type" : "field",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006271 "value" : ["scalars", "acl_l4_sport"]
6272 },
6273 {
6274 "type" : "field",
6275 "value" : ["inner_tcp", "sport"]
6276 }
6277 ],
6278 "source_info" : {
6279 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006280 "line" : 102,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006281 "column" : 16,
6282 "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
6283 }
6284 },
6285 {
6286 "op" : "assign",
6287 "parameters" : [
6288 {
6289 "type" : "field",
6290 "value" : ["scalars", "acl_l4_dport"]
6291 },
6292 {
6293 "type" : "field",
6294 "value" : ["inner_tcp", "dport"]
6295 }
6296 ],
6297 "source_info" : {
6298 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006299 "line" : 103,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006300 "column" : 16,
6301 "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
6302 }
6303 }
6304 ]
6305 },
6306 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006307 "name" : "acl105",
6308 "id" : 53,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006309 "runtime_data" : [],
6310 "primitives" : [
6311 {
6312 "op" : "assign",
6313 "parameters" : [
6314 {
6315 "type" : "field",
6316 "value" : ["scalars", "acl_l4_sport"]
6317 },
6318 {
6319 "type" : "field",
6320 "value" : ["inner_udp", "sport"]
6321 }
6322 ],
6323 "source_info" : {
6324 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006325 "line" : 105,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006326 "column" : 16,
6327 "source_fragment" : "l4_sport = hdr.inner_udp.sport"
6328 }
6329 },
6330 {
6331 "op" : "assign",
6332 "parameters" : [
6333 {
6334 "type" : "field",
6335 "value" : ["scalars", "acl_l4_dport"]
6336 },
6337 {
6338 "type" : "field",
6339 "value" : ["inner_udp", "dport"]
6340 }
6341 ],
6342 "source_info" : {
6343 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006344 "line" : 106,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006345 "column" : 16,
6346 "source_fragment" : "l4_dport = hdr.inner_udp.dport"
6347 }
6348 }
6349 ]
6350 },
6351 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006352 "name" : "acl98",
6353 "id" : 54,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006354 "runtime_data" : [],
6355 "primitives" : [
6356 {
6357 "op" : "assign",
6358 "parameters" : [
6359 {
6360 "type" : "field",
6361 "value" : ["scalars", "acl_ipv4_src"]
6362 },
6363 {
6364 "type" : "field",
6365 "value" : ["inner_ipv4", "src_addr"]
6366 }
6367 ],
6368 "source_info" : {
6369 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006370 "line" : 98,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006371 "column" : 12,
6372 "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
6373 }
6374 },
6375 {
6376 "op" : "assign",
6377 "parameters" : [
6378 {
6379 "type" : "field",
6380 "value" : ["scalars", "acl_ipv4_dst"]
6381 },
6382 {
6383 "type" : "field",
6384 "value" : ["inner_ipv4", "dst_addr"]
6385 }
6386 ],
6387 "source_info" : {
6388 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006389 "line" : 99,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006390 "column" : 12,
6391 "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
6392 }
6393 },
6394 {
6395 "op" : "assign",
6396 "parameters" : [
6397 {
6398 "type" : "field",
6399 "value" : ["scalars", "acl_ip_proto"]
6400 },
6401 {
6402 "type" : "field",
6403 "value" : ["inner_ipv4", "protocol"]
6404 }
6405 ],
6406 "source_info" : {
6407 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006408 "line" : 100,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006409 "column" : 12,
6410 "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
6411 }
6412 }
6413 ]
6414 },
6415 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006416 "name" : "acl113",
6417 "id" : 55,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006418 "runtime_data" : [],
6419 "primitives" : [
6420 {
6421 "op" : "assign",
6422 "parameters" : [
6423 {
6424 "type" : "field",
6425 "value" : ["scalars", "acl_l4_sport"]
6426 },
6427 {
6428 "type" : "field",
6429 "value" : ["tcp", "sport"]
6430 }
6431 ],
6432 "source_info" : {
6433 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006434 "line" : 113,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006435 "column" : 16,
6436 "source_fragment" : "l4_sport = hdr.tcp.sport"
6437 }
6438 },
6439 {
6440 "op" : "assign",
6441 "parameters" : [
6442 {
6443 "type" : "field",
6444 "value" : ["scalars", "acl_l4_dport"]
6445 },
6446 {
6447 "type" : "field",
6448 "value" : ["tcp", "dport"]
6449 }
6450 ],
6451 "source_info" : {
6452 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006453 "line" : 114,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006454 "column" : 16,
6455 "source_fragment" : "l4_dport = hdr.tcp.dport"
6456 }
6457 }
6458 ]
6459 },
6460 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006461 "name" : "acl116",
6462 "id" : 56,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006463 "runtime_data" : [],
6464 "primitives" : [
6465 {
6466 "op" : "assign",
6467 "parameters" : [
6468 {
6469 "type" : "field",
6470 "value" : ["scalars", "acl_l4_sport"]
6471 },
6472 {
6473 "type" : "field",
6474 "value" : ["udp", "sport"]
6475 }
6476 ],
6477 "source_info" : {
6478 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006479 "line" : 116,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006480 "column" : 16,
6481 "source_fragment" : "l4_sport = hdr.udp.sport"
6482 }
6483 },
6484 {
6485 "op" : "assign",
6486 "parameters" : [
6487 {
6488 "type" : "field",
6489 "value" : ["scalars", "acl_l4_dport"]
6490 },
6491 {
6492 "type" : "field",
6493 "value" : ["udp", "dport"]
6494 }
6495 ],
6496 "source_info" : {
6497 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006498 "line" : 117,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006499 "column" : 16,
6500 "source_fragment" : "l4_dport = hdr.udp.dport"
6501 }
6502 }
6503 ]
6504 },
6505 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006506 "name" : "acl109",
6507 "id" : 57,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006508 "runtime_data" : [],
6509 "primitives" : [
6510 {
6511 "op" : "assign",
6512 "parameters" : [
6513 {
6514 "type" : "field",
6515 "value" : ["scalars", "acl_ipv4_src"]
6516 },
6517 {
6518 "type" : "field",
6519 "value" : ["ipv4", "src_addr"]
6520 }
6521 ],
6522 "source_info" : {
6523 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006524 "line" : 109,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006525 "column" : 12,
6526 "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
6527 }
6528 },
6529 {
6530 "op" : "assign",
6531 "parameters" : [
6532 {
6533 "type" : "field",
6534 "value" : ["scalars", "acl_ipv4_dst"]
6535 },
6536 {
6537 "type" : "field",
6538 "value" : ["ipv4", "dst_addr"]
6539 }
6540 ],
6541 "source_info" : {
6542 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006543 "line" : 110,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006544 "column" : 12,
6545 "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
6546 }
6547 },
6548 {
6549 "op" : "assign",
6550 "parameters" : [
6551 {
6552 "type" : "field",
6553 "value" : ["scalars", "acl_ip_proto"]
6554 },
6555 {
6556 "type" : "field",
6557 "value" : ["ipv4", "protocol"]
6558 }
6559 ],
6560 "source_info" : {
6561 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006562 "line" : 111,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006563 "column" : 12,
6564 "source_fragment" : "ip_proto = hdr.ipv4.protocol"
6565 }
6566 }
6567 ]
6568 },
6569 {
6570 "name" : "acl27",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006571 "id" : 58,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006572 "runtime_data" : [],
6573 "primitives" : [
6574 {
6575 "op" : "assign",
6576 "parameters" : [
6577 {
6578 "type" : "field",
6579 "value" : ["scalars", "acl_ipv4_src"]
6580 },
6581 {
6582 "type" : "hexstr",
6583 "value" : "0x00000000"
6584 }
6585 ],
6586 "source_info" : {
6587 "filename" : "include/control/acl.p4",
6588 "line" : 27,
6589 "column" : 4,
6590 "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
6591 }
6592 },
6593 {
6594 "op" : "assign",
6595 "parameters" : [
6596 {
6597 "type" : "field",
6598 "value" : ["scalars", "acl_ipv4_dst"]
6599 },
6600 {
6601 "type" : "hexstr",
6602 "value" : "0x00000000"
6603 }
6604 ],
6605 "source_info" : {
6606 "filename" : "include/control/acl.p4",
6607 "line" : 28,
6608 "column" : 4,
6609 "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
6610 }
6611 },
6612 {
6613 "op" : "assign",
6614 "parameters" : [
6615 {
6616 "type" : "field",
6617 "value" : ["scalars", "acl_ip_proto"]
6618 },
6619 {
6620 "type" : "hexstr",
6621 "value" : "0x00"
6622 }
6623 ],
6624 "source_info" : {
6625 "filename" : "include/control/acl.p4",
6626 "line" : 29,
6627 "column" : 4,
6628 "source_fragment" : "bit<8> ip_proto = 0;"
6629 }
6630 },
6631 {
6632 "op" : "assign",
6633 "parameters" : [
6634 {
6635 "type" : "field",
6636 "value" : ["scalars", "acl_l4_sport"]
6637 },
6638 {
6639 "type" : "hexstr",
6640 "value" : "0x0000"
6641 }
6642 ],
6643 "source_info" : {
6644 "filename" : "include/control/acl.p4",
6645 "line" : 30,
6646 "column" : 4,
6647 "source_fragment" : "l4_port_t l4_sport = 0;"
6648 }
6649 },
6650 {
6651 "op" : "assign",
6652 "parameters" : [
6653 {
6654 "type" : "field",
6655 "value" : ["scalars", "acl_l4_dport"]
6656 },
6657 {
6658 "type" : "hexstr",
6659 "value" : "0x0000"
6660 }
6661 ],
6662 "source_info" : {
6663 "filename" : "include/control/acl.p4",
6664 "line" : 31,
6665 "column" : 4,
6666 "source_fragment" : "l4_port_t l4_dport = 0;"
6667 }
6668 }
6669 ]
6670 },
6671 {
6672 "name" : "port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006673 "id" : 59,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006674 "runtime_data" : [],
6675 "primitives" : [
6676 {
6677 "op" : "assign",
6678 "parameters" : [
6679 {
6680 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006681 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006682 },
6683 {
6684 "type" : "expression",
6685 "value" : {
6686 "type" : "expression",
6687 "value" : {
6688 "op" : "&",
6689 "left" : {
6690 "type" : "field",
6691 "value" : ["standard_metadata", "egress_spec"]
6692 },
6693 "right" : {
6694 "type" : "hexstr",
6695 "value" : "0xffffffff"
6696 }
6697 }
6698 }
6699 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006700 ],
6701 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006702 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006703 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006704 "column" : 38,
6705 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
6706 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006707 },
6708 {
6709 "op" : "count",
6710 "parameters" : [
6711 {
6712 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08006713 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006714 },
6715 {
6716 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006717 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006718 }
6719 ],
6720 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006721 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006722 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006723 "column" : 12,
6724 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
6725 }
6726 }
6727 ]
6728 },
6729 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006730 "name" : "port_counter34",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006731 "id" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006732 "runtime_data" : [],
6733 "primitives" : [
6734 {
6735 "op" : "assign",
6736 "parameters" : [
6737 {
6738 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006739 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006740 },
6741 {
6742 "type" : "expression",
6743 "value" : {
6744 "type" : "expression",
6745 "value" : {
6746 "op" : "&",
6747 "left" : {
6748 "type" : "field",
6749 "value" : ["standard_metadata", "ingress_port"]
6750 },
6751 "right" : {
6752 "type" : "hexstr",
6753 "value" : "0xffffffff"
6754 }
6755 }
6756 }
6757 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006758 ],
6759 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006760 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006761 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006762 "column" : 39,
6763 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
6764 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006765 },
6766 {
6767 "op" : "count",
6768 "parameters" : [
6769 {
6770 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08006771 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006772 },
6773 {
6774 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006775 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006776 }
6777 ],
6778 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006779 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006780 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006781 "column" : 12,
6782 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
6783 }
6784 }
6785 ]
6786 },
6787 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006788 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006789 "id" : 61,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006790 "runtime_data" : [],
6791 "primitives" : [
6792 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006793 "op" : "remove_header",
6794 "parameters" : [
6795 {
6796 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006797 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006798 }
6799 ],
6800 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006801 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006802 "line" : 204,
Yi Tseng47eac892018-07-11 02:17:04 +08006803 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006804 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08006805 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006806 },
Yi Tseng47eac892018-07-11 02:17:04 +08006807 {
6808 "op" : "assign",
6809 "parameters" : [
6810 {
6811 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006812 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08006813 },
6814 {
6815 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006816 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006817 }
6818 ],
6819 "source_info" : {
6820 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006821 "line" : 206,
Daniele Moro5a2de712019-09-24 14:34:07 -07006822 "column" : 8,
6823 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006824 }
6825 }
6826 ]
6827 },
6828 {
6829 "name" : "FabricEgress.egress_next.set_mpls",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006830 "id" : 62,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006831 "runtime_data" : [],
6832 "primitives" : [
6833 {
6834 "op" : "add_header",
6835 "parameters" : [
6836 {
6837 "type" : "header",
6838 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08006839 }
6840 ],
6841 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006842 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006843 "line" : 211,
Yi Tseng47eac892018-07-11 02:17:04 +08006844 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006845 "source_fragment" : "hdr.mpls.setValid()"
6846 }
6847 },
6848 {
6849 "op" : "assign",
6850 "parameters" : [
6851 {
6852 "type" : "field",
6853 "value" : ["mpls", "label"]
6854 },
6855 {
6856 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006857 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006858 }
6859 ],
6860 "source_info" : {
6861 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006862 "line" : 212,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006863 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006864 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006865 }
6866 },
6867 {
6868 "op" : "assign",
6869 "parameters" : [
6870 {
6871 "type" : "field",
6872 "value" : ["mpls", "tc"]
6873 },
6874 {
6875 "type" : "hexstr",
6876 "value" : "0x00"
6877 }
6878 ],
6879 "source_info" : {
6880 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006881 "line" : 213,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006882 "column" : 8,
6883 "source_fragment" : "hdr.mpls.tc = 3w0"
6884 }
6885 },
6886 {
6887 "op" : "assign",
6888 "parameters" : [
6889 {
6890 "type" : "field",
6891 "value" : ["mpls", "bos"]
6892 },
6893 {
6894 "type" : "hexstr",
6895 "value" : "0x01"
6896 }
6897 ],
6898 "source_info" : {
6899 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006900 "line" : 214,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006901 "column" : 8,
6902 "source_fragment" : "hdr.mpls.bos = 1w1"
6903 }
6904 },
6905 {
6906 "op" : "assign",
6907 "parameters" : [
6908 {
6909 "type" : "field",
6910 "value" : ["mpls", "ttl"]
6911 },
6912 {
6913 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006914 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006915 }
6916 ],
6917 "source_info" : {
6918 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006919 "line" : 215,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006920 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006921 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006922 }
6923 },
6924 {
6925 "op" : "assign",
6926 "parameters" : [
6927 {
6928 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006929 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006930 },
6931 {
6932 "type" : "hexstr",
6933 "value" : "0x8847"
6934 }
6935 ],
6936 "source_info" : {
6937 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006938 "line" : 130,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006939 "column" : 31,
6940 "source_fragment" : "0x8847; ..."
6941 }
6942 }
6943 ]
6944 },
6945 {
6946 "name" : "FabricEgress.egress_next.push_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006947 "id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006948 "runtime_data" : [],
6949 "primitives" : [
6950 {
6951 "op" : "add_header",
6952 "parameters" : [
6953 {
6954 "type" : "header",
6955 "value" : "vlan_tag"
6956 }
6957 ],
6958 "source_info" : {
6959 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006960 "line" : 223,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006961 "column" : 8,
6962 "source_fragment" : "hdr.vlan_tag.setValid()"
6963 }
6964 },
6965 {
6966 "op" : "assign",
6967 "parameters" : [
6968 {
6969 "type" : "field",
6970 "value" : ["vlan_tag", "cfi"]
6971 },
6972 {
6973 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006974 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006975 }
6976 ],
6977 "source_info" : {
6978 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006979 "line" : 224,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006980 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006981 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006982 }
6983 },
6984 {
6985 "op" : "assign",
6986 "parameters" : [
6987 {
6988 "type" : "field",
6989 "value" : ["vlan_tag", "pri"]
6990 },
6991 {
6992 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006993 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006994 }
6995 ],
6996 "source_info" : {
6997 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006998 "line" : 225,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006999 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007000 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007001 }
7002 },
7003 {
7004 "op" : "assign",
7005 "parameters" : [
7006 {
7007 "type" : "field",
7008 "value" : ["vlan_tag", "eth_type"]
7009 },
7010 {
Daniele Moro5a2de712019-09-24 14:34:07 -07007011 "type" : "hexstr",
7012 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007013 }
7014 ],
7015 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07007016 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007017 "line" : 129,
Daniele Moro5a2de712019-09-24 14:34:07 -07007018 "column" : 31,
7019 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007020 }
7021 },
7022 {
7023 "op" : "assign",
7024 "parameters" : [
7025 {
7026 "type" : "field",
7027 "value" : ["vlan_tag", "vlan_id"]
7028 },
7029 {
7030 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007031 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007032 }
7033 ],
7034 "source_info" : {
7035 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007036 "line" : 227,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007037 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007038 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007039 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007040 }
7041 ]
7042 },
7043 {
7044 "name" : "FabricEgress.egress_next.pop_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007045 "id" : 64,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007046 "runtime_data" : [],
7047 "primitives" : [
7048 {
Yi Tseng47eac892018-07-11 02:17:04 +08007049 "op" : "remove_header",
7050 "parameters" : [
7051 {
7052 "type" : "header",
7053 "value" : "vlan_tag"
7054 }
7055 ],
7056 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007057 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007058 "line" : 256,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007059 "column" : 8,
7060 "source_fragment" : "hdr.vlan_tag.setInvalid()"
7061 }
7062 }
7063 ]
7064 },
7065 {
pierventre48e78822020-12-15 17:34:54 +01007066 "name" : "FabricEgress.egress_next.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007067 "id" : 65,
pierventre48e78822020-12-15 17:34:54 +01007068 "runtime_data" : [],
7069 "primitives" : [
7070 {
7071 "op" : "mark_to_drop",
7072 "parameters" : [
7073 {
7074 "type" : "header",
7075 "value" : "standard_metadata"
7076 }
7077 ],
7078 "source_info" : {
7079 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007080 "line" : 261,
pierventre48e78822020-12-15 17:34:54 +01007081 "column" : 8,
7082 "source_fragment" : "mark_to_drop(standard_metadata)"
7083 }
7084 }
7085 ]
7086 },
7087 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007088 "name" : "FabricEgress.spgw.gtpu_encap",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007089 "id" : 66,
Robert MacDavidde12b982020-07-15 18:38:59 -07007090 "runtime_data" : [],
7091 "primitives" : [
7092 {
7093 "op" : "add_header",
7094 "parameters" : [
7095 {
7096 "type" : "header",
7097 "value" : "gtpu_ipv4"
7098 }
7099 ],
7100 "source_info" : {
7101 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007102 "line" : 300,
Robert MacDavidde12b982020-07-15 18:38:59 -07007103 "column" : 8,
7104 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
7105 }
7106 },
7107 {
7108 "op" : "assign",
7109 "parameters" : [
7110 {
7111 "type" : "field",
7112 "value" : ["gtpu_ipv4", "version"]
7113 },
7114 {
7115 "type" : "hexstr",
7116 "value" : "0x04"
7117 }
7118 ],
7119 "source_info" : {
7120 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007121 "line" : 301,
Robert MacDavidde12b982020-07-15 18:38:59 -07007122 "column" : 8,
7123 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
7124 }
7125 },
7126 {
7127 "op" : "assign",
7128 "parameters" : [
7129 {
7130 "type" : "field",
7131 "value" : ["gtpu_ipv4", "ihl"]
7132 },
7133 {
7134 "type" : "hexstr",
7135 "value" : "0x05"
7136 }
7137 ],
7138 "source_info" : {
7139 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007140 "line" : 147,
Robert MacDavidde12b982020-07-15 18:38:59 -07007141 "column" : 28,
7142 "source_fragment" : "5; ..."
7143 }
7144 },
7145 {
7146 "op" : "assign",
7147 "parameters" : [
7148 {
7149 "type" : "field",
7150 "value" : ["gtpu_ipv4", "dscp"]
7151 },
7152 {
7153 "type" : "hexstr",
7154 "value" : "0x00"
7155 }
7156 ],
7157 "source_info" : {
7158 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007159 "line" : 303,
Robert MacDavidde12b982020-07-15 18:38:59 -07007160 "column" : 8,
7161 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
7162 }
7163 },
7164 {
7165 "op" : "assign",
7166 "parameters" : [
7167 {
7168 "type" : "field",
7169 "value" : ["gtpu_ipv4", "ecn"]
7170 },
7171 {
7172 "type" : "hexstr",
7173 "value" : "0x00"
7174 }
7175 ],
7176 "source_info" : {
7177 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007178 "line" : 304,
Robert MacDavidde12b982020-07-15 18:38:59 -07007179 "column" : 8,
7180 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
7181 }
7182 },
7183 {
7184 "op" : "assign",
7185 "parameters" : [
7186 {
7187 "type" : "field",
7188 "value" : ["gtpu_ipv4", "total_len"]
7189 },
7190 {
7191 "type" : "expression",
7192 "value" : {
7193 "type" : "expression",
7194 "value" : {
7195 "op" : "&",
7196 "left" : {
7197 "type" : "expression",
7198 "value" : {
7199 "op" : "+",
7200 "left" : {
7201 "type" : "field",
7202 "value" : ["ipv4", "total_len"]
7203 },
7204 "right" : {
7205 "type" : "hexstr",
7206 "value" : "0x0024"
7207 }
7208 }
7209 },
7210 "right" : {
7211 "type" : "hexstr",
7212 "value" : "0xffff"
7213 }
7214 }
7215 }
7216 }
7217 ],
7218 "source_info" : {
7219 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007220 "line" : 305,
Robert MacDavidde12b982020-07-15 18:38:59 -07007221 "column" : 8,
7222 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
7223 }
7224 },
7225 {
7226 "op" : "assign",
7227 "parameters" : [
7228 {
7229 "type" : "field",
7230 "value" : ["gtpu_ipv4", "identification"]
7231 },
7232 {
7233 "type" : "hexstr",
7234 "value" : "0x1513"
7235 }
7236 ],
7237 "source_info" : {
7238 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007239 "line" : 307,
Robert MacDavidde12b982020-07-15 18:38:59 -07007240 "column" : 8,
7241 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
7242 }
7243 },
7244 {
7245 "op" : "assign",
7246 "parameters" : [
7247 {
7248 "type" : "field",
7249 "value" : ["gtpu_ipv4", "flags"]
7250 },
7251 {
7252 "type" : "hexstr",
7253 "value" : "0x00"
7254 }
7255 ],
7256 "source_info" : {
7257 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007258 "line" : 308,
Robert MacDavidde12b982020-07-15 18:38:59 -07007259 "column" : 8,
7260 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
7261 }
7262 },
7263 {
7264 "op" : "assign",
7265 "parameters" : [
7266 {
7267 "type" : "field",
7268 "value" : ["gtpu_ipv4", "frag_offset"]
7269 },
7270 {
7271 "type" : "hexstr",
7272 "value" : "0x0000"
7273 }
7274 ],
7275 "source_info" : {
7276 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007277 "line" : 309,
Robert MacDavidde12b982020-07-15 18:38:59 -07007278 "column" : 8,
7279 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
7280 }
7281 },
7282 {
7283 "op" : "assign",
7284 "parameters" : [
7285 {
7286 "type" : "field",
7287 "value" : ["gtpu_ipv4", "ttl"]
7288 },
7289 {
7290 "type" : "hexstr",
7291 "value" : "0x40"
7292 }
7293 ],
7294 "source_info" : {
7295 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007296 "line" : 160,
Robert MacDavidde12b982020-07-15 18:38:59 -07007297 "column" : 32,
7298 "source_fragment" : "64; ..."
7299 }
7300 },
7301 {
7302 "op" : "assign",
7303 "parameters" : [
7304 {
7305 "type" : "field",
7306 "value" : ["gtpu_ipv4", "protocol"]
7307 },
7308 {
7309 "type" : "hexstr",
7310 "value" : "0x11"
7311 }
7312 ],
7313 "source_info" : {
7314 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007315 "line" : 144,
Robert MacDavidde12b982020-07-15 18:38:59 -07007316 "column" : 25,
7317 "source_fragment" : "17; ..."
7318 }
7319 },
7320 {
7321 "op" : "assign",
7322 "parameters" : [
7323 {
7324 "type" : "field",
7325 "value" : ["gtpu_ipv4", "src_addr"]
7326 },
7327 {
7328 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007329 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007330 }
7331 ],
7332 "source_info" : {
7333 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007334 "line" : 312,
Robert MacDavidde12b982020-07-15 18:38:59 -07007335 "column" : 8,
7336 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
7337 }
7338 },
7339 {
7340 "op" : "assign",
7341 "parameters" : [
7342 {
7343 "type" : "field",
7344 "value" : ["gtpu_ipv4", "dst_addr"]
7345 },
7346 {
7347 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007348 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007349 }
7350 ],
7351 "source_info" : {
7352 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007353 "line" : 313,
Robert MacDavidde12b982020-07-15 18:38:59 -07007354 "column" : 8,
7355 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
7356 }
7357 },
7358 {
7359 "op" : "assign",
7360 "parameters" : [
7361 {
7362 "type" : "field",
7363 "value" : ["gtpu_ipv4", "hdr_checksum"]
7364 },
7365 {
7366 "type" : "hexstr",
7367 "value" : "0x0000"
7368 }
7369 ],
7370 "source_info" : {
7371 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007372 "line" : 314,
Robert MacDavidde12b982020-07-15 18:38:59 -07007373 "column" : 8,
7374 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
7375 }
7376 },
7377 {
7378 "op" : "add_header",
7379 "parameters" : [
7380 {
7381 "type" : "header",
7382 "value" : "gtpu_udp"
7383 }
7384 ],
7385 "source_info" : {
7386 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007387 "line" : 316,
Robert MacDavidde12b982020-07-15 18:38:59 -07007388 "column" : 8,
7389 "source_fragment" : "hdr.gtpu_udp.setValid()"
7390 }
7391 },
7392 {
7393 "op" : "assign",
7394 "parameters" : [
7395 {
7396 "type" : "field",
7397 "value" : ["gtpu_udp", "sport"]
7398 },
7399 {
7400 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007401 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007402 }
7403 ],
7404 "source_info" : {
7405 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007406 "line" : 317,
Robert MacDavidde12b982020-07-15 18:38:59 -07007407 "column" : 8,
7408 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
7409 }
7410 },
7411 {
7412 "op" : "assign",
7413 "parameters" : [
7414 {
7415 "type" : "field",
7416 "value" : ["gtpu_udp", "dport"]
7417 },
7418 {
7419 "type" : "hexstr",
7420 "value" : "0x0868"
7421 }
7422 ],
7423 "source_info" : {
7424 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007425 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07007426 "column" : 8,
7427 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
7428 }
7429 },
7430 {
7431 "op" : "assign",
7432 "parameters" : [
7433 {
7434 "type" : "field",
7435 "value" : ["gtpu_udp", "len"]
7436 },
7437 {
7438 "type" : "expression",
7439 "value" : {
7440 "type" : "expression",
7441 "value" : {
7442 "op" : "&",
7443 "left" : {
7444 "type" : "expression",
7445 "value" : {
7446 "op" : "+",
7447 "left" : {
7448 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007449 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007450 },
7451 "right" : {
7452 "type" : "hexstr",
7453 "value" : "0x0010"
7454 }
7455 }
7456 },
7457 "right" : {
7458 "type" : "hexstr",
7459 "value" : "0xffff"
7460 }
7461 }
7462 }
7463 }
7464 ],
7465 "source_info" : {
7466 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007467 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07007468 "column" : 8,
7469 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
7470 }
7471 },
7472 {
7473 "op" : "assign",
7474 "parameters" : [
7475 {
7476 "type" : "field",
7477 "value" : ["gtpu_udp", "checksum"]
7478 },
7479 {
7480 "type" : "hexstr",
7481 "value" : "0x0000"
7482 }
7483 ],
7484 "source_info" : {
7485 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007486 "line" : 321,
Robert MacDavidde12b982020-07-15 18:38:59 -07007487 "column" : 8,
7488 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
7489 }
7490 },
7491 {
7492 "op" : "add_header",
7493 "parameters" : [
7494 {
7495 "type" : "header",
7496 "value" : "outer_gtpu"
7497 }
7498 ],
7499 "source_info" : {
7500 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007501 "line" : 324,
Robert MacDavidde12b982020-07-15 18:38:59 -07007502 "column" : 8,
7503 "source_fragment" : "hdr.outer_gtpu.setValid()"
7504 }
7505 },
7506 {
7507 "op" : "assign",
7508 "parameters" : [
7509 {
7510 "type" : "field",
7511 "value" : ["outer_gtpu", "version"]
7512 },
7513 {
7514 "type" : "hexstr",
7515 "value" : "0x01"
7516 }
7517 ],
7518 "source_info" : {
7519 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007520 "line" : 325,
Robert MacDavidde12b982020-07-15 18:38:59 -07007521 "column" : 8,
7522 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
7523 }
7524 },
7525 {
7526 "op" : "assign",
7527 "parameters" : [
7528 {
7529 "type" : "field",
7530 "value" : ["outer_gtpu", "pt"]
7531 },
7532 {
7533 "type" : "hexstr",
7534 "value" : "0x01"
7535 }
7536 ],
7537 "source_info" : {
7538 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007539 "line" : 326,
Robert MacDavidde12b982020-07-15 18:38:59 -07007540 "column" : 8,
7541 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
7542 }
7543 },
7544 {
7545 "op" : "assign",
7546 "parameters" : [
7547 {
7548 "type" : "field",
7549 "value" : ["outer_gtpu", "spare"]
7550 },
7551 {
7552 "type" : "hexstr",
7553 "value" : "0x00"
7554 }
7555 ],
7556 "source_info" : {
7557 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007558 "line" : 327,
Robert MacDavidde12b982020-07-15 18:38:59 -07007559 "column" : 8,
7560 "source_fragment" : "hdr.outer_gtpu.spare = 0"
7561 }
7562 },
7563 {
7564 "op" : "assign",
7565 "parameters" : [
7566 {
7567 "type" : "field",
7568 "value" : ["outer_gtpu", "ex_flag"]
7569 },
7570 {
7571 "type" : "hexstr",
7572 "value" : "0x00"
7573 }
7574 ],
7575 "source_info" : {
7576 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007577 "line" : 328,
Robert MacDavidde12b982020-07-15 18:38:59 -07007578 "column" : 8,
7579 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
7580 }
7581 },
7582 {
7583 "op" : "assign",
7584 "parameters" : [
7585 {
7586 "type" : "field",
7587 "value" : ["outer_gtpu", "seq_flag"]
7588 },
7589 {
7590 "type" : "hexstr",
7591 "value" : "0x00"
7592 }
7593 ],
7594 "source_info" : {
7595 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007596 "line" : 329,
Robert MacDavidde12b982020-07-15 18:38:59 -07007597 "column" : 8,
7598 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
7599 }
7600 },
7601 {
7602 "op" : "assign",
7603 "parameters" : [
7604 {
7605 "type" : "field",
7606 "value" : ["outer_gtpu", "npdu_flag"]
7607 },
7608 {
7609 "type" : "hexstr",
7610 "value" : "0x00"
7611 }
7612 ],
7613 "source_info" : {
7614 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007615 "line" : 330,
Robert MacDavidde12b982020-07-15 18:38:59 -07007616 "column" : 8,
7617 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
7618 }
7619 },
7620 {
7621 "op" : "assign",
7622 "parameters" : [
7623 {
7624 "type" : "field",
7625 "value" : ["outer_gtpu", "msgtype"]
7626 },
7627 {
7628 "type" : "hexstr",
7629 "value" : "0xff"
7630 }
7631 ],
7632 "source_info" : {
7633 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007634 "line" : 331,
Robert MacDavidde12b982020-07-15 18:38:59 -07007635 "column" : 8,
7636 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
7637 }
7638 },
7639 {
7640 "op" : "assign",
7641 "parameters" : [
7642 {
7643 "type" : "field",
7644 "value" : ["outer_gtpu", "msglen"]
7645 },
7646 {
7647 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007648 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007649 }
7650 ],
7651 "source_info" : {
7652 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007653 "line" : 332,
Robert MacDavidde12b982020-07-15 18:38:59 -07007654 "column" : 8,
7655 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
7656 }
7657 },
7658 {
7659 "op" : "assign",
7660 "parameters" : [
7661 {
7662 "type" : "field",
7663 "value" : ["outer_gtpu", "teid"]
7664 },
7665 {
7666 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007667 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007668 }
7669 ],
7670 "source_info" : {
7671 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007672 "line" : 333,
Robert MacDavidde12b982020-07-15 18:38:59 -07007673 "column" : 8,
7674 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
7675 }
7676 }
7677 ]
7678 },
7679 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007680 "name" : "packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007681 "id" : 67,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007682 "runtime_data" : [],
7683 "primitives" : [
7684 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007685 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007686 "parameters" : [],
7687 "source_info" : {
7688 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007689 "line" : 41,
7690 "column" : 12,
7691 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007692 }
7693 }
7694 ]
7695 },
7696 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007697 "name" : "packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007698 "id" : 68,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007699 "runtime_data" : [],
7700 "primitives" : [
7701 {
7702 "op" : "add_header",
7703 "parameters" : [
7704 {
7705 "type" : "header",
7706 "value" : "packet_in"
7707 }
7708 ],
7709 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007710 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007711 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007712 "column" : 12,
7713 "source_fragment" : "hdr.packet_in.setValid()"
7714 }
7715 },
7716 {
7717 "op" : "assign",
7718 "parameters" : [
7719 {
7720 "type" : "field",
7721 "value" : ["packet_in", "ingress_port"]
7722 },
7723 {
7724 "type" : "field",
7725 "value" : ["standard_metadata", "ingress_port"]
7726 }
7727 ],
7728 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007729 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007730 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007731 "column" : 12,
7732 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
7733 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007734 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007735 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007736 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007737 "parameters" : [],
7738 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007739 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007740 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007741 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007742 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007743 }
7744 }
7745 ]
7746 },
7747 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007748 "name" : "next283",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007749 "id" : 69,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007750 "runtime_data" : [],
7751 "primitives" : [
7752 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007753 "op" : "mark_to_drop",
7754 "parameters" : [
7755 {
7756 "type" : "header",
7757 "value" : "standard_metadata"
7758 }
7759 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007760 "source_info" : {
7761 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007762 "line" : 283,
7763 "column" : 12,
7764 "source_fragment" : "mark_to_drop(standard_metadata)"
7765 }
7766 }
7767 ]
7768 },
7769 {
7770 "name" : "next310",
7771 "id" : 70,
7772 "runtime_data" : [],
7773 "primitives" : [
7774 {
7775 "op" : "mark_to_drop",
7776 "parameters" : [
7777 {
7778 "type" : "header",
7779 "value" : "standard_metadata"
7780 }
7781 ],
7782 "source_info" : {
7783 "filename" : "include/control/next.p4",
7784 "line" : 310,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007785 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007786 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007787 }
7788 }
7789 ]
7790 },
7791 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007792 "name" : "next309",
7793 "id" : 71,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007794 "runtime_data" : [],
7795 "primitives" : [
7796 {
7797 "op" : "assign",
7798 "parameters" : [
7799 {
7800 "type" : "field",
7801 "value" : ["mpls", "ttl"]
7802 },
7803 {
7804 "type" : "expression",
7805 "value" : {
7806 "type" : "expression",
7807 "value" : {
7808 "op" : "&",
7809 "left" : {
7810 "type" : "expression",
7811 "value" : {
7812 "op" : "+",
7813 "left" : {
7814 "type" : "field",
7815 "value" : ["mpls", "ttl"]
7816 },
7817 "right" : {
7818 "type" : "hexstr",
7819 "value" : "0xff"
7820 }
7821 }
7822 },
7823 "right" : {
7824 "type" : "hexstr",
7825 "value" : "0xff"
7826 }
7827 }
7828 }
7829 }
7830 ],
7831 "source_info" : {
7832 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007833 "line" : 309,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007834 "column" : 12,
7835 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
7836 }
7837 }
7838 ]
7839 },
7840 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007841 "name" : "next314",
7842 "id" : 72,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007843 "runtime_data" : [],
7844 "primitives" : [
7845 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007846 "op" : "mark_to_drop",
7847 "parameters" : [
7848 {
7849 "type" : "header",
7850 "value" : "standard_metadata"
7851 }
7852 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007853 "source_info" : {
7854 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007855 "line" : 314,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007856 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007857 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007858 }
7859 }
7860 ]
7861 },
7862 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007863 "name" : "next313",
7864 "id" : 73,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007865 "runtime_data" : [],
7866 "primitives" : [
7867 {
7868 "op" : "assign",
7869 "parameters" : [
7870 {
7871 "type" : "field",
7872 "value" : ["ipv4", "ttl"]
7873 },
7874 {
7875 "type" : "expression",
7876 "value" : {
7877 "type" : "expression",
7878 "value" : {
7879 "op" : "&",
7880 "left" : {
7881 "type" : "expression",
7882 "value" : {
7883 "op" : "+",
7884 "left" : {
7885 "type" : "field",
7886 "value" : ["ipv4", "ttl"]
7887 },
7888 "right" : {
7889 "type" : "hexstr",
7890 "value" : "0xff"
7891 }
7892 }
7893 },
7894 "right" : {
7895 "type" : "hexstr",
7896 "value" : "0xff"
7897 }
7898 }
7899 }
7900 }
7901 ],
7902 "source_info" : {
7903 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007904 "line" : 313,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007905 "column" : 16,
7906 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
7907 }
7908 }
7909 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007910 },
7911 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007912 "name" : "spgw342",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007913 "id" : 74,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007914 "runtime_data" : [],
7915 "primitives" : [
7916 {
7917 "op" : "count",
7918 "parameters" : [
7919 {
7920 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007921 "value" : "FabricEgress.spgw.pdr_counter"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007922 },
7923 {
7924 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007925 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007926 }
7927 ],
7928 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007929 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007930 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007931 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07007932 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007933 }
7934 }
7935 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007936 }
7937 ],
7938 "pipelines" : [
7939 {
7940 "name" : "ingress",
7941 "id" : 0,
7942 "source_info" : {
7943 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007944 "line" : 47,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007945 "column" : 8,
7946 "source_fragment" : "FabricIngress"
7947 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007948 "init_table" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007949 "tables" : [
7950 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007951 "name" : "tbl_packetio25",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007952 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007953 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -07007954 "filename" : "include/control/packetio.p4",
7955 "line" : 25,
7956 "column" : 42,
7957 "source_fragment" : "= hdr.packet_out.egress_port; ..."
7958 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007959 "key" : [],
7960 "match_type" : "exact",
7961 "type" : "simple",
7962 "max_size" : 1024,
7963 "with_counters" : false,
7964 "support_timeout" : false,
7965 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007966 "action_ids" : [47],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007967 "actions" : ["packetio25"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007968 "base_default_next" : "FabricIngress.spgw.interfaces",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007969 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007970 "packetio25" : "FabricIngress.spgw.interfaces"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007971 },
7972 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007973 "action_id" : 47,
Robert MacDavidde12b982020-07-15 18:38:59 -07007974 "action_const" : true,
7975 "action_data" : [],
7976 "action_entry_const" : true
7977 }
7978 },
7979 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007980 "name" : "FabricIngress.spgw.interfaces",
Robert MacDavidde12b982020-07-15 18:38:59 -07007981 "id" : 1,
Robert MacDavidde12b982020-07-15 18:38:59 -07007982 "source_info" : {
7983 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007984 "line" : 129,
Robert MacDavidde12b982020-07-15 18:38:59 -07007985 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007986 "source_fragment" : "interfaces"
Robert MacDavidde12b982020-07-15 18:38:59 -07007987 },
7988 "key" : [
7989 {
7990 "match_type" : "lpm",
7991 "name" : "ipv4_dst_addr",
7992 "target" : ["ipv4", "dst_addr"],
7993 "mask" : null
7994 },
7995 {
7996 "match_type" : "exact",
7997 "name" : "gtpu_is_valid",
7998 "target" : ["gtpu", "$valid$"],
7999 "mask" : null
8000 }
8001 ],
8002 "match_type" : "lpm",
8003 "type" : "simple",
8004 "max_size" : 128,
8005 "with_counters" : false,
8006 "support_timeout" : false,
8007 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008008 "action_ids" : [38, 39],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008009 "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
8010 "base_default_next" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07008011 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008012 "__HIT__" : "node_5",
8013 "__MISS__" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07008014 },
8015 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008016 "action_id" : 39,
Robert MacDavidde12b982020-07-15 18:38:59 -07008017 "action_const" : true,
8018 "action_data" : [],
8019 "action_entry_const" : true
8020 }
8021 },
8022 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008023 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008024 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07008025 "source_info" : {
8026 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008027 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07008028 "column" : 10,
8029 "source_fragment" : "decap_gtpu"
8030 },
8031 "key" : [
8032 {
8033 "match_type" : "exact",
8034 "name" : "hdr.inner_tcp.$valid$",
8035 "target" : ["inner_tcp", "$valid$"],
8036 "mask" : null
8037 },
8038 {
8039 "match_type" : "exact",
8040 "name" : "hdr.inner_udp.$valid$",
8041 "target" : ["inner_udp", "$valid$"],
8042 "mask" : null
8043 },
8044 {
8045 "match_type" : "exact",
8046 "name" : "hdr.inner_icmp.$valid$",
8047 "target" : ["inner_icmp", "$valid$"],
8048 "mask" : null
8049 }
8050 ],
8051 "match_type" : "exact",
8052 "type" : "simple",
8053 "max_size" : 1024,
8054 "with_counters" : false,
8055 "support_timeout" : false,
8056 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008057 "action_ids" : [30, 31, 32, 33],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008058 "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008059 "base_default_next" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07008060 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008061 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_7",
8062 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_7",
8063 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_7",
8064 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07008065 },
8066 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008067 "action_id" : 33,
Robert MacDavidde12b982020-07-15 18:38:59 -07008068 "action_const" : true,
8069 "action_data" : [],
8070 "action_entry_const" : true
8071 },
8072 "entries" : [
8073 {
8074 "source_info" : {
8075 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008076 "line" : 89,
Robert MacDavidde12b982020-07-15 18:38:59 -07008077 "column" : 12,
8078 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
8079 },
8080 "match_key" : [
8081 {
8082 "match_type" : "exact",
8083 "key" : "0x01"
8084 },
8085 {
8086 "match_type" : "exact",
8087 "key" : "0x00"
8088 },
8089 {
8090 "match_type" : "exact",
8091 "key" : "0x00"
8092 }
8093 ],
8094 "action_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008095 "action_id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -07008096 "action_data" : []
8097 },
8098 "priority" : 1
8099 },
8100 {
8101 "source_info" : {
8102 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008103 "line" : 90,
Robert MacDavidde12b982020-07-15 18:38:59 -07008104 "column" : 12,
8105 "source_fragment" : "(false, true, false) : decap_inner_udp()"
8106 },
8107 "match_key" : [
8108 {
8109 "match_type" : "exact",
8110 "key" : "0x00"
8111 },
8112 {
8113 "match_type" : "exact",
8114 "key" : "0x01"
8115 },
8116 {
8117 "match_type" : "exact",
8118 "key" : "0x00"
8119 }
8120 ],
8121 "action_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008122 "action_id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -07008123 "action_data" : []
8124 },
8125 "priority" : 2
8126 },
8127 {
8128 "source_info" : {
8129 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008130 "line" : 91,
Robert MacDavidde12b982020-07-15 18:38:59 -07008131 "column" : 12,
8132 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
8133 },
8134 "match_key" : [
8135 {
8136 "match_type" : "exact",
8137 "key" : "0x00"
8138 },
8139 {
8140 "match_type" : "exact",
8141 "key" : "0x00"
8142 },
8143 {
8144 "match_type" : "exact",
8145 "key" : "0x01"
8146 }
8147 ],
8148 "action_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008149 "action_id" : 32,
Robert MacDavidde12b982020-07-15 18:38:59 -07008150 "action_data" : []
8151 },
8152 "priority" : 3
8153 }
8154 ]
8155 },
8156 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008157 "name" : "FabricIngress.spgw.uplink_pdrs",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008158 "id" : 3,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008159 "source_info" : {
8160 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008161 "line" : 176,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008162 "column" : 10,
8163 "source_fragment" : "uplink_pdrs"
8164 },
8165 "key" : [
8166 {
8167 "match_type" : "exact",
8168 "name" : "tunnel_ipv4_dst",
8169 "target" : ["ipv4", "dst_addr"],
8170 "mask" : null
8171 },
8172 {
8173 "match_type" : "exact",
8174 "name" : "teid",
8175 "target" : ["gtpu", "teid"],
8176 "mask" : null
8177 }
8178 ],
8179 "match_type" : "exact",
8180 "type" : "simple",
8181 "max_size" : 1024,
8182 "with_counters" : false,
8183 "support_timeout" : false,
8184 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008185 "action_ids" : [41, 43, 9],
ersuneetsinghe326c722021-03-25 21:17:29 -03008186 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008187 "base_default_next" : "node_10",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008188 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008189 "FabricIngress.spgw.load_pdr" : "node_10",
8190 "FabricIngress.spgw.load_pdr_qos" : "node_10",
8191 "NoAction" : "node_10"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008192 },
8193 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008194 "action_id" : 9,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008195 "action_const" : false,
8196 "action_data" : [],
8197 "action_entry_const" : false
8198 }
8199 },
8200 {
8201 "name" : "FabricIngress.spgw.downlink_pdrs",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008202 "id" : 4,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008203 "source_info" : {
8204 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008205 "line" : 164,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008206 "column" : 10,
8207 "source_fragment" : "downlink_pdrs"
8208 },
8209 "key" : [
8210 {
8211 "match_type" : "exact",
8212 "name" : "ue_addr",
8213 "target" : ["ipv4", "dst_addr"],
8214 "mask" : null
8215 }
8216 ],
8217 "match_type" : "exact",
8218 "type" : "simple",
8219 "max_size" : 1024,
8220 "with_counters" : false,
8221 "support_timeout" : false,
8222 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008223 "action_ids" : [40, 42, 8],
ersuneetsinghe326c722021-03-25 21:17:29 -03008224 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008225 "base_default_next" : "node_10",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008226 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008227 "FabricIngress.spgw.load_pdr" : "node_10",
8228 "FabricIngress.spgw.load_pdr_qos" : "node_10",
8229 "NoAction" : "node_10"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008230 },
8231 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008232 "action_id" : 8,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008233 "action_const" : false,
8234 "action_data" : [],
8235 "action_entry_const" : false
8236 }
8237 },
8238 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008239 "name" : "tbl_spgw265",
8240 "id" : 5,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008241 "source_info" : {
8242 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008243 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008244 "column" : 16,
8245 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
8246 },
8247 "key" : [],
8248 "match_type" : "exact",
8249 "type" : "simple",
8250 "max_size" : 1024,
8251 "with_counters" : false,
8252 "support_timeout" : false,
8253 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008254 "action_ids" : [48],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008255 "actions" : ["spgw265"],
8256 "base_default_next" : "node_12",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008257 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008258 "spgw265" : "node_12"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008259 },
8260 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008261 "action_id" : 48,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008262 "action_const" : true,
8263 "action_data" : [],
8264 "action_entry_const" : true
8265 }
8266 },
8267 {
8268 "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008269 "id" : 6,
Robert MacDavidde12b982020-07-15 18:38:59 -07008270 "source_info" : {
8271 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008272 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07008273 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008274 "source_fragment" : "decap_gtpu"
8275 },
8276 "key" : [
8277 {
8278 "match_type" : "exact",
8279 "name" : "hdr.inner_tcp.$valid$",
8280 "target" : ["inner_tcp", "$valid$"],
8281 "mask" : null
8282 },
8283 {
8284 "match_type" : "exact",
8285 "name" : "hdr.inner_udp.$valid$",
8286 "target" : ["inner_udp", "$valid$"],
8287 "mask" : null
8288 },
8289 {
8290 "match_type" : "exact",
8291 "name" : "hdr.inner_icmp.$valid$",
8292 "target" : ["inner_icmp", "$valid$"],
8293 "mask" : null
8294 }
8295 ],
8296 "match_type" : "exact",
8297 "type" : "simple",
8298 "max_size" : 1024,
8299 "with_counters" : false,
8300 "support_timeout" : false,
8301 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008302 "action_ids" : [34, 35, 36, 37],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008303 "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"],
8304 "base_default_next" : "FabricIngress.spgw.fars",
8305 "next_tables" : {
8306 "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
8307 "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
8308 "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
8309 "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
8310 },
8311 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008312 "action_id" : 37,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008313 "action_const" : true,
8314 "action_data" : [],
8315 "action_entry_const" : true
8316 },
8317 "entries" : [
8318 {
8319 "source_info" : {
8320 "filename" : "include/control/spgw.p4",
8321 "line" : 89,
8322 "column" : 12,
8323 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
8324 },
8325 "match_key" : [
8326 {
8327 "match_type" : "exact",
8328 "key" : "0x01"
8329 },
8330 {
8331 "match_type" : "exact",
8332 "key" : "0x00"
8333 },
8334 {
8335 "match_type" : "exact",
8336 "key" : "0x00"
8337 }
8338 ],
8339 "action_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008340 "action_id" : 34,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008341 "action_data" : []
8342 },
8343 "priority" : 1
8344 },
8345 {
8346 "source_info" : {
8347 "filename" : "include/control/spgw.p4",
8348 "line" : 90,
8349 "column" : 12,
8350 "source_fragment" : "(false, true, false) : decap_inner_udp()"
8351 },
8352 "match_key" : [
8353 {
8354 "match_type" : "exact",
8355 "key" : "0x00"
8356 },
8357 {
8358 "match_type" : "exact",
8359 "key" : "0x01"
8360 },
8361 {
8362 "match_type" : "exact",
8363 "key" : "0x00"
8364 }
8365 ],
8366 "action_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008367 "action_id" : 35,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008368 "action_data" : []
8369 },
8370 "priority" : 2
8371 },
8372 {
8373 "source_info" : {
8374 "filename" : "include/control/spgw.p4",
8375 "line" : 91,
8376 "column" : 12,
8377 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
8378 },
8379 "match_key" : [
8380 {
8381 "match_type" : "exact",
8382 "key" : "0x00"
8383 },
8384 {
8385 "match_type" : "exact",
8386 "key" : "0x00"
8387 },
8388 {
8389 "match_type" : "exact",
8390 "key" : "0x01"
8391 }
8392 ],
8393 "action_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008394 "action_id" : 36,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008395 "action_data" : []
8396 },
8397 "priority" : 3
8398 }
8399 ]
8400 },
8401 {
8402 "name" : "FabricIngress.spgw.fars",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008403 "id" : 7,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008404 "source_info" : {
8405 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008406 "line" : 233,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008407 "column" : 10,
8408 "source_fragment" : "fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07008409 },
8410 "key" : [
8411 {
8412 "match_type" : "exact",
8413 "name" : "far_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008414 "target" : ["scalars", "userMetadata._spgw_far_id25"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008415 "mask" : null
8416 }
8417 ],
8418 "match_type" : "exact",
8419 "type" : "simple",
8420 "max_size" : 2048,
8421 "with_counters" : false,
8422 "support_timeout" : false,
8423 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008424 "action_ids" : [44, 45, 46],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008425 "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008426 "base_default_next" : "tbl_spgw282",
Robert MacDavidde12b982020-07-15 18:38:59 -07008427 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008428 "FabricIngress.spgw.load_normal_far" : "tbl_spgw282",
8429 "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw282",
8430 "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw282"
Robert MacDavidde12b982020-07-15 18:38:59 -07008431 },
8432 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008433 "action_id" : 44,
Robert MacDavidde12b982020-07-15 18:38:59 -07008434 "action_const" : true,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008435 "action_data" : ["0x1", "0x0"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008436 "action_entry_const" : true
8437 }
8438 },
8439 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008440 "name" : "tbl_spgw282",
8441 "id" : 8,
Robert MacDavidde12b982020-07-15 18:38:59 -07008442 "source_info" : {
8443 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008444 "line" : 282,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008445 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07008446 "source_fragment" : "="
8447 },
8448 "key" : [],
8449 "match_type" : "exact",
8450 "type" : "simple",
8451 "max_size" : 1024,
8452 "with_counters" : false,
8453 "support_timeout" : false,
8454 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008455 "action_ids" : [49],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008456 "actions" : ["spgw282"],
8457 "base_default_next" : "node_16",
Robert MacDavidde12b982020-07-15 18:38:59 -07008458 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008459 "spgw282" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07008460 },
8461 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008462 "action_id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008463 "action_const" : true,
8464 "action_data" : [],
8465 "action_entry_const" : true
8466 }
8467 },
8468 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008469 "name" : "tbl_filtering113",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008470 "id" : 9,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008471 "source_info" : {
8472 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008473 "line" : 113,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008474 "column" : 36,
8475 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07008476 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008477 "key" : [],
8478 "match_type" : "exact",
8479 "type" : "simple",
8480 "max_size" : 1024,
8481 "with_counters" : false,
8482 "support_timeout" : false,
8483 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008484 "action_ids" : [50],
8485 "actions" : ["filtering113"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008486 "base_default_next" : "node_18",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008487 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008488 "filtering113" : "node_18"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008489 },
8490 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008491 "action_id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008492 "action_const" : true,
8493 "action_data" : [],
8494 "action_entry_const" : true
8495 }
8496 },
8497 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008498 "name" : "tbl_filtering129",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008499 "id" : 10,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008500 "source_info" : {
8501 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008502 "line" : 129,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008503 "column" : 37,
8504 "source_fragment" : "="
8505 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008506 "key" : [],
8507 "match_type" : "exact",
8508 "type" : "simple",
8509 "max_size" : 1024,
8510 "with_counters" : false,
8511 "support_timeout" : false,
8512 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008513 "action_ids" : [51],
8514 "actions" : ["filtering129"],
Daniele Moro5a2de712019-09-24 14:34:07 -07008515 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008516 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008517 "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008518 },
8519 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008520 "action_id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008521 "action_const" : true,
8522 "action_data" : [],
8523 "action_entry_const" : true
8524 }
8525 },
8526 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07008527 "name" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008528 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008529 "source_info" : {
8530 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008531 "line" : 55,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008532 "column" : 10,
8533 "source_fragment" : "ingress_port_vlan"
8534 },
8535 "key" : [
8536 {
8537 "match_type" : "exact",
8538 "name" : "ig_port",
8539 "target" : ["standard_metadata", "ingress_port"],
8540 "mask" : null
8541 },
8542 {
8543 "match_type" : "exact",
8544 "name" : "vlan_is_valid",
8545 "target" : ["vlan_tag", "$valid$"],
8546 "mask" : null
8547 },
8548 {
8549 "match_type" : "ternary",
8550 "name" : "vlan_id",
8551 "target" : ["vlan_tag", "vlan_id"],
8552 "mask" : null
8553 }
8554 ],
8555 "match_type" : "ternary",
8556 "type" : "simple",
8557 "max_size" : 1024,
8558 "with_counters" : true,
8559 "support_timeout" : false,
8560 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008561 "action_ids" : [10, 11, 12],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008562 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
8563 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
8564 "next_tables" : {
8565 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
8566 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
8567 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
8568 },
8569 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008570 "action_id" : 10,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008571 "action_const" : true,
8572 "action_data" : [],
8573 "action_entry_const" : true
8574 }
8575 },
8576 {
8577 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008578 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008579 "source_info" : {
8580 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008581 "line" : 94,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008582 "column" : 10,
8583 "source_fragment" : "fwd_classifier"
8584 },
8585 "key" : [
8586 {
8587 "match_type" : "exact",
8588 "name" : "ig_port",
8589 "target" : ["standard_metadata", "ingress_port"],
8590 "mask" : null
8591 },
8592 {
8593 "match_type" : "ternary",
8594 "name" : "eth_dst",
8595 "target" : ["ethernet", "dst_addr"],
8596 "mask" : null
8597 },
8598 {
Daniele Moro5a2de712019-09-24 14:34:07 -07008599 "match_type" : "ternary",
8600 "name" : "eth_type",
8601 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07008602 "mask" : null
8603 },
8604 {
8605 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07008606 "name" : "ip_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008607 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008608 "mask" : null
8609 }
8610 ],
8611 "match_type" : "ternary",
8612 "type" : "simple",
8613 "max_size" : 1024,
8614 "with_counters" : true,
8615 "support_timeout" : false,
8616 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008617 "action_ids" : [13],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008618 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008619 "base_default_next" : "node_22",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008620 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008621 "FabricIngress.filtering.set_forwarding_type" : "node_22"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008622 },
8623 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008624 "action_id" : 13,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008625 "action_const" : true,
8626 "action_data" : ["0x0"],
8627 "action_entry_const" : true
8628 }
8629 },
8630 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08008631 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008632 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008633 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008634 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008635 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008636 "column" : 10,
8637 "source_fragment" : "bridging"
8638 },
8639 "key" : [
8640 {
8641 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008642 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008643 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008644 "mask" : null
8645 },
8646 {
8647 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008648 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008649 "target" : ["ethernet", "dst_addr"],
8650 "mask" : null
8651 }
8652 ],
8653 "match_type" : "ternary",
8654 "type" : "simple",
8655 "max_size" : 1024,
8656 "with_counters" : true,
8657 "support_timeout" : false,
8658 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008659 "action_ids" : [14, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008660 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008661 "base_default_next" : "node_29",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008662 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008663 "FabricIngress.forwarding.set_next_id_bridging" : "node_29",
8664 "nop" : "node_29"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008665 },
8666 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008667 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008668 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008669 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008670 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008671 }
8672 },
8673 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08008674 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008675 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008676 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008677 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008678 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008679 "column" : 10,
8680 "source_fragment" : "mpls"
8681 },
8682 "key" : [
8683 {
8684 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008685 "name" : "mpls_label",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008686 "target" : ["scalars", "userMetadata._mpls_label4"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008687 "mask" : null
8688 }
8689 ],
8690 "match_type" : "exact",
8691 "type" : "simple",
8692 "max_size" : 1024,
8693 "with_counters" : true,
8694 "support_timeout" : false,
8695 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008696 "action_ids" : [15, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008697 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008698 "base_default_next" : "node_29",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008699 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008700 "FabricIngress.forwarding.pop_mpls_and_next" : "node_29",
8701 "nop" : "node_29"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008702 },
8703 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008704 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008705 "action_const" : true,
8706 "action_data" : [],
8707 "action_entry_const" : true
8708 }
8709 },
8710 {
Charles Chan384aea22018-08-23 22:08:02 -07008711 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008712 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008713 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008714 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008715 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008716 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07008717 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008718 },
8719 "key" : [
8720 {
8721 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008722 "name" : "ipv4_dst",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008723 "target" : ["scalars", "userMetadata._ipv4_dst_addr16"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008724 "mask" : null
8725 }
8726 ],
8727 "match_type" : "lpm",
8728 "type" : "simple",
8729 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07008730 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008731 "support_timeout" : false,
8732 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008733 "action_ids" : [16, 17, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008734 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008735 "base_default_next" : "node_29",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008736 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008737 "FabricIngress.forwarding.set_next_id_routing_v4" : "node_29",
8738 "FabricIngress.forwarding.nop_routing_v4" : "node_29",
8739 "nop" : "node_29"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008740 },
8741 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008742 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +08008743 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008744 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08008745 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008746 }
8747 },
8748 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008749 "name" : "FabricIngress.pre_next.next_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008750 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008751 "source_info" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008752 "filename" : "include/control/pre_next.p4",
8753 "line" : 36,
8754 "column" : 10,
8755 "source_fragment" : "next_mpls"
8756 },
8757 "key" : [
8758 {
8759 "match_type" : "exact",
8760 "name" : "next_id",
8761 "target" : ["scalars", "userMetadata._next_id9"],
8762 "mask" : null
8763 }
8764 ],
8765 "match_type" : "exact",
8766 "type" : "simple",
8767 "max_size" : 1024,
8768 "with_counters" : true,
8769 "support_timeout" : false,
8770 "direct_meters" : null,
8771 "action_ids" : [18, 3],
8772 "actions" : ["FabricIngress.pre_next.set_mpls_label", "nop"],
8773 "base_default_next" : "FabricIngress.pre_next.next_vlan",
8774 "next_tables" : {
8775 "FabricIngress.pre_next.set_mpls_label" : "FabricIngress.pre_next.next_vlan",
8776 "nop" : "FabricIngress.pre_next.next_vlan"
8777 },
8778 "default_entry" : {
8779 "action_id" : 3,
8780 "action_const" : true,
8781 "action_data" : [],
8782 "action_entry_const" : true
8783 }
8784 },
8785 {
8786 "name" : "FabricIngress.pre_next.next_vlan",
8787 "id" : 17,
8788 "source_info" : {
8789 "filename" : "include/control/pre_next.p4",
8790 "line" : 73,
8791 "column" : 10,
8792 "source_fragment" : "next_vlan"
8793 },
8794 "key" : [
8795 {
8796 "match_type" : "exact",
8797 "name" : "next_id",
8798 "target" : ["scalars", "userMetadata._next_id9"],
8799 "mask" : null
8800 }
8801 ],
8802 "match_type" : "exact",
8803 "type" : "simple",
8804 "max_size" : 1024,
8805 "with_counters" : true,
8806 "support_timeout" : false,
8807 "direct_meters" : null,
8808 "action_ids" : [19, 4],
8809 "actions" : ["FabricIngress.pre_next.set_vlan", "nop"],
8810 "base_default_next" : "tbl_acl27",
8811 "next_tables" : {
8812 "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
8813 "nop" : "tbl_acl27"
8814 },
8815 "default_entry" : {
8816 "action_id" : 4,
8817 "action_const" : true,
8818 "action_data" : [],
8819 "action_entry_const" : true
8820 }
8821 },
8822 {
8823 "name" : "tbl_acl27",
8824 "id" : 18,
8825 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008826 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08008827 "line" : 27,
8828 "column" : 4,
8829 "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
8830 },
8831 "key" : [],
8832 "match_type" : "exact",
8833 "type" : "simple",
8834 "max_size" : 1024,
8835 "with_counters" : false,
8836 "support_timeout" : false,
8837 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008838 "action_ids" : [58],
Wailok Shum4f51bde2021-06-11 22:48:41 +08008839 "actions" : ["acl27"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008840 "base_default_next" : "node_33",
Wailok Shum4f51bde2021-06-11 22:48:41 +08008841 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008842 "acl27" : "node_33"
Wailok Shum4f51bde2021-06-11 22:48:41 +08008843 },
8844 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008845 "action_id" : 58,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008846 "action_const" : true,
8847 "action_data" : [],
8848 "action_entry_const" : true
8849 }
8850 },
8851 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008852 "name" : "tbl_acl98",
8853 "id" : 19,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008854 "source_info" : {
8855 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008856 "line" : 98,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008857 "column" : 21,
8858 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
8859 },
8860 "key" : [],
8861 "match_type" : "exact",
8862 "type" : "simple",
8863 "max_size" : 1024,
8864 "with_counters" : false,
8865 "support_timeout" : false,
8866 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008867 "action_ids" : [54],
8868 "actions" : ["acl98"],
8869 "base_default_next" : "node_35",
Wailok Shum4f51bde2021-06-11 22:48:41 +08008870 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008871 "acl98" : "node_35"
Wailok Shum4f51bde2021-06-11 22:48:41 +08008872 },
8873 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008874 "action_id" : 54,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008875 "action_const" : true,
8876 "action_data" : [],
8877 "action_entry_const" : true
8878 }
8879 },
8880 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008881 "name" : "tbl_acl102",
8882 "id" : 20,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008883 "source_info" : {
8884 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008885 "line" : 102,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008886 "column" : 25,
8887 "source_fragment" : "= hdr.inner_tcp.sport; ..."
8888 },
8889 "key" : [],
8890 "match_type" : "exact",
8891 "type" : "simple",
8892 "max_size" : 1024,
8893 "with_counters" : false,
8894 "support_timeout" : false,
8895 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008896 "action_ids" : [52],
8897 "actions" : ["acl102"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08008898 "base_default_next" : "FabricIngress.acl.acl",
8899 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008900 "acl102" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08008901 },
8902 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008903 "action_id" : 52,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008904 "action_const" : true,
8905 "action_data" : [],
8906 "action_entry_const" : true
8907 }
8908 },
8909 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008910 "name" : "tbl_acl105",
8911 "id" : 21,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008912 "source_info" : {
8913 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008914 "line" : 105,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008915 "column" : 25,
8916 "source_fragment" : "= hdr.inner_udp.sport; ..."
8917 },
8918 "key" : [],
8919 "match_type" : "exact",
8920 "type" : "simple",
8921 "max_size" : 1024,
8922 "with_counters" : false,
8923 "support_timeout" : false,
8924 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008925 "action_ids" : [53],
8926 "actions" : ["acl105"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08008927 "base_default_next" : "FabricIngress.acl.acl",
8928 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008929 "acl105" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08008930 },
8931 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008932 "action_id" : 53,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008933 "action_const" : true,
8934 "action_data" : [],
8935 "action_entry_const" : true
8936 }
8937 },
8938 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008939 "name" : "tbl_acl109",
8940 "id" : 22,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008941 "source_info" : {
8942 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008943 "line" : 109,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008944 "column" : 21,
8945 "source_fragment" : "= hdr.ipv4.src_addr; ..."
8946 },
8947 "key" : [],
8948 "match_type" : "exact",
8949 "type" : "simple",
8950 "max_size" : 1024,
8951 "with_counters" : false,
8952 "support_timeout" : false,
8953 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008954 "action_ids" : [57],
8955 "actions" : ["acl109"],
8956 "base_default_next" : "node_41",
Wailok Shum4f51bde2021-06-11 22:48:41 +08008957 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008958 "acl109" : "node_41"
Wailok Shum4f51bde2021-06-11 22:48:41 +08008959 },
8960 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008961 "action_id" : 57,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008962 "action_const" : true,
8963 "action_data" : [],
8964 "action_entry_const" : true
8965 }
8966 },
8967 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008968 "name" : "tbl_acl113",
8969 "id" : 23,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008970 "source_info" : {
8971 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008972 "line" : 113,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008973 "column" : 25,
8974 "source_fragment" : "= hdr.tcp.sport; ..."
8975 },
8976 "key" : [],
8977 "match_type" : "exact",
8978 "type" : "simple",
8979 "max_size" : 1024,
8980 "with_counters" : false,
8981 "support_timeout" : false,
8982 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008983 "action_ids" : [55],
8984 "actions" : ["acl113"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08008985 "base_default_next" : "FabricIngress.acl.acl",
8986 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008987 "acl113" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08008988 },
8989 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008990 "action_id" : 55,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008991 "action_const" : true,
8992 "action_data" : [],
8993 "action_entry_const" : true
8994 }
8995 },
8996 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008997 "name" : "tbl_acl116",
8998 "id" : 24,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008999 "source_info" : {
9000 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009001 "line" : 116,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009002 "column" : 25,
9003 "source_fragment" : "= hdr.udp.sport; ..."
9004 },
9005 "key" : [],
9006 "match_type" : "exact",
9007 "type" : "simple",
9008 "max_size" : 1024,
9009 "with_counters" : false,
9010 "support_timeout" : false,
9011 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009012 "action_ids" : [56],
9013 "actions" : ["acl116"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08009014 "base_default_next" : "FabricIngress.acl.acl",
9015 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009016 "acl116" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08009017 },
9018 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009019 "action_id" : 56,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009020 "action_const" : true,
9021 "action_data" : [],
9022 "action_entry_const" : true
9023 }
9024 },
9025 {
9026 "name" : "FabricIngress.acl.acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009027 "id" : 25,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009028 "source_info" : {
9029 "filename" : "include/control/acl.p4",
9030 "line" : 66,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009031 "column" : 10,
9032 "source_fragment" : "acl"
9033 },
9034 "key" : [
9035 {
9036 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009037 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009038 "target" : ["standard_metadata", "ingress_port"],
9039 "mask" : null
9040 },
9041 {
9042 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08009043 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009044 "target" : ["ethernet", "dst_addr"],
9045 "mask" : null
9046 },
9047 {
9048 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08009049 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009050 "target" : ["ethernet", "src_addr"],
9051 "mask" : null
9052 },
9053 {
9054 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009055 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009056 "target" : ["vlan_tag", "vlan_id"],
9057 "mask" : null
9058 },
9059 {
9060 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009061 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07009062 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +08009063 "mask" : null
9064 },
9065 {
9066 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009067 "name" : "ipv4_src",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009068 "target" : ["scalars", "acl_ipv4_src"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009069 "mask" : null
9070 },
9071 {
9072 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009073 "name" : "ipv4_dst",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009074 "target" : ["scalars", "acl_ipv4_dst"],
9075 "mask" : null
9076 },
9077 {
9078 "match_type" : "ternary",
9079 "name" : "ip_proto",
9080 "target" : ["scalars", "acl_ip_proto"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009081 "mask" : null
9082 },
9083 {
9084 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009085 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009086 "target" : ["icmp", "icmp_type"],
9087 "mask" : null
9088 },
9089 {
9090 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009091 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009092 "target" : ["icmp", "icmp_code"],
9093 "mask" : null
Wailok Shum4f51bde2021-06-11 22:48:41 +08009094 },
9095 {
9096 "match_type" : "ternary",
9097 "name" : "l4_sport",
9098 "target" : ["scalars", "acl_l4_sport"],
9099 "mask" : null
9100 },
9101 {
9102 "match_type" : "ternary",
9103 "name" : "l4_dport",
9104 "target" : ["scalars", "acl_l4_dport"],
9105 "mask" : null
Wailok Shumfb7e7872021-06-18 17:30:08 +08009106 },
9107 {
9108 "match_type" : "ternary",
9109 "name" : "port_type",
9110 "target" : ["scalars", "userMetadata._port_type32"],
9111 "mask" : null
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009112 }
9113 ],
9114 "match_type" : "ternary",
9115 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009116 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009117 "with_counters" : true,
9118 "support_timeout" : false,
9119 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009120 "action_ids" : [20, 21, 22, 23, 24],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009121 "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 Shumfb7e7872021-06-18 17:30:08 +08009122 "base_default_next" : "node_46",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009123 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009124 "FabricIngress.acl.set_next_id_acl" : "node_46",
9125 "FabricIngress.acl.punt_to_cpu" : "node_46",
9126 "FabricIngress.acl.set_clone_session_id" : "node_46",
9127 "FabricIngress.acl.drop" : "node_46",
9128 "FabricIngress.acl.nop_acl" : "node_46"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009129 },
9130 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009131 "action_id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009132 "action_const" : true,
9133 "action_data" : [],
9134 "action_entry_const" : true
9135 }
9136 },
9137 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009138 "name" : "FabricIngress.next.xconnect",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009139 "id" : 26,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009140 "source_info" : {
9141 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009142 "line" : 68,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009143 "column" : 10,
9144 "source_fragment" : "xconnect"
9145 },
9146 "key" : [
9147 {
9148 "match_type" : "exact",
9149 "name" : "ig_port",
9150 "target" : ["standard_metadata", "ingress_port"],
9151 "mask" : null
9152 },
9153 {
9154 "match_type" : "exact",
9155 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009156 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009157 "mask" : null
9158 }
9159 ],
9160 "match_type" : "exact",
9161 "type" : "simple",
9162 "max_size" : 1024,
9163 "with_counters" : true,
9164 "support_timeout" : false,
9165 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009166 "action_ids" : [25, 26, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009167 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
9168 "base_default_next" : "FabricIngress.next.hashed",
9169 "next_tables" : {
9170 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
9171 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
9172 "nop" : "FabricIngress.next.hashed"
9173 },
9174 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009175 "action_id" : 5,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009176 "action_const" : true,
9177 "action_data" : [],
9178 "action_entry_const" : true
9179 }
9180 },
9181 {
9182 "name" : "FabricIngress.next.hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009183 "id" : 27,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009184 "source_info" : {
9185 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009186 "line" : 138,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009187 "column" : 10,
9188 "source_fragment" : "hashed"
9189 },
9190 "key" : [
9191 {
9192 "match_type" : "exact",
9193 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009194 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009195 "mask" : null
9196 }
9197 ],
9198 "match_type" : "exact",
9199 "type" : "indirect_ws",
9200 "action_profile" : "FabricIngress.next.hashed_selector",
9201 "max_size" : 1024,
9202 "with_counters" : true,
9203 "support_timeout" : false,
9204 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009205 "action_ids" : [27, 28, 6],
9206 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "nop"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009207 "base_default_next" : "FabricIngress.next.multicast",
9208 "next_tables" : {
9209 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
9210 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009211 "nop" : "FabricIngress.next.multicast"
9212 }
9213 },
9214 {
9215 "name" : "FabricIngress.next.multicast",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009216 "id" : 28,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009217 "source_info" : {
9218 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009219 "line" : 171,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009220 "column" : 10,
9221 "source_fragment" : "multicast"
9222 },
9223 "key" : [
9224 {
9225 "match_type" : "exact",
9226 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009227 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009228 "mask" : null
9229 }
9230 ],
9231 "match_type" : "exact",
9232 "type" : "simple",
9233 "max_size" : 1024,
9234 "with_counters" : true,
9235 "support_timeout" : false,
9236 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009237 "action_ids" : [29, 7],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009238 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08009239 "base_default_next" : "node_50",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009240 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009241 "FabricIngress.next.set_mcast_group_id" : "node_50",
9242 "nop" : "node_50"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009243 },
9244 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009245 "action_id" : 7,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009246 "action_const" : true,
9247 "action_data" : [],
9248 "action_entry_const" : true
9249 }
9250 },
9251 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009252 "name" : "tbl_port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009253 "id" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009254 "source_info" : {
9255 "filename" : "include/control/port_counter.p4",
9256 "line" : 31,
9257 "column" : 12,
9258 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
9259 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02009260 "key" : [],
9261 "match_type" : "exact",
9262 "type" : "simple",
9263 "max_size" : 1024,
9264 "with_counters" : false,
9265 "support_timeout" : false,
9266 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009267 "action_ids" : [59],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009268 "actions" : ["port_counter31"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08009269 "base_default_next" : "node_52",
Carmelo Casconea5400af2018-07-17 22:11:54 +02009270 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009271 "port_counter31" : "node_52"
Carmelo Casconea5400af2018-07-17 22:11:54 +02009272 },
9273 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009274 "action_id" : 59,
Carmelo Casconea5400af2018-07-17 22:11:54 +02009275 "action_const" : true,
9276 "action_data" : [],
9277 "action_entry_const" : true
9278 }
9279 },
9280 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009281 "name" : "tbl_port_counter34",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009282 "id" : 30,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009283 "source_info" : {
9284 "filename" : "include/control/port_counter.p4",
9285 "line" : 34,
9286 "column" : 12,
9287 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
9288 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009289 "key" : [],
9290 "match_type" : "exact",
9291 "type" : "simple",
9292 "max_size" : 1024,
9293 "with_counters" : false,
9294 "support_timeout" : false,
9295 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009296 "action_ids" : [60],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009297 "actions" : ["port_counter34"],
Carmelo Casconea5400af2018-07-17 22:11:54 +02009298 "base_default_next" : null,
Yi Tseng27b9bc02018-04-12 14:52:40 +08009299 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009300 "port_counter34" : null
Carmelo Casconea5400af2018-07-17 22:11:54 +02009301 },
9302 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009303 "action_id" : 60,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009304 "action_const" : true,
9305 "action_data" : [],
9306 "action_entry_const" : true
9307 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009308 }
9309 ],
9310 "action_profiles" : [
9311 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009312 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009313 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009314 "source_info" : {
9315 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009316 "line" : 125,
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009317 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009318 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009319 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009320 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009321 "selector" : {
9322 "algo" : "crc16",
9323 "input" : [
9324 {
9325 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009326 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009327 },
9328 {
9329 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009330 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009331 },
9332 {
9333 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009334 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009335 },
9336 {
9337 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009338 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009339 },
9340 {
9341 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009342 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009343 }
9344 ]
9345 }
9346 }
9347 ],
9348 "conditionals" : [
9349 {
Robert MacDavidde12b982020-07-15 18:38:59 -07009350 "name" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009351 "id" : 0,
9352 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009353 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009354 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009355 "column" : 12,
9356 "source_fragment" : "hdr.packet_out.isValid()"
9357 },
9358 "expression" : {
9359 "type" : "expression",
9360 "value" : {
9361 "op" : "d2b",
9362 "left" : null,
9363 "right" : {
9364 "type" : "field",
9365 "value" : ["packet_out", "$valid$"]
9366 }
9367 }
9368 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009369 "true_next" : "tbl_packetio25",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009370 "false_next" : "FabricIngress.spgw.interfaces"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009371 },
9372 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009373 "name" : "node_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07009374 "id" : 1,
9375 "source_info" : {
9376 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009377 "line" : 255,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009378 "column" : 16,
9379 "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
Robert MacDavidde12b982020-07-15 18:38:59 -07009380 },
9381 "expression" : {
9382 "type" : "expression",
9383 "value" : {
9384 "op" : "==",
9385 "left" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009386 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009387 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009388 },
9389 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009390 "type" : "hexstr",
9391 "value" : "0x03"
Robert MacDavidde12b982020-07-15 18:38:59 -07009392 }
9393 }
9394 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009395 "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009396 "false_next" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07009397 },
9398 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009399 "name" : "node_7",
9400 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07009401 "source_info" : {
9402 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009403 "line" : 259,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009404 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07009405 "source_fragment" : "hdr.gtpu.isValid()"
9406 },
9407 "expression" : {
9408 "type" : "expression",
9409 "value" : {
9410 "op" : "d2b",
9411 "left" : null,
9412 "right" : {
9413 "type" : "field",
9414 "value" : ["gtpu", "$valid$"]
9415 }
9416 }
9417 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009418 "true_next" : "FabricIngress.spgw.uplink_pdrs",
9419 "false_next" : "FabricIngress.spgw.downlink_pdrs"
Robert MacDavidde12b982020-07-15 18:38:59 -07009420 },
9421 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009422 "name" : "node_10",
9423 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009424 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009425 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009426 "line" : 264,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009427 "column" : 16,
9428 "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
9429 },
9430 "expression" : {
9431 "type" : "expression",
9432 "value" : {
9433 "op" : "!=",
9434 "left" : {
9435 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009436 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009437 },
9438 "right" : {
9439 "type" : "hexstr",
9440 "value" : "0x03"
9441 }
9442 }
9443 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009444 "true_next" : "tbl_spgw265",
9445 "false_next" : "node_12"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009446 },
9447 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009448 "name" : "node_12",
9449 "id" : 4,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009450 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009451 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009452 "line" : 68,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009453 "column" : 24,
9454 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -07009455 },
9456 "expression" : {
9457 "type" : "expression",
9458 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009459 "op" : "d2b",
9460 "left" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07009461 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009462 "type" : "field",
9463 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009464 }
9465 }
9466 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009467 "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
9468 "false_next" : "FabricIngress.spgw.fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07009469 },
9470 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009471 "name" : "node_16",
9472 "id" : 5,
Robert MacDavidde12b982020-07-15 18:38:59 -07009473 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009474 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009475 "line" : 112,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009476 "column" : 12,
9477 "source_fragment" : "hdr.vlan_tag.isValid()"
9478 },
9479 "expression" : {
9480 "type" : "expression",
9481 "value" : {
9482 "op" : "d2b",
9483 "left" : null,
9484 "right" : {
9485 "type" : "field",
9486 "value" : ["vlan_tag", "$valid$"]
9487 }
9488 }
9489 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009490 "true_next" : "tbl_filtering113",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009491 "false_next" : "node_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009492 },
9493 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009494 "name" : "node_18",
9495 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009496 "source_info" : {
9497 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009498 "line" : 124,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009499 "column" : 12,
9500 "source_fragment" : "!hdr.mpls.isValid()"
9501 },
9502 "expression" : {
9503 "type" : "expression",
9504 "value" : {
9505 "op" : "not",
9506 "left" : null,
9507 "right" : {
9508 "type" : "expression",
9509 "value" : {
9510 "op" : "d2b",
9511 "left" : null,
9512 "right" : {
9513 "type" : "field",
9514 "value" : ["mpls", "$valid$"]
9515 }
9516 }
9517 }
9518 }
9519 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009520 "true_next" : "tbl_filtering129",
Daniele Moro5a2de712019-09-24 14:34:07 -07009521 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009522 },
9523 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009524 "name" : "node_22",
9525 "id" : 7,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009526 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009527 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009528 "line" : 71,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009529 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009530 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009531 },
9532 "expression" : {
9533 "type" : "expression",
9534 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009535 "op" : "not",
9536 "left" : null,
9537 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009538 "type" : "expression",
9539 "value" : {
9540 "op" : "d2b",
9541 "left" : null,
9542 "right" : {
9543 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009544 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009545 }
9546 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009547 }
9548 }
9549 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009550 "true_next" : "node_23",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009551 "false_next" : "node_29"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009552 },
9553 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009554 "name" : "node_23",
9555 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009556 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009557 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009558 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009559 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009560 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
9561 },
9562 "expression" : {
9563 "type" : "expression",
9564 "value" : {
9565 "op" : "==",
9566 "left" : {
9567 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009568 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009569 },
9570 "right" : {
9571 "type" : "hexstr",
9572 "value" : "0x00"
9573 }
9574 }
9575 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08009576 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009577 "false_next" : "node_25"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009578 },
9579 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009580 "name" : "node_25",
9581 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009582 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009583 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009584 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009585 "column" : 17,
9586 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
9587 },
9588 "expression" : {
9589 "type" : "expression",
9590 "value" : {
9591 "op" : "==",
9592 "left" : {
9593 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009594 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009595 },
9596 "right" : {
9597 "type" : "hexstr",
9598 "value" : "0x01"
9599 }
9600 }
9601 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08009602 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009603 "false_next" : "node_27"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009604 },
9605 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009606 "name" : "node_27",
9607 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009608 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009609 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009610 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009611 "column" : 17,
9612 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
9613 },
9614 "expression" : {
9615 "type" : "expression",
9616 "value" : {
9617 "op" : "==",
9618 "left" : {
9619 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009620 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009621 },
9622 "right" : {
9623 "type" : "hexstr",
9624 "value" : "0x02"
9625 }
9626 }
9627 },
Charles Chan384aea22018-08-23 22:08:02 -07009628 "true_next" : "FabricIngress.forwarding.routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009629 "false_next" : "node_29"
9630 },
9631 {
9632 "name" : "node_29",
9633 "id" : 11,
9634 "source_info" : {
9635 "filename" : "fabric.p4",
9636 "line" : 74,
9637 "column" : 12,
9638 "source_fragment" : "fabric_metadata.skip_next"
9639 },
9640 "expression" : {
9641 "type" : "expression",
9642 "value" : {
9643 "op" : "not",
9644 "left" : null,
9645 "right" : {
9646 "type" : "expression",
9647 "value" : {
9648 "op" : "d2b",
9649 "left" : null,
9650 "right" : {
9651 "type" : "field",
9652 "value" : ["scalars", "userMetadata._skip_next7"]
9653 }
9654 }
9655 }
9656 }
9657 },
9658 "true_next" : "FabricIngress.pre_next.next_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009659 "false_next" : "tbl_acl27"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009660 },
9661 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009662 "name" : "node_33",
9663 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009664 "source_info" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009665 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009666 "line" : 97,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009667 "column" : 12,
9668 "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
9669 },
9670 "expression" : {
9671 "type" : "expression",
9672 "value" : {
9673 "op" : "and",
9674 "left" : {
9675 "type" : "expression",
9676 "value" : {
9677 "op" : "d2b",
9678 "left" : null,
9679 "right" : {
9680 "type" : "field",
9681 "value" : ["gtpu", "$valid$"]
9682 }
9683 }
9684 },
9685 "right" : {
9686 "type" : "expression",
9687 "value" : {
9688 "op" : "d2b",
9689 "left" : null,
9690 "right" : {
9691 "type" : "field",
9692 "value" : ["inner_ipv4", "$valid$"]
9693 }
9694 }
9695 }
9696 }
9697 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009698 "true_next" : "tbl_acl98",
9699 "false_next" : "node_39"
Wailok Shum4f51bde2021-06-11 22:48:41 +08009700 },
9701 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009702 "name" : "node_35",
9703 "id" : 13,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009704 "source_info" : {
9705 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009706 "line" : 101,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009707 "column" : 16,
9708 "source_fragment" : "hdr.inner_tcp.isValid()"
9709 },
9710 "expression" : {
9711 "type" : "expression",
9712 "value" : {
9713 "op" : "d2b",
9714 "left" : null,
9715 "right" : {
9716 "type" : "field",
9717 "value" : ["inner_tcp", "$valid$"]
9718 }
9719 }
9720 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009721 "true_next" : "tbl_acl102",
9722 "false_next" : "node_37"
Wailok Shum4f51bde2021-06-11 22:48:41 +08009723 },
9724 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009725 "name" : "node_37",
9726 "id" : 14,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009727 "source_info" : {
9728 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009729 "line" : 104,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009730 "column" : 23,
9731 "source_fragment" : "hdr.inner_udp.isValid()"
9732 },
9733 "expression" : {
9734 "type" : "expression",
9735 "value" : {
9736 "op" : "d2b",
9737 "left" : null,
9738 "right" : {
9739 "type" : "field",
9740 "value" : ["inner_udp", "$valid$"]
9741 }
9742 }
9743 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009744 "true_next" : "tbl_acl105",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009745 "false_next" : "FabricIngress.acl.acl"
9746 },
9747 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009748 "name" : "node_39",
9749 "id" : 15,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009750 "source_info" : {
9751 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009752 "line" : 108,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009753 "column" : 19,
9754 "source_fragment" : "hdr.ipv4.isValid()"
9755 },
9756 "expression" : {
9757 "type" : "expression",
9758 "value" : {
9759 "op" : "d2b",
9760 "left" : null,
9761 "right" : {
9762 "type" : "field",
9763 "value" : ["ipv4", "$valid$"]
9764 }
9765 }
9766 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009767 "true_next" : "tbl_acl109",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009768 "false_next" : "FabricIngress.acl.acl"
9769 },
9770 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009771 "name" : "node_41",
9772 "id" : 16,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009773 "source_info" : {
9774 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009775 "line" : 112,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009776 "column" : 16,
9777 "source_fragment" : "hdr.tcp.isValid()"
9778 },
9779 "expression" : {
9780 "type" : "expression",
9781 "value" : {
9782 "op" : "d2b",
9783 "left" : null,
9784 "right" : {
9785 "type" : "field",
9786 "value" : ["tcp", "$valid$"]
9787 }
9788 }
9789 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009790 "true_next" : "tbl_acl113",
9791 "false_next" : "node_43"
Wailok Shum4f51bde2021-06-11 22:48:41 +08009792 },
9793 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009794 "name" : "node_43",
9795 "id" : 17,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009796 "source_info" : {
9797 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009798 "line" : 115,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009799 "column" : 23,
9800 "source_fragment" : "hdr.udp.isValid()"
9801 },
9802 "expression" : {
9803 "type" : "expression",
9804 "value" : {
9805 "op" : "d2b",
9806 "left" : null,
9807 "right" : {
9808 "type" : "field",
9809 "value" : ["udp", "$valid$"]
9810 }
9811 }
9812 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009813 "true_next" : "tbl_acl116",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009814 "false_next" : "FabricIngress.acl.acl"
9815 },
9816 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009817 "name" : "node_46",
9818 "id" : 18,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009819 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009820 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009821 "line" : 78,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009822 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009823 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009824 },
9825 "expression" : {
9826 "type" : "expression",
9827 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009828 "op" : "not",
9829 "left" : null,
9830 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009831 "type" : "expression",
9832 "value" : {
9833 "op" : "d2b",
9834 "left" : null,
9835 "right" : {
9836 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009837 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009838 }
9839 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009840 }
9841 }
9842 },
9843 "false_next" : null,
9844 "true_next" : "FabricIngress.next.xconnect"
Yi Tseng27b9bc02018-04-12 14:52:40 +08009845 },
9846 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009847 "name" : "node_50",
9848 "id" : 19,
Yi Tseng27b9bc02018-04-12 14:52:40 +08009849 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009850 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009851 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009852 "column" : 12,
9853 "source_fragment" : "standard_metadata.egress_spec < 511"
9854 },
9855 "expression" : {
9856 "type" : "expression",
9857 "value" : {
9858 "op" : "<",
9859 "left" : {
9860 "type" : "field",
9861 "value" : ["standard_metadata", "egress_spec"]
9862 },
9863 "right" : {
9864 "type" : "hexstr",
9865 "value" : "0x01ff"
9866 }
9867 }
9868 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009869 "true_next" : "tbl_port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009870 "false_next" : "node_52"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009871 },
9872 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009873 "name" : "node_52",
9874 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009875 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009876 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009877 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009878 "column" : 12,
9879 "source_fragment" : "standard_metadata.ingress_port < 511"
9880 },
9881 "expression" : {
9882 "type" : "expression",
9883 "value" : {
9884 "op" : "<",
9885 "left" : {
9886 "type" : "field",
9887 "value" : ["standard_metadata", "ingress_port"]
9888 },
9889 "right" : {
9890 "type" : "hexstr",
9891 "value" : "0x01ff"
9892 }
9893 }
9894 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009895 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009896 "true_next" : "tbl_port_counter34"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009897 }
9898 ]
9899 },
9900 {
9901 "name" : "egress",
9902 "id" : 1,
9903 "source_info" : {
9904 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009905 "line" : 96,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009906 "column" : 8,
9907 "source_fragment" : "FabricEgress"
9908 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009909 "init_table" : "node_56",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009910 "tables" : [
9911 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009912 "name" : "tbl_packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009913 "id" : 31,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009914 "source_info" : {
9915 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009916 "line" : 41,
9917 "column" : 12,
9918 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -07009919 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02009920 "key" : [],
9921 "match_type" : "exact",
9922 "type" : "simple",
9923 "max_size" : 1024,
9924 "with_counters" : false,
9925 "support_timeout" : false,
9926 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009927 "action_ids" : [67],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009928 "actions" : ["packetio41"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08009929 "base_default_next" : "node_58",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009930 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009931 "packetio41" : "node_58"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009932 },
9933 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009934 "action_id" : 67,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009935 "action_const" : true,
9936 "action_data" : [],
9937 "action_entry_const" : true
9938 }
9939 },
9940 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009941 "name" : "tbl_packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009942 "id" : 32,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009943 "source_info" : {
9944 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009945 "line" : 44,
9946 "column" : 12,
9947 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07009948 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009949 "key" : [],
9950 "match_type" : "exact",
9951 "type" : "simple",
9952 "max_size" : 1024,
9953 "with_counters" : false,
9954 "support_timeout" : false,
9955 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009956 "action_ids" : [68],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009957 "actions" : ["packetio44"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08009958 "base_default_next" : "node_60",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009959 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009960 "packetio44" : "node_60"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009961 },
9962 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009963 "action_id" : 68,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009964 "action_const" : true,
9965 "action_data" : [],
9966 "action_entry_const" : true
9967 }
9968 },
9969 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009970 "name" : "tbl_next283",
9971 "id" : 33,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009972 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009973 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009974 "line" : 283,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009975 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009976 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -07009977 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009978 "key" : [],
9979 "match_type" : "exact",
9980 "type" : "simple",
9981 "max_size" : 1024,
9982 "with_counters" : false,
9983 "support_timeout" : false,
9984 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08009985 "action_ids" : [69],
9986 "actions" : ["next283"],
9987 "base_default_next" : "node_62",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009988 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009989 "next283" : "node_62"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009990 },
9991 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08009992 "action_id" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009993 "action_const" : true,
9994 "action_data" : [],
9995 "action_entry_const" : true
9996 }
9997 },
9998 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009999 "name" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010000 "id" : 34,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010001 "source_info" : {
10002 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010003 "line" : 287,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010004 "column" : 36,
10005 "source_fragment" : "pop_mpls_if_present()"
10006 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010007 "key" : [],
10008 "match_type" : "exact",
10009 "type" : "simple",
10010 "max_size" : 1024,
10011 "with_counters" : false,
10012 "support_timeout" : false,
10013 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010014 "action_ids" : [61],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010015 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
10016 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
10017 "next_tables" : {
10018 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
10019 },
10020 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010021 "action_id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010022 "action_const" : true,
10023 "action_data" : [],
10024 "action_entry_const" : true
10025 }
10026 },
10027 {
10028 "name" : "tbl_egress_next_set_mpls",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010029 "id" : 35,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010030 "source_info" : {
10031 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010032 "line" : 289,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010033 "column" : 12,
10034 "source_fragment" : "set_mpls()"
10035 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010036 "key" : [],
10037 "match_type" : "exact",
10038 "type" : "simple",
10039 "max_size" : 1024,
10040 "with_counters" : false,
10041 "support_timeout" : false,
10042 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010043 "action_ids" : [62],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010044 "actions" : ["FabricEgress.egress_next.set_mpls"],
10045 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
10046 "next_tables" : {
10047 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
10048 },
10049 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010050 "action_id" : 62,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010051 "action_const" : true,
10052 "action_data" : [],
10053 "action_entry_const" : true
10054 }
10055 },
10056 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010057 "name" : "FabricEgress.egress_next.egress_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010058 "id" : 36,
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010059 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020010060 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010061 "line" : 265,
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010062 "column" : 10,
10063 "source_fragment" : "egress_vlan"
10064 },
10065 "key" : [
10066 {
10067 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010068 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010069 "target" : ["scalars", "userMetadata._vlan_id1"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010070 "mask" : null
10071 },
10072 {
10073 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010074 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010075 "target" : ["standard_metadata", "egress_port"],
10076 "mask" : null
10077 }
10078 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080010079 "match_type" : "exact",
10080 "type" : "simple",
10081 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +080010082 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080010083 "support_timeout" : false,
10084 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010085 "action_ids" : [63, 64, 65],
pierventre48e78822020-12-15 17:34:54 +010010086 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +080010087 "base_default_next" : "node_67",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080010088 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010089 "FabricEgress.egress_next.push_vlan" : "node_67",
10090 "FabricEgress.egress_next.pop_vlan" : "node_67",
10091 "FabricEgress.egress_next.drop" : "node_67"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010092 },
10093 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010094 "action_id" : 65,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010095 "action_const" : true,
10096 "action_data" : [],
10097 "action_entry_const" : true
10098 }
10099 },
10100 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010101 "name" : "tbl_next309",
10102 "id" : 37,
pierventre48e78822020-12-15 17:34:54 +010010103 "source_info" : {
10104 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010105 "line" : 309,
pierventre48e78822020-12-15 17:34:54 +010010106 "column" : 25,
10107 "source_fragment" : "="
Daniele Moro7c3a0022019-07-12 13:38:34 -070010108 },
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010109 "key" : [],
10110 "match_type" : "exact",
10111 "type" : "simple",
10112 "max_size" : 1024,
10113 "with_counters" : false,
10114 "support_timeout" : false,
10115 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010116 "action_ids" : [71],
10117 "actions" : ["next309"],
10118 "base_default_next" : "node_69",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010119 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010120 "next309" : "node_69"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010121 },
10122 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010123 "action_id" : 71,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010124 "action_const" : true,
10125 "action_data" : [],
10126 "action_entry_const" : true
10127 }
10128 },
10129 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010130 "name" : "tbl_next310",
10131 "id" : 38,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010132 "source_info" : {
10133 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010134 "line" : 310,
pierventre48e78822020-12-15 17:34:54 +010010135 "column" : 35,
10136 "source_fragment" : "mark_to_drop(standard_metadata)"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010137 },
10138 "key" : [],
10139 "match_type" : "exact",
10140 "type" : "simple",
10141 "max_size" : 1024,
10142 "with_counters" : false,
10143 "support_timeout" : false,
10144 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010145 "action_ids" : [70],
10146 "actions" : ["next310"],
10147 "base_default_next" : "node_75",
Daniele Moro7c3a0022019-07-12 13:38:34 -070010148 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010149 "next310" : "node_75"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010150 },
10151 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010152 "action_id" : 70,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010153 "action_const" : true,
10154 "action_data" : [],
10155 "action_entry_const" : true
10156 }
10157 },
10158 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010159 "name" : "tbl_next313",
10160 "id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010161 "source_info" : {
10162 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010163 "line" : 313,
pierventre48e78822020-12-15 17:34:54 +010010164 "column" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010165 "source_fragment" : "="
10166 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010167 "key" : [],
10168 "match_type" : "exact",
10169 "type" : "simple",
10170 "max_size" : 1024,
10171 "with_counters" : false,
10172 "support_timeout" : false,
10173 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010174 "action_ids" : [73],
10175 "actions" : ["next313"],
10176 "base_default_next" : "node_73",
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010177 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010178 "next313" : "node_73"
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010179 },
10180 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010181 "action_id" : 73,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010182 "action_const" : true,
10183 "action_data" : [],
10184 "action_entry_const" : true
10185 }
10186 },
10187 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010188 "name" : "tbl_next314",
10189 "id" : 40,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010190 "source_info" : {
10191 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010192 "line" : 314,
pierventre48e78822020-12-15 17:34:54 +010010193 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010194 "source_fragment" : "mark_to_drop(standard_metadata)"
10195 },
10196 "key" : [],
10197 "match_type" : "exact",
10198 "type" : "simple",
10199 "max_size" : 1024,
10200 "with_counters" : false,
10201 "support_timeout" : false,
10202 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010203 "action_ids" : [72],
10204 "actions" : ["next314"],
10205 "base_default_next" : "node_75",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010206 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010207 "next314" : "node_75"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010208 },
10209 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010210 "action_id" : 72,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010211 "action_const" : true,
10212 "action_data" : [],
10213 "action_entry_const" : true
10214 }
10215 },
10216 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010217 "name" : "tbl_spgw_gtpu_encap",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010218 "id" : 41,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010219 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010220 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010221 "line" : 339,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010222 "column" : 16,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010223 "source_fragment" : "gtpu_encap()"
10224 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010225 "key" : [],
10226 "match_type" : "exact",
10227 "type" : "simple",
10228 "max_size" : 1024,
10229 "with_counters" : false,
10230 "support_timeout" : false,
10231 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010232 "action_ids" : [66],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010233 "actions" : ["FabricEgress.spgw.gtpu_encap"],
Wailok Shumfb7e7872021-06-18 17:30:08 +080010234 "base_default_next" : "node_78",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010235 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010236 "FabricEgress.spgw.gtpu_encap" : "node_78"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010237 },
10238 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010239 "action_id" : 66,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010240 "action_const" : true,
10241 "action_data" : [],
10242 "action_entry_const" : true
10243 }
10244 },
10245 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010246 "name" : "tbl_spgw342",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010247 "id" : 42,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010248 "source_info" : {
10249 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010250 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010251 "column" : 16,
10252 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
10253 },
10254 "key" : [],
10255 "match_type" : "exact",
10256 "type" : "simple",
10257 "max_size" : 1024,
10258 "with_counters" : false,
10259 "support_timeout" : false,
10260 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010261 "action_ids" : [74],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010262 "actions" : ["spgw342"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010263 "base_default_next" : null,
10264 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010265 "spgw342" : null
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010266 },
10267 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010268 "action_id" : 74,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010269 "action_const" : true,
10270 "action_data" : [],
10271 "action_entry_const" : true
10272 }
10273 }
10274 ],
10275 "action_profiles" : [],
10276 "conditionals" : [
10277 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010278 "name" : "node_56",
10279 "id" : 21,
Carmelo Casconea5400af2018-07-17 22:11:54 +020010280 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010281 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010282 "line" : 108,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010283 "column" : 33,
10284 "source_fragment" : "fabric_metadata"
Carmelo Casconea5400af2018-07-17 22:11:54 +020010285 },
10286 "expression" : {
10287 "type" : "expression",
10288 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010289 "op" : "d2b",
10290 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +020010291 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010292 "type" : "field",
10293 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Casconea5400af2018-07-17 22:11:54 +020010294 }
10295 }
10296 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010297 "true_next" : "tbl_packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010298 "false_next" : "node_58"
Carmelo Casconea5400af2018-07-17 22:11:54 +020010299 },
10300 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010301 "name" : "node_58",
10302 "id" : 22,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010303 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020010304 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010305 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010306 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -080010307 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010308 },
10309 "expression" : {
10310 "type" : "expression",
10311 "value" : {
10312 "op" : "==",
10313 "left" : {
10314 "type" : "field",
10315 "value" : ["standard_metadata", "egress_port"]
10316 },
10317 "right" : {
10318 "type" : "hexstr",
10319 "value" : "0x00ff"
10320 }
10321 }
10322 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010323 "true_next" : "tbl_packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010324 "false_next" : "node_60"
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010325 },
10326 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010327 "name" : "node_60",
10328 "id" : 23,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010329 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010330 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010331 "line" : 281,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010332 "column" : 12,
10333 "source_fragment" : "fabric_metadata.is_multicast == true ..."
10334 },
10335 "expression" : {
10336 "type" : "expression",
10337 "value" : {
10338 "op" : "and",
10339 "left" : {
10340 "type" : "expression",
10341 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010342 "op" : "d2b",
10343 "left" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010344 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010345 "type" : "field",
10346 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010347 }
10348 }
10349 },
10350 "right" : {
10351 "type" : "expression",
10352 "value" : {
10353 "op" : "==",
10354 "left" : {
10355 "type" : "field",
10356 "value" : ["standard_metadata", "ingress_port"]
10357 },
10358 "right" : {
10359 "type" : "field",
10360 "value" : ["standard_metadata", "egress_port"]
10361 }
10362 }
10363 }
10364 }
10365 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080010366 "true_next" : "tbl_next283",
10367 "false_next" : "node_62"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010368 },
10369 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010370 "name" : "node_62",
10371 "id" : 24,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010372 "source_info" : {
10373 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010374 "line" : 286,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010375 "column" : 12,
10376 "source_fragment" : "fabric_metadata.mpls_label == 0"
10377 },
10378 "expression" : {
10379 "type" : "expression",
10380 "value" : {
10381 "op" : "==",
10382 "left" : {
10383 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010384 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010385 },
10386 "right" : {
10387 "type" : "hexstr",
10388 "value" : "0x000000"
10389 }
10390 }
10391 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080010392 "true_next" : "node_63",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010393 "false_next" : "tbl_egress_next_set_mpls"
10394 },
10395 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010396 "name" : "node_63",
10397 "id" : 25,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010398 "source_info" : {
10399 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010400 "line" : 287,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010401 "column" : 16,
10402 "source_fragment" : "hdr.mpls.isValid()"
10403 },
10404 "expression" : {
10405 "type" : "expression",
10406 "value" : {
10407 "op" : "d2b",
10408 "left" : null,
10409 "right" : {
10410 "type" : "field",
10411 "value" : ["mpls", "$valid$"]
10412 }
10413 }
10414 },
10415 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010416 "false_next" : "FabricEgress.egress_next.egress_vlan"
10417 },
10418 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010419 "name" : "node_67",
10420 "id" : 26,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010421 "source_info" : {
10422 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010423 "line" : 308,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010424 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010425 "source_fragment" : "hdr.mpls.isValid()"
10426 },
10427 "expression" : {
10428 "type" : "expression",
10429 "value" : {
10430 "op" : "d2b",
10431 "left" : null,
10432 "right" : {
10433 "type" : "field",
10434 "value" : ["mpls", "$valid$"]
10435 }
10436 }
10437 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080010438 "true_next" : "tbl_next309",
10439 "false_next" : "node_71"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010440 },
10441 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010442 "name" : "node_69",
10443 "id" : 27,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010444 "source_info" : {
10445 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010446 "line" : 310,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010447 "column" : 16,
10448 "source_fragment" : "hdr.mpls.ttl == 0"
10449 },
10450 "expression" : {
10451 "type" : "expression",
10452 "value" : {
10453 "op" : "==",
10454 "left" : {
10455 "type" : "field",
10456 "value" : ["mpls", "ttl"]
10457 },
10458 "right" : {
10459 "type" : "hexstr",
10460 "value" : "0x00"
10461 }
10462 }
10463 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080010464 "true_next" : "tbl_next310",
10465 "false_next" : "node_75"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010466 },
10467 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010468 "name" : "node_71",
10469 "id" : 28,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010470 "source_info" : {
10471 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010472 "line" : 312,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010473 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -070010474 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010475 },
10476 "expression" : {
10477 "type" : "expression",
10478 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -070010479 "op" : "and",
10480 "left" : {
10481 "type" : "expression",
10482 "value" : {
10483 "op" : "d2b",
10484 "left" : null,
10485 "right" : {
10486 "type" : "field",
10487 "value" : ["ipv4", "$valid$"]
10488 }
10489 }
10490 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010491 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -070010492 "type" : "expression",
10493 "value" : {
10494 "op" : "!=",
10495 "left" : {
10496 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010497 "value" : ["scalars", "userMetadata._fwd_type8"]
Charles Chan74ad51e2020-09-12 19:05:42 -070010498 },
10499 "right" : {
10500 "type" : "hexstr",
10501 "value" : "0x00"
10502 }
10503 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010504 }
10505 }
10506 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080010507 "true_next" : "tbl_next313",
10508 "false_next" : "node_75"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010509 },
10510 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010511 "name" : "node_73",
10512 "id" : 29,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010513 "source_info" : {
10514 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010515 "line" : 314,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010516 "column" : 20,
10517 "source_fragment" : "hdr.ipv4.ttl == 0"
10518 },
10519 "expression" : {
10520 "type" : "expression",
10521 "value" : {
10522 "op" : "==",
10523 "left" : {
10524 "type" : "field",
10525 "value" : ["ipv4", "ttl"]
10526 },
10527 "right" : {
10528 "type" : "hexstr",
10529 "value" : "0x00"
10530 }
10531 }
10532 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080010533 "true_next" : "tbl_next314",
10534 "false_next" : "node_75"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010535 },
10536 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010537 "name" : "node_75",
10538 "id" : 30,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010539 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010540 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010541 "line" : 337,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010542 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010543 "source_fragment" : "fabric_md.spgw.skip_spgw"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010544 },
10545 "expression" : {
10546 "type" : "expression",
10547 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010548 "op" : "not",
10549 "left" : null,
10550 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010551 "type" : "expression",
10552 "value" : {
10553 "op" : "d2b",
10554 "left" : null,
10555 "right" : {
10556 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010557 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -070010558 }
10559 }
Robert MacDavidde12b982020-07-15 18:38:59 -070010560 }
10561 }
10562 },
10563 "false_next" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010564 "true_next" : "node_76"
Robert MacDavidde12b982020-07-15 18:38:59 -070010565 },
10566 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010567 "name" : "node_76",
10568 "id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -070010569 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010570 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010571 "line" : 111,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010572 "column" : 24,
10573 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -070010574 },
10575 "expression" : {
10576 "type" : "expression",
10577 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010578 "op" : "d2b",
10579 "left" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010580 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010581 "type" : "field",
10582 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010583 }
10584 }
10585 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010586 "true_next" : "tbl_spgw_gtpu_encap",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010587 "false_next" : "node_78"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010588 },
10589 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010590 "name" : "node_78",
10591 "id" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010592 "source_info" : {
10593 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010594 "line" : 341,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010595 "column" : 16,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010596 "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010597 },
10598 "expression" : {
10599 "type" : "expression",
10600 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010601 "op" : "not",
10602 "left" : null,
10603 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010604 "type" : "expression",
10605 "value" : {
10606 "op" : "d2b",
10607 "left" : null,
10608 "right" : {
10609 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010610 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010611 }
10612 }
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010613 }
10614 }
10615 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010616 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010617 "true_next" : "tbl_spgw342"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010618 }
10619 ]
10620 }
10621 ],
10622 "checksums" : [
10623 {
10624 "name" : "cksum",
10625 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010626 "source_info" : {
10627 "filename" : "include/checksum.p4",
10628 "line" : 28,
10629 "column" : 8,
10630 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
10631 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010632 "target" : ["ipv4", "hdr_checksum"],
10633 "type" : "generic",
10634 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010635 "verify" : false,
10636 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010637 "if_cond" : {
10638 "type" : "expression",
10639 "value" : {
10640 "op" : "d2b",
10641 "left" : null,
10642 "right" : {
10643 "type" : "field",
10644 "value" : ["ipv4", "$valid$"]
10645 }
10646 }
10647 }
10648 },
10649 {
10650 "name" : "cksum_0",
10651 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010652 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010653 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010654 "line" : 358,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010655 "column" : 8,
10656 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
10657 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010658 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010659 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010660 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010661 "verify" : false,
10662 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010663 "if_cond" : {
10664 "type" : "expression",
10665 "value" : {
10666 "op" : "d2b",
10667 "left" : null,
10668 "right" : {
10669 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010670 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010671 }
10672 }
10673 }
10674 },
10675 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010676 "name" : "cksum_1",
10677 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010678 "source_info" : {
10679 "filename" : "include/checksum.p4",
10680 "line" : 57,
10681 "column" : 8,
10682 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
10683 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010684 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010685 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010686 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010687 "verify" : true,
10688 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010689 "if_cond" : {
10690 "type" : "expression",
10691 "value" : {
10692 "op" : "d2b",
10693 "left" : null,
10694 "right" : {
10695 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010696 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010697 }
10698 }
10699 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010700 }
10701 ],
10702 "force_arith" : [],
10703 "extern_instances" : [],
10704 "field_aliases" : [
10705 [
10706 "queueing_metadata.enq_timestamp",
10707 ["standard_metadata", "enq_timestamp"]
10708 ],
10709 [
10710 "queueing_metadata.enq_qdepth",
10711 ["standard_metadata", "enq_qdepth"]
10712 ],
10713 [
10714 "queueing_metadata.deq_timedelta",
10715 ["standard_metadata", "deq_timedelta"]
10716 ],
10717 [
10718 "queueing_metadata.deq_qdepth",
10719 ["standard_metadata", "deq_qdepth"]
10720 ],
10721 [
10722 "intrinsic_metadata.ingress_global_timestamp",
10723 ["standard_metadata", "ingress_global_timestamp"]
10724 ],
10725 [
Yi Tseng27b9bc02018-04-12 14:52:40 +080010726 "intrinsic_metadata.egress_global_timestamp",
10727 ["standard_metadata", "egress_global_timestamp"]
10728 ],
10729 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010730 "intrinsic_metadata.mcast_grp",
10731 ["standard_metadata", "mcast_grp"]
10732 ],
10733 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010734 "intrinsic_metadata.egress_rid",
10735 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +080010736 ],
10737 [
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010738 "intrinsic_metadata.priority",
10739 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010740 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010741 ],
10742 "program" : "fabric.p4",
10743 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010744 "version" : [2, 23],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010745 "compiler" : "https://github.com/p4lang/p4c"
10746 }
Carmelo Cascone25243d62019-02-21 15:37:31 -080010747}