blob: bfb06d662442f7f6ca52ac26fccc3bf479f6a361 [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],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010 ["gtpu_ext_len_0", 8, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070011 ["tmp_1", 16, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012 ["tmp_3", 16, false],
13 ["tmp_5", 4, false],
14 ["tmp_6", 16, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070015 ["tmp_7", 64, false],
16 ["tmp_8", 32, false],
17 ["tmp_9", 32, false],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020018 ["tmp_10", 32, false],
19 ["dscp_rewriter_tmp_dscp", 6, false],
20 ["userMetadata._lkp_is_ipv40", 1, false],
21 ["userMetadata._lkp_ipv4_src1", 32, false],
22 ["userMetadata._lkp_ipv4_dst2", 32, false],
23 ["userMetadata._lkp_ip_proto3", 8, false],
24 ["userMetadata._lkp_l4_sport4", 16, false],
25 ["userMetadata._lkp_l4_dport5", 16, false],
26 ["userMetadata._lkp_icmp_type6", 8, false],
27 ["userMetadata._lkp_icmp_code7", 8, false],
28 ["userMetadata._ip_eth_type8", 16, false],
29 ["userMetadata._vlan_id9", 12, false],
30 ["userMetadata._vlan_pri10", 3, false],
31 ["userMetadata._vlan_cfi11", 1, false],
32 ["userMetadata._mpls_label12", 20, false],
33 ["userMetadata._mpls_ttl13", 8, false],
34 ["userMetadata._skip_forwarding14", 1, false],
35 ["userMetadata._skip_next15", 1, false],
36 ["userMetadata._fwd_type16", 3, false],
37 ["userMetadata._next_id17", 32, false],
38 ["userMetadata._is_multicast18", 1, false],
39 ["userMetadata._is_controller_packet_out19", 1, false],
40 ["userMetadata._ip_proto20", 8, false],
41 ["userMetadata._l4_sport21", 16, false],
42 ["userMetadata._l4_dport22", 16, false],
43 ["userMetadata._ipv4_src_addr23", 32, false],
44 ["userMetadata._ipv4_dst_addr24", 32, false],
45 ["userMetadata._slice_id25", 4, false],
46 ["userMetadata._packet_color26", 2, false],
47 ["userMetadata._tc27", 2, false],
48 ["userMetadata._dscp28", 6, false],
49 ["userMetadata._inner_l4_sport29", 16, false],
50 ["userMetadata._inner_l4_dport30", 16, false],
51 ["userMetadata._spgw_ipv4_len31", 16, false],
52 ["userMetadata._spgw_teid32", 32, false],
53 ["userMetadata._spgw_tunnel_src_port33", 16, false],
54 ["userMetadata._spgw_tunnel_src_addr34", 32, false],
55 ["userMetadata._spgw_tunnel_dst_addr35", 32, false],
56 ["userMetadata._spgw_ctr_id36", 32, false],
57 ["userMetadata._spgw_far_id37", 32, false],
58 ["userMetadata._spgw_src_iface38", 8, false],
59 ["userMetadata._spgw_qfi39", 6, false],
60 ["userMetadata._spgw_skip_spgw40", 1, false],
61 ["userMetadata._spgw_notify_spgwc41", 1, false],
62 ["userMetadata._spgw_needs_gtpu_encap42", 1, false],
63 ["userMetadata._spgw_needs_gtpu_decap43", 1, false],
64 ["userMetadata._spgw_skip_egress_pdr_ctr44", 1, false],
65 ["userMetadata._spgw_needs_qfi_push45", 1, false],
66 ["userMetadata._port_type46", 2, false],
67 ["_padding_0", 2, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080068 ]
69 },
70 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020071 "name" : "packet_out_header_t",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080072 "id" : 1,
73 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +020074 ["egress_port", 9, false],
75 ["do_forwarding", 1, false],
76 ["_pad", 6, false]
77 ]
78 },
79 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070080 "name" : "gtpu_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020081 "id" : 2,
82 "fields" : [
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070083 ["version", 3, false],
84 ["pt", 1, false],
85 ["spare", 1, false],
86 ["ex_flag", 1, false],
87 ["seq_flag", 1, false],
88 ["npdu_flag", 1, false],
89 ["msgtype", 8, false],
90 ["msglen", 16, false],
91 ["teid", 32, false]
92 ]
93 },
94 {
95 "name" : "standard_metadata",
96 "id" : 3,
97 "fields" : [
Carmelo Cascone6af4e172018-06-15 16:01:30 +020098 ["ingress_port", 9, false],
99 ["egress_spec", 9, false],
100 ["egress_port", 9, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200101 ["instance_type", 32, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200102 ["packet_length", 32, false],
103 ["enq_timestamp", 32, false],
104 ["enq_qdepth", 19, false],
105 ["deq_timedelta", 32, false],
106 ["deq_qdepth", 19, false],
107 ["ingress_global_timestamp", 48, false],
108 ["egress_global_timestamp", 48, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200109 ["mcast_grp", 16, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200110 ["egress_rid", 16, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700111 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700112 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700113 ["priority", 3, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200114 ["_padding", 3, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200115 ]
116 },
117 {
118 "name" : "ethernet_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700119 "id" : 4,
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200120 "fields" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800121 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700122 ["src_addr", 48, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800123 ]
124 },
125 {
126 "name" : "vlan_tag_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700127 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800128 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -0700129 ["eth_type", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800130 ["pri", 3, false],
131 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700132 ["vlan_id", 12, false]
133 ]
134 },
135 {
136 "name" : "eth_type_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700137 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700138 "fields" : [
139 ["value", 16, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800140 ]
141 },
142 {
143 "name" : "mpls_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700144 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800145 "fields" : [
146 ["label", 20, false],
147 ["tc", 3, false],
148 ["bos", 1, false],
149 ["ttl", 8, false]
150 ]
151 },
152 {
153 "name" : "ipv4_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700154 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800155 "fields" : [
156 ["version", 4, false],
157 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900158 ["dscp", 6, false],
159 ["ecn", 2, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800160 ["total_len", 16, false],
161 ["identification", 16, false],
162 ["flags", 3, false],
163 ["frag_offset", 13, false],
164 ["ttl", 8, false],
165 ["protocol", 8, false],
166 ["hdr_checksum", 16, false],
167 ["src_addr", 32, false],
168 ["dst_addr", 32, false]
169 ]
170 },
171 {
172 "name" : "udp_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700173 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800174 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800175 ["sport", 16, false],
176 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800177 ["len", 16, false],
178 ["checksum", 16, false]
179 ]
180 },
181 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200182 "name" : "gtpu_options_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200183 "id" : 10,
Yi Tseng27b9bc02018-04-12 14:52:40 +0800184 "fields" : [
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200185 ["seq_num", 16, false],
186 ["n_pdu_num", 8, false],
187 ["next_ext", 8, false]
188 ]
189 },
190 {
191 "name" : "gtpu_ext_psc_t",
192 "id" : 11,
193 "fields" : [
194 ["len", 8, false],
195 ["type", 4, false],
196 ["spare0", 4, false],
197 ["ppp", 1, false],
198 ["rqi", 1, false],
199 ["qfi", 6, false],
200 ["next_ext", 8, false]
201 ]
202 },
203 {
204 "name" : "tcp_t",
205 "id" : 12,
206 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800207 ["sport", 16, false],
208 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800209 ["seq_no", 32, false],
210 ["ack_no", 32, false],
211 ["data_offset", 4, false],
212 ["res", 3, false],
213 ["ecn", 3, false],
214 ["ctrl", 6, false],
215 ["window", 16, false],
216 ["checksum", 16, false],
217 ["urgent_ptr", 16, false]
218 ]
219 },
220 {
221 "name" : "icmp_t",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200222 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800223 "fields" : [
224 ["icmp_type", 8, false],
225 ["icmp_code", 8, false],
226 ["checksum", 16, false],
227 ["identifier", 16, false],
228 ["sequence_number", 16, false],
229 ["timestamp", 64, false]
230 ]
231 },
232 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800233 "name" : "packet_in_header_t",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200234 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800235 "fields" : [
236 ["ingress_port", 9, false],
237 ["_pad", 7, false]
238 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800239 }
240 ],
241 "headers" : [
242 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200243 "name" : "tmp",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800244 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200245 "header_type" : "packet_out_header_t",
246 "metadata" : false,
247 "pi_omit" : true
248 },
249 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700250 "name" : "gtpu_0",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200251 "id" : 1,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700252 "header_type" : "gtpu_t",
253 "metadata" : false,
254 "pi_omit" : true
255 },
256 {
257 "name" : "scalars",
258 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800259 "header_type" : "scalars_0",
260 "metadata" : true,
261 "pi_omit" : true
262 },
263 {
264 "name" : "standard_metadata",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700265 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800266 "header_type" : "standard_metadata",
267 "metadata" : true,
268 "pi_omit" : true
269 },
270 {
271 "name" : "ethernet",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700272 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800273 "header_type" : "ethernet_t",
274 "metadata" : false,
275 "pi_omit" : true
276 },
277 {
278 "name" : "vlan_tag",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800279 "id" : 5,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200280 "header_type" : "vlan_tag_t",
281 "metadata" : false,
282 "pi_omit" : true
283 },
284 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700285 "name" : "inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200286 "id" : 6,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700287 "header_type" : "vlan_tag_t",
288 "metadata" : false,
289 "pi_omit" : true
290 },
291 {
292 "name" : "eth_type",
293 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700294 "header_type" : "eth_type_t",
295 "metadata" : false,
296 "pi_omit" : true
297 },
298 {
299 "name" : "mpls",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700300 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800301 "header_type" : "mpls_t",
302 "metadata" : false,
303 "pi_omit" : true
304 },
305 {
306 "name" : "gtpu_ipv4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700307 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800308 "header_type" : "ipv4_t",
309 "metadata" : false,
310 "pi_omit" : true
311 },
312 {
313 "name" : "gtpu_udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700314 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800315 "header_type" : "udp_t",
316 "metadata" : false,
317 "pi_omit" : true
318 },
319 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700320 "name" : "outer_gtpu",
Robert MacDavidde12b982020-07-15 18:38:59 -0700321 "id" : 11,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200322 "header_type" : "gtpu_t",
323 "metadata" : false,
324 "pi_omit" : true
325 },
326 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200327 "name" : "outer_gtpu_options",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200328 "id" : 12,
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200329 "header_type" : "gtpu_options_t",
330 "metadata" : false,
331 "pi_omit" : true
332 },
333 {
334 "name" : "outer_gtpu_ext_psc",
335 "id" : 13,
336 "header_type" : "gtpu_ext_psc_t",
337 "metadata" : false,
338 "pi_omit" : true
339 },
340 {
341 "name" : "gtpu",
342 "id" : 14,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700343 "header_type" : "gtpu_t",
344 "metadata" : false,
345 "pi_omit" : true
346 },
347 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200348 "name" : "gtpu_options",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700349 "id" : 15,
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200350 "header_type" : "gtpu_options_t",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800351 "metadata" : false,
352 "pi_omit" : true
353 },
354 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200355 "name" : "gtpu_ext_psc",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700356 "id" : 16,
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200357 "header_type" : "gtpu_ext_psc_t",
Robert MacDavidde12b982020-07-15 18:38:59 -0700358 "metadata" : false,
359 "pi_omit" : true
360 },
361 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200362 "name" : "inner_ipv4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700363 "id" : 17,
Robert MacDavidde12b982020-07-15 18:38:59 -0700364 "header_type" : "ipv4_t",
365 "metadata" : false,
366 "pi_omit" : true
367 },
368 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200369 "name" : "inner_udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700370 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800371 "header_type" : "udp_t",
372 "metadata" : false,
373 "pi_omit" : true
374 },
375 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200376 "name" : "inner_tcp",
377 "id" : 19,
378 "header_type" : "tcp_t",
379 "metadata" : false,
380 "pi_omit" : true
381 },
382 {
383 "name" : "inner_icmp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700384 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800385 "header_type" : "icmp_t",
386 "metadata" : false,
387 "pi_omit" : true
388 },
389 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200390 "name" : "ipv4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700391 "id" : 21,
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200392 "header_type" : "ipv4_t",
393 "metadata" : false,
394 "pi_omit" : true
395 },
396 {
397 "name" : "tcp",
398 "id" : 22,
399 "header_type" : "tcp_t",
400 "metadata" : false,
401 "pi_omit" : true
402 },
403 {
404 "name" : "udp",
405 "id" : 23,
406 "header_type" : "udp_t",
407 "metadata" : false,
408 "pi_omit" : true
409 },
410 {
411 "name" : "icmp",
412 "id" : 24,
413 "header_type" : "icmp_t",
414 "metadata" : false,
415 "pi_omit" : true
416 },
417 {
418 "name" : "packet_out",
419 "id" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800420 "header_type" : "packet_out_header_t",
421 "metadata" : false,
422 "pi_omit" : true
423 },
424 {
425 "name" : "packet_in",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200426 "id" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800427 "header_type" : "packet_in_header_t",
428 "metadata" : false,
429 "pi_omit" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800430 }
431 ],
432 "header_stacks" : [],
433 "header_union_types" : [],
434 "header_unions" : [],
435 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700436 "field_lists" : [
437 {
438 "id" : 1,
439 "name" : "fl",
440 "source_info" : {
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700441 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200442 "line" : 45,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700443 "column" : 40,
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700444 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700445 },
446 "elements" : [
447 {
448 "type" : "field",
449 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700450 }
451 ]
452 }
453 ],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700454 "errors" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700455 ["NoError", 1],
456 ["PacketTooShort", 2],
457 ["NoMatch", 3],
458 ["StackOutOfBounds", 4],
459 ["HeaderTooShort", 5],
460 ["ParserTimeout", 6],
461 ["ParserInvalidArgument", 7]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700462 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800463 "enums" : [],
464 "parsers" : [
465 {
466 "name" : "parser",
467 "id" : 0,
468 "init_state" : "start",
469 "parse_states" : [
470 {
471 "name" : "start",
472 "id" : 0,
473 "parser_ops" : [],
474 "transitions" : [
475 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800476 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800477 "value" : "0x00ff",
478 "mask" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200479 "next_state" : "check_packet_out"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800480 },
481 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200482 "type" : "default",
483 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800484 "mask" : null,
485 "next_state" : "parse_ethernet"
486 }
487 ],
488 "transition_key" : [
489 {
490 "type" : "field",
491 "value" : ["standard_metadata", "ingress_port"]
492 }
493 ]
494 },
495 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200496 "name" : "check_packet_out",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800497 "id" : 1,
498 "parser_ops" : [
499 {
500 "parameters" : [
501 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200502 "type" : "field",
503 "value" : ["scalars", "tmp_6"]
504 },
505 {
506 "type" : "lookahead",
507 "value" : [0, 16]
508 }
509 ],
510 "op" : "set"
511 },
512 {
513 "parameters" : [
514 {
515 "parameters" : [
516 {
517 "type" : "header",
518 "value" : "tmp"
519 }
520 ],
521 "op" : "add_header"
522 }
523 ],
524 "op" : "primitive"
525 },
526 {
527 "parameters" : [
528 {
529 "type" : "field",
530 "value" : ["tmp", "egress_port"]
531 },
532 {
533 "type" : "expression",
534 "value" : {
535 "type" : "expression",
536 "value" : {
537 "op" : "&",
538 "left" : {
539 "type" : "expression",
540 "value" : {
541 "op" : "&",
542 "left" : {
543 "type" : "expression",
544 "value" : {
545 "op" : ">>",
546 "left" : {
547 "type" : "field",
548 "value" : ["scalars", "tmp_6"]
549 },
550 "right" : {
551 "type" : "hexstr",
552 "value" : "0x7"
553 }
554 }
555 },
556 "right" : {
557 "type" : "hexstr",
558 "value" : "0xffff"
559 }
560 }
561 },
562 "right" : {
563 "type" : "hexstr",
564 "value" : "0x01ff"
565 }
566 }
567 }
568 }
569 ],
570 "op" : "set"
571 },
572 {
573 "parameters" : [
574 {
575 "type" : "field",
576 "value" : ["tmp", "do_forwarding"]
577 },
578 {
579 "type" : "expression",
580 "value" : {
581 "type" : "expression",
582 "value" : {
583 "op" : "&",
584 "left" : {
585 "type" : "expression",
586 "value" : {
587 "op" : "&",
588 "left" : {
589 "type" : "expression",
590 "value" : {
591 "op" : ">>",
592 "left" : {
593 "type" : "field",
594 "value" : ["scalars", "tmp_6"]
595 },
596 "right" : {
597 "type" : "hexstr",
598 "value" : "0x6"
599 }
600 }
601 },
602 "right" : {
603 "type" : "hexstr",
604 "value" : "0xffff"
605 }
606 }
607 },
608 "right" : {
609 "type" : "hexstr",
610 "value" : "0x01"
611 }
612 }
613 }
614 }
615 ],
616 "op" : "set"
617 },
618 {
619 "parameters" : [
620 {
621 "type" : "field",
622 "value" : ["tmp", "_pad"]
623 },
624 {
625 "type" : "expression",
626 "value" : {
627 "type" : "expression",
628 "value" : {
629 "op" : "&",
630 "left" : {
631 "type" : "field",
632 "value" : ["scalars", "tmp_6"]
633 },
634 "right" : {
635 "type" : "hexstr",
636 "value" : "0x3f"
637 }
638 }
639 }
640 }
641 ],
642 "op" : "set"
643 },
644 {
645 "parameters" : [
646 {
647 "type" : "field",
648 "value" : ["scalars", "tmp_0"]
649 },
650 {
651 "type" : "expression",
652 "value" : {
653 "type" : "expression",
654 "value" : {
655 "op" : "&",
656 "left" : {
657 "type" : "expression",
658 "value" : {
659 "op" : "&",
660 "left" : {
661 "type" : "expression",
662 "value" : {
663 "op" : ">>",
664 "left" : {
665 "type" : "field",
666 "value" : ["scalars", "tmp_6"]
667 },
668 "right" : {
669 "type" : "hexstr",
670 "value" : "0x6"
671 }
672 }
673 },
674 "right" : {
675 "type" : "hexstr",
676 "value" : "0xffff"
677 }
678 }
679 },
680 "right" : {
681 "type" : "hexstr",
682 "value" : "0x01"
683 }
684 }
685 }
686 }
687 ],
688 "op" : "set"
689 }
690 ],
691 "transitions" : [
692 {
693 "type" : "hexstr",
694 "value" : "0x00",
695 "mask" : null,
696 "next_state" : "parse_packet_out_and_accept"
697 },
698 {
699 "type" : "default",
700 "value" : null,
701 "mask" : null,
702 "next_state" : "strip_packet_out"
703 }
704 ],
705 "transition_key" : [
706 {
707 "type" : "field",
708 "value" : ["scalars", "tmp_0"]
709 }
710 ]
711 },
712 {
713 "name" : "parse_packet_out_and_accept",
714 "id" : 2,
715 "parser_ops" : [
716 {
717 "parameters" : [
718 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800719 "type" : "regular",
720 "value" : "packet_out"
721 }
722 ],
723 "op" : "extract"
724 }
725 ],
726 "transitions" : [
727 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200728 "type" : "default",
729 "value" : null,
730 "mask" : null,
731 "next_state" : null
732 }
733 ],
734 "transition_key" : []
735 },
736 {
737 "name" : "strip_packet_out",
738 "id" : 3,
739 "parser_ops" : [
740 {
741 "parameters" : [
742 {
743 "type" : "hexstr",
744 "value" : "0x00000010"
745 }
746 ],
747 "op" : "advance"
748 }
749 ],
750 "transitions" : [
751 {
752 "type" : "default",
753 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800754 "mask" : null,
755 "next_state" : "parse_ethernet"
756 }
757 ],
758 "transition_key" : []
759 },
760 {
761 "name" : "parse_ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200762 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800763 "parser_ops" : [
764 {
765 "parameters" : [
766 {
767 "type" : "regular",
768 "value" : "ethernet"
769 }
770 ],
771 "op" : "extract"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800772 },
773 {
774 "parameters" : [
775 {
776 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200777 "value" : ["scalars", "userMetadata._vlan_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800778 },
779 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700780 "type" : "hexstr",
781 "value" : "0x0ffe"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800782 }
783 ],
784 "op" : "set"
785 },
786 {
787 "parameters" : [
788 {
789 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200790 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800791 },
792 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700793 "type" : "lookahead",
794 "value" : [0, 16]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800795 }
796 ],
797 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800798 }
799 ],
800 "transitions" : [
801 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800802 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700803 "value" : "0x88a8",
804 "mask" : null,
805 "next_state" : "parse_vlan_tag"
806 },
807 {
808 "type" : "hexstr",
809 "value" : "0x9100",
810 "mask" : null,
811 "next_state" : "parse_vlan_tag"
812 },
813 {
814 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800815 "value" : "0x8100",
816 "mask" : null,
817 "next_state" : "parse_vlan_tag"
818 },
819 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200820 "type" : "default",
821 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800822 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700823 "next_state" : "parse_eth_type"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800824 }
825 ],
826 "transition_key" : [
827 {
828 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200829 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800830 }
831 ]
832 },
833 {
834 "name" : "parse_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200835 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800836 "parser_ops" : [
837 {
838 "parameters" : [
839 {
840 "type" : "regular",
841 "value" : "vlan_tag"
842 }
843 ],
844 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700845 },
846 {
847 "parameters" : [
848 {
849 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200850 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700851 },
852 {
853 "type" : "lookahead",
854 "value" : [0, 16]
855 }
856 ],
857 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800858 }
859 ],
860 "transitions" : [
861 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800862 "type" : "hexstr",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800863 "value" : "0x8100",
864 "mask" : null,
865 "next_state" : "parse_inner_vlan_tag"
866 },
867 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200868 "type" : "default",
869 "value" : null,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800870 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700871 "next_state" : "parse_eth_type"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800872 }
873 ],
874 "transition_key" : [
875 {
876 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200877 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800878 }
879 ]
880 },
881 {
882 "name" : "parse_inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200883 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800884 "parser_ops" : [
885 {
886 "parameters" : [
887 {
888 "type" : "regular",
889 "value" : "inner_vlan_tag"
890 }
891 ],
892 "op" : "extract"
893 }
894 ],
895 "transitions" : [
896 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200897 "type" : "default",
898 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800899 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700900 "next_state" : "parse_eth_type"
901 }
902 ],
903 "transition_key" : []
904 },
905 {
906 "name" : "parse_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200907 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700908 "parser_ops" : [
909 {
910 "parameters" : [
911 {
912 "type" : "regular",
913 "value" : "eth_type"
914 }
915 ],
916 "op" : "extract"
917 }
918 ],
919 "transitions" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800920 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800921 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800922 "value" : "0x8847",
923 "mask" : null,
924 "next_state" : "parse_mpls"
925 },
926 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700927 "type" : "hexstr",
928 "value" : "0x0800",
929 "mask" : null,
930 "next_state" : "parse_ipv4"
931 },
932 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200933 "type" : "default",
934 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800935 "mask" : null,
936 "next_state" : null
937 }
938 ],
939 "transition_key" : [
940 {
941 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700942 "value" : ["eth_type", "value"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800943 }
944 ]
945 },
946 {
947 "name" : "parse_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200948 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800949 "parser_ops" : [
950 {
951 "parameters" : [
952 {
953 "type" : "regular",
954 "value" : "mpls"
955 }
956 ],
957 "op" : "extract"
958 },
959 {
960 "parameters" : [
961 {
962 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200963 "value" : ["scalars", "userMetadata._mpls_label12"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800964 },
965 {
966 "type" : "field",
967 "value" : ["mpls", "label"]
968 }
969 ],
970 "op" : "set"
971 },
972 {
973 "parameters" : [
974 {
975 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200976 "value" : ["scalars", "userMetadata._mpls_ttl13"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800977 },
978 {
979 "type" : "field",
980 "value" : ["mpls", "ttl"]
981 }
982 ],
983 "op" : "set"
984 },
985 {
986 "parameters" : [
987 {
988 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200989 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800990 },
991 {
992 "type" : "lookahead",
993 "value" : [0, 4]
994 }
995 ],
996 "op" : "set"
997 }
998 ],
999 "transitions" : [
1000 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001001 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001002 "value" : "0x04",
1003 "mask" : null,
1004 "next_state" : "parse_ipv4"
1005 },
1006 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001007 "type" : "default",
1008 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001009 "mask" : null,
1010 "next_state" : "parse_ethernet"
1011 }
1012 ],
1013 "transition_key" : [
1014 {
1015 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001016 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001017 }
1018 ]
1019 },
1020 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001021 "name" : "parse_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001022 "id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001023 "parser_ops" : [
1024 {
1025 "parameters" : [
1026 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001027 "type" : "regular",
1028 "value" : "ipv4"
1029 }
1030 ],
1031 "op" : "extract"
1032 },
1033 {
1034 "parameters" : [
1035 {
1036 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001037 "value" : ["scalars", "userMetadata._ip_proto20"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001038 },
1039 {
1040 "type" : "field",
1041 "value" : ["ipv4", "protocol"]
1042 }
1043 ],
1044 "op" : "set"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001045 },
1046 {
1047 "parameters" : [
1048 {
1049 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001050 "value" : ["scalars", "userMetadata._ip_eth_type8"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001051 },
1052 {
1053 "type" : "hexstr",
1054 "value" : "0x0800"
1055 }
1056 ],
1057 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001058 },
1059 {
1060 "parameters" : [
1061 {
1062 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001063 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001064 },
1065 {
1066 "type" : "field",
1067 "value" : ["ipv4", "src_addr"]
1068 }
1069 ],
1070 "op" : "set"
1071 },
1072 {
1073 "parameters" : [
1074 {
1075 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001076 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001077 },
1078 {
1079 "type" : "field",
1080 "value" : ["ipv4", "dst_addr"]
1081 }
1082 ],
1083 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001084 }
1085 ],
1086 "transitions" : [
1087 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001088 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001089 "value" : "0x06",
1090 "mask" : null,
1091 "next_state" : "parse_tcp"
1092 },
1093 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001094 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001095 "value" : "0x11",
1096 "mask" : null,
1097 "next_state" : "parse_udp"
1098 },
1099 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001100 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001101 "value" : "0x01",
1102 "mask" : null,
1103 "next_state" : "parse_icmp"
1104 },
1105 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001106 "type" : "default",
1107 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001108 "mask" : null,
1109 "next_state" : null
1110 }
1111 ],
1112 "transition_key" : [
1113 {
1114 "type" : "field",
1115 "value" : ["ipv4", "protocol"]
1116 }
1117 ]
1118 },
1119 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001120 "name" : "parse_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001121 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001122 "parser_ops" : [
1123 {
1124 "parameters" : [
1125 {
1126 "type" : "regular",
1127 "value" : "tcp"
1128 }
1129 ],
1130 "op" : "extract"
1131 },
1132 {
1133 "parameters" : [
1134 {
1135 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001136 "value" : ["scalars", "userMetadata._l4_sport21"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001137 },
1138 {
1139 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001140 "value" : ["tcp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001141 }
1142 ],
1143 "op" : "set"
1144 },
1145 {
1146 "parameters" : [
1147 {
1148 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001149 "value" : ["scalars", "userMetadata._l4_dport22"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001150 },
1151 {
1152 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001153 "value" : ["tcp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001154 }
1155 ],
1156 "op" : "set"
1157 }
1158 ],
1159 "transitions" : [
1160 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001161 "type" : "default",
1162 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001163 "mask" : null,
1164 "next_state" : null
1165 }
1166 ],
1167 "transition_key" : []
1168 },
1169 {
1170 "name" : "parse_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001171 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001172 "parser_ops" : [
1173 {
1174 "parameters" : [
1175 {
1176 "type" : "regular",
1177 "value" : "udp"
1178 }
1179 ],
1180 "op" : "extract"
1181 },
1182 {
1183 "parameters" : [
1184 {
1185 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001186 "value" : ["scalars", "userMetadata._l4_sport21"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001187 },
1188 {
1189 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001190 "value" : ["udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001191 }
1192 ],
1193 "op" : "set"
1194 },
1195 {
1196 "parameters" : [
1197 {
1198 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001199 "value" : ["scalars", "userMetadata._l4_dport22"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001200 },
1201 {
1202 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001203 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001204 }
1205 ],
1206 "op" : "set"
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001207 },
1208 {
1209 "parameters" : [
1210 {
1211 "type" : "field",
1212 "value" : ["scalars", "tmp_7"]
1213 },
1214 {
1215 "type" : "lookahead",
1216 "value" : [0, 64]
1217 }
1218 ],
1219 "op" : "set"
1220 },
1221 {
1222 "parameters" : [
1223 {
1224 "parameters" : [
1225 {
1226 "type" : "header",
1227 "value" : "gtpu_0"
1228 }
1229 ],
1230 "op" : "add_header"
1231 }
1232 ],
1233 "op" : "primitive"
1234 },
1235 {
1236 "parameters" : [
1237 {
1238 "type" : "field",
1239 "value" : ["gtpu_0", "version"]
1240 },
1241 {
1242 "type" : "expression",
1243 "value" : {
1244 "type" : "expression",
1245 "value" : {
1246 "op" : "&",
1247 "left" : {
1248 "type" : "expression",
1249 "value" : {
1250 "op" : "&",
1251 "left" : {
1252 "type" : "expression",
1253 "value" : {
1254 "op" : ">>",
1255 "left" : {
1256 "type" : "field",
1257 "value" : ["scalars", "tmp_7"]
1258 },
1259 "right" : {
1260 "type" : "hexstr",
1261 "value" : "0x3d"
1262 }
1263 }
1264 },
1265 "right" : {
1266 "type" : "hexstr",
1267 "value" : "0xffffffffffffffff"
1268 }
1269 }
1270 },
1271 "right" : {
1272 "type" : "hexstr",
1273 "value" : "0x07"
1274 }
1275 }
1276 }
1277 }
1278 ],
1279 "op" : "set"
1280 },
1281 {
1282 "parameters" : [
1283 {
1284 "type" : "field",
1285 "value" : ["gtpu_0", "pt"]
1286 },
1287 {
1288 "type" : "expression",
1289 "value" : {
1290 "type" : "expression",
1291 "value" : {
1292 "op" : "&",
1293 "left" : {
1294 "type" : "expression",
1295 "value" : {
1296 "op" : "&",
1297 "left" : {
1298 "type" : "expression",
1299 "value" : {
1300 "op" : ">>",
1301 "left" : {
1302 "type" : "field",
1303 "value" : ["scalars", "tmp_7"]
1304 },
1305 "right" : {
1306 "type" : "hexstr",
1307 "value" : "0x3c"
1308 }
1309 }
1310 },
1311 "right" : {
1312 "type" : "hexstr",
1313 "value" : "0xffffffffffffffff"
1314 }
1315 }
1316 },
1317 "right" : {
1318 "type" : "hexstr",
1319 "value" : "0x01"
1320 }
1321 }
1322 }
1323 }
1324 ],
1325 "op" : "set"
1326 },
1327 {
1328 "parameters" : [
1329 {
1330 "type" : "field",
1331 "value" : ["gtpu_0", "spare"]
1332 },
1333 {
1334 "type" : "expression",
1335 "value" : {
1336 "type" : "expression",
1337 "value" : {
1338 "op" : "&",
1339 "left" : {
1340 "type" : "expression",
1341 "value" : {
1342 "op" : "&",
1343 "left" : {
1344 "type" : "expression",
1345 "value" : {
1346 "op" : ">>",
1347 "left" : {
1348 "type" : "field",
1349 "value" : ["scalars", "tmp_7"]
1350 },
1351 "right" : {
1352 "type" : "hexstr",
1353 "value" : "0x3b"
1354 }
1355 }
1356 },
1357 "right" : {
1358 "type" : "hexstr",
1359 "value" : "0xffffffffffffffff"
1360 }
1361 }
1362 },
1363 "right" : {
1364 "type" : "hexstr",
1365 "value" : "0x01"
1366 }
1367 }
1368 }
1369 }
1370 ],
1371 "op" : "set"
1372 },
1373 {
1374 "parameters" : [
1375 {
1376 "type" : "field",
1377 "value" : ["gtpu_0", "ex_flag"]
1378 },
1379 {
1380 "type" : "expression",
1381 "value" : {
1382 "type" : "expression",
1383 "value" : {
1384 "op" : "&",
1385 "left" : {
1386 "type" : "expression",
1387 "value" : {
1388 "op" : "&",
1389 "left" : {
1390 "type" : "expression",
1391 "value" : {
1392 "op" : ">>",
1393 "left" : {
1394 "type" : "field",
1395 "value" : ["scalars", "tmp_7"]
1396 },
1397 "right" : {
1398 "type" : "hexstr",
1399 "value" : "0x3a"
1400 }
1401 }
1402 },
1403 "right" : {
1404 "type" : "hexstr",
1405 "value" : "0xffffffffffffffff"
1406 }
1407 }
1408 },
1409 "right" : {
1410 "type" : "hexstr",
1411 "value" : "0x01"
1412 }
1413 }
1414 }
1415 }
1416 ],
1417 "op" : "set"
1418 },
1419 {
1420 "parameters" : [
1421 {
1422 "type" : "field",
1423 "value" : ["gtpu_0", "seq_flag"]
1424 },
1425 {
1426 "type" : "expression",
1427 "value" : {
1428 "type" : "expression",
1429 "value" : {
1430 "op" : "&",
1431 "left" : {
1432 "type" : "expression",
1433 "value" : {
1434 "op" : "&",
1435 "left" : {
1436 "type" : "expression",
1437 "value" : {
1438 "op" : ">>",
1439 "left" : {
1440 "type" : "field",
1441 "value" : ["scalars", "tmp_7"]
1442 },
1443 "right" : {
1444 "type" : "hexstr",
1445 "value" : "0x39"
1446 }
1447 }
1448 },
1449 "right" : {
1450 "type" : "hexstr",
1451 "value" : "0xffffffffffffffff"
1452 }
1453 }
1454 },
1455 "right" : {
1456 "type" : "hexstr",
1457 "value" : "0x01"
1458 }
1459 }
1460 }
1461 }
1462 ],
1463 "op" : "set"
1464 },
1465 {
1466 "parameters" : [
1467 {
1468 "type" : "field",
1469 "value" : ["gtpu_0", "npdu_flag"]
1470 },
1471 {
1472 "type" : "expression",
1473 "value" : {
1474 "type" : "expression",
1475 "value" : {
1476 "op" : "&",
1477 "left" : {
1478 "type" : "expression",
1479 "value" : {
1480 "op" : "&",
1481 "left" : {
1482 "type" : "expression",
1483 "value" : {
1484 "op" : ">>",
1485 "left" : {
1486 "type" : "field",
1487 "value" : ["scalars", "tmp_7"]
1488 },
1489 "right" : {
1490 "type" : "hexstr",
1491 "value" : "0x38"
1492 }
1493 }
1494 },
1495 "right" : {
1496 "type" : "hexstr",
1497 "value" : "0xffffffffffffffff"
1498 }
1499 }
1500 },
1501 "right" : {
1502 "type" : "hexstr",
1503 "value" : "0x01"
1504 }
1505 }
1506 }
1507 }
1508 ],
1509 "op" : "set"
1510 },
1511 {
1512 "parameters" : [
1513 {
1514 "type" : "field",
1515 "value" : ["gtpu_0", "msgtype"]
1516 },
1517 {
1518 "type" : "expression",
1519 "value" : {
1520 "type" : "expression",
1521 "value" : {
1522 "op" : "&",
1523 "left" : {
1524 "type" : "expression",
1525 "value" : {
1526 "op" : "&",
1527 "left" : {
1528 "type" : "expression",
1529 "value" : {
1530 "op" : ">>",
1531 "left" : {
1532 "type" : "field",
1533 "value" : ["scalars", "tmp_7"]
1534 },
1535 "right" : {
1536 "type" : "hexstr",
1537 "value" : "0x30"
1538 }
1539 }
1540 },
1541 "right" : {
1542 "type" : "hexstr",
1543 "value" : "0xffffffffffffffff"
1544 }
1545 }
1546 },
1547 "right" : {
1548 "type" : "hexstr",
1549 "value" : "0xff"
1550 }
1551 }
1552 }
1553 }
1554 ],
1555 "op" : "set"
1556 },
1557 {
1558 "parameters" : [
1559 {
1560 "type" : "field",
1561 "value" : ["gtpu_0", "msglen"]
1562 },
1563 {
1564 "type" : "expression",
1565 "value" : {
1566 "type" : "expression",
1567 "value" : {
1568 "op" : "&",
1569 "left" : {
1570 "type" : "expression",
1571 "value" : {
1572 "op" : "&",
1573 "left" : {
1574 "type" : "expression",
1575 "value" : {
1576 "op" : ">>",
1577 "left" : {
1578 "type" : "field",
1579 "value" : ["scalars", "tmp_7"]
1580 },
1581 "right" : {
1582 "type" : "hexstr",
1583 "value" : "0x20"
1584 }
1585 }
1586 },
1587 "right" : {
1588 "type" : "hexstr",
1589 "value" : "0xffffffffffffffff"
1590 }
1591 }
1592 },
1593 "right" : {
1594 "type" : "hexstr",
1595 "value" : "0xffff"
1596 }
1597 }
1598 }
1599 }
1600 ],
1601 "op" : "set"
1602 },
1603 {
1604 "parameters" : [
1605 {
1606 "type" : "field",
1607 "value" : ["gtpu_0", "teid"]
1608 },
1609 {
1610 "type" : "expression",
1611 "value" : {
1612 "type" : "expression",
1613 "value" : {
1614 "op" : "&",
1615 "left" : {
1616 "type" : "field",
1617 "value" : ["scalars", "tmp_7"]
1618 },
1619 "right" : {
1620 "type" : "hexstr",
1621 "value" : "0xffffffff"
1622 }
1623 }
1624 }
1625 }
1626 ],
1627 "op" : "set"
1628 },
1629 {
1630 "parameters" : [
1631 {
1632 "type" : "field",
1633 "value" : ["scalars", "tmp_2"]
1634 },
1635 {
1636 "type" : "expression",
1637 "value" : {
1638 "type" : "expression",
1639 "value" : {
1640 "op" : "&",
1641 "left" : {
1642 "type" : "expression",
1643 "value" : {
1644 "op" : "&",
1645 "left" : {
1646 "type" : "expression",
1647 "value" : {
1648 "op" : ">>",
1649 "left" : {
1650 "type" : "field",
1651 "value" : ["scalars", "tmp_7"]
1652 },
1653 "right" : {
1654 "type" : "hexstr",
1655 "value" : "0x3d"
1656 }
1657 }
1658 },
1659 "right" : {
1660 "type" : "hexstr",
1661 "value" : "0xffffffffffffffff"
1662 }
1663 }
1664 },
1665 "right" : {
1666 "type" : "hexstr",
1667 "value" : "0x07"
1668 }
1669 }
1670 }
1671 }
1672 ],
1673 "op" : "set"
1674 },
1675 {
1676 "parameters" : [
1677 {
1678 "type" : "field",
1679 "value" : ["scalars", "tmp_4"]
1680 },
1681 {
1682 "type" : "expression",
1683 "value" : {
1684 "type" : "expression",
1685 "value" : {
1686 "op" : "&",
1687 "left" : {
1688 "type" : "expression",
1689 "value" : {
1690 "op" : "&",
1691 "left" : {
1692 "type" : "expression",
1693 "value" : {
1694 "op" : ">>",
1695 "left" : {
1696 "type" : "field",
1697 "value" : ["scalars", "tmp_7"]
1698 },
1699 "right" : {
1700 "type" : "hexstr",
1701 "value" : "0x30"
1702 }
1703 }
1704 },
1705 "right" : {
1706 "type" : "hexstr",
1707 "value" : "0xffffffffffffffff"
1708 }
1709 }
1710 },
1711 "right" : {
1712 "type" : "hexstr",
1713 "value" : "0xff"
1714 }
1715 }
1716 }
1717 }
1718 ],
1719 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001720 }
1721 ],
1722 "transitions" : [
1723 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001724 "type" : "hexstr",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001725 "value" : "0x086801ff",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001726 "mask" : null,
1727 "next_state" : "parse_gtpu"
1728 },
1729 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001730 "type" : "default",
1731 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001732 "mask" : null,
1733 "next_state" : null
1734 }
1735 ],
1736 "transition_key" : [
1737 {
1738 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001739 "value" : ["udp", "dport"]
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001740 },
1741 {
1742 "type" : "field",
1743 "value" : ["scalars", "tmp_2"]
1744 },
1745 {
1746 "type" : "field",
1747 "value" : ["scalars", "tmp_4"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001748 }
1749 ]
1750 },
1751 {
1752 "name" : "parse_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001753 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001754 "parser_ops" : [
1755 {
1756 "parameters" : [
1757 {
1758 "type" : "regular",
1759 "value" : "icmp"
1760 }
1761 ],
1762 "op" : "extract"
1763 }
1764 ],
1765 "transitions" : [
1766 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001767 "type" : "default",
1768 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001769 "mask" : null,
1770 "next_state" : null
1771 }
1772 ],
1773 "transition_key" : []
1774 },
1775 {
1776 "name" : "parse_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001777 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001778 "parser_ops" : [
1779 {
1780 "parameters" : [
1781 {
1782 "type" : "regular",
1783 "value" : "gtpu"
1784 }
1785 ],
1786 "op" : "extract"
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001787 }
1788 ],
1789 "transitions" : [
1790 {
1791 "type" : "hexstr",
1792 "value" : "0x000000",
1793 "mask" : null,
1794 "next_state" : "parse_inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001795 },
1796 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001797 "type" : "default",
1798 "value" : null,
1799 "mask" : null,
1800 "next_state" : "parse_gtpu_options"
1801 }
1802 ],
1803 "transition_key" : [
1804 {
1805 "type" : "field",
1806 "value" : ["gtpu", "ex_flag"]
1807 },
1808 {
1809 "type" : "field",
1810 "value" : ["gtpu", "seq_flag"]
1811 },
1812 {
1813 "type" : "field",
1814 "value" : ["gtpu", "npdu_flag"]
1815 }
1816 ]
1817 },
1818 {
1819 "name" : "parse_gtpu_options",
1820 "id" : 14,
1821 "parser_ops" : [
1822 {
1823 "parameters" : [
1824 {
1825 "type" : "regular",
1826 "value" : "gtpu_options"
1827 }
1828 ],
1829 "op" : "extract"
1830 },
1831 {
1832 "parameters" : [
1833 {
1834 "type" : "field",
1835 "value" : ["scalars", "gtpu_ext_len_0"]
1836 },
1837 {
1838 "type" : "lookahead",
1839 "value" : [0, 8]
1840 }
1841 ],
1842 "op" : "set"
1843 }
1844 ],
1845 "transitions" : [
1846 {
1847 "type" : "hexstr",
1848 "value" : "0x8501",
1849 "mask" : null,
1850 "next_state" : "parse_gtpu_ext_psc"
1851 },
1852 {
1853 "type" : "default",
1854 "value" : null,
1855 "mask" : null,
1856 "next_state" : null
1857 }
1858 ],
1859 "transition_key" : [
1860 {
1861 "type" : "field",
1862 "value" : ["gtpu_options", "next_ext"]
1863 },
1864 {
1865 "type" : "field",
1866 "value" : ["scalars", "gtpu_ext_len_0"]
1867 }
1868 ]
1869 },
1870 {
1871 "name" : "parse_gtpu_ext_psc",
1872 "id" : 15,
1873 "parser_ops" : [
1874 {
1875 "parameters" : [
1876 {
1877 "type" : "regular",
1878 "value" : "gtpu_ext_psc"
1879 }
1880 ],
1881 "op" : "extract"
1882 },
1883 {
1884 "parameters" : [
1885 {
1886 "type" : "field",
1887 "value" : ["scalars", "userMetadata._spgw_qfi39"]
1888 },
1889 {
1890 "type" : "field",
1891 "value" : ["gtpu_ext_psc", "qfi"]
1892 }
1893 ],
1894 "op" : "set"
1895 }
1896 ],
1897 "transitions" : [
1898 {
1899 "type" : "hexstr",
1900 "value" : "0x00",
1901 "mask" : null,
1902 "next_state" : "parse_inner_ipv4"
1903 },
1904 {
1905 "type" : "default",
1906 "value" : null,
1907 "mask" : null,
1908 "next_state" : null
1909 }
1910 ],
1911 "transition_key" : [
1912 {
1913 "type" : "field",
1914 "value" : ["gtpu_ext_psc", "next_ext"]
1915 }
1916 ]
1917 },
1918 {
1919 "name" : "parse_inner_ipv4",
1920 "id" : 16,
1921 "parser_ops" : [
1922 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001923 "parameters" : [
1924 {
1925 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001926 "value" : "inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001927 }
1928 ],
1929 "op" : "extract"
1930 }
1931 ],
1932 "transitions" : [
1933 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001934 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001935 "value" : "0x06",
1936 "mask" : null,
Daniele Moroae26f0a2021-07-08 12:53:26 +02001937 "next_state" : "parse_inner_tcp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001938 },
1939 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001940 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001941 "value" : "0x11",
1942 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001943 "next_state" : "parse_inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001944 },
1945 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001946 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001947 "value" : "0x01",
1948 "mask" : null,
Daniele Moroae26f0a2021-07-08 12:53:26 +02001949 "next_state" : "parse_inner_icmp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001950 },
1951 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001952 "type" : "default",
1953 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001954 "mask" : null,
1955 "next_state" : null
1956 }
1957 ],
1958 "transition_key" : [
1959 {
1960 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001961 "value" : ["inner_ipv4", "protocol"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001962 }
1963 ]
1964 },
1965 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001966 "name" : "parse_inner_udp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001967 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001968 "parser_ops" : [
1969 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001970 "parameters" : [
1971 {
1972 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001973 "value" : "inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001974 }
1975 ],
1976 "op" : "extract"
1977 },
1978 {
1979 "parameters" : [
1980 {
1981 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001982 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001983 },
1984 {
1985 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001986 "value" : ["inner_udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001987 }
1988 ],
1989 "op" : "set"
1990 },
1991 {
1992 "parameters" : [
1993 {
1994 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001995 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001996 },
1997 {
1998 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001999 "value" : ["inner_udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002000 }
2001 ],
2002 "op" : "set"
2003 }
2004 ],
2005 "transitions" : [
2006 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002007 "type" : "default",
2008 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002009 "mask" : null,
2010 "next_state" : null
2011 }
2012 ],
2013 "transition_key" : []
Daniele Moroae26f0a2021-07-08 12:53:26 +02002014 },
2015 {
2016 "name" : "parse_inner_tcp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002017 "id" : 18,
Daniele Moroae26f0a2021-07-08 12:53:26 +02002018 "parser_ops" : [
2019 {
2020 "parameters" : [
2021 {
2022 "type" : "regular",
2023 "value" : "inner_tcp"
2024 }
2025 ],
2026 "op" : "extract"
2027 },
2028 {
2029 "parameters" : [
2030 {
2031 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002032 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
Daniele Moroae26f0a2021-07-08 12:53:26 +02002033 },
2034 {
2035 "type" : "field",
2036 "value" : ["inner_tcp", "sport"]
2037 }
2038 ],
2039 "op" : "set"
2040 },
2041 {
2042 "parameters" : [
2043 {
2044 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002045 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
Daniele Moroae26f0a2021-07-08 12:53:26 +02002046 },
2047 {
2048 "type" : "field",
2049 "value" : ["inner_tcp", "dport"]
2050 }
2051 ],
2052 "op" : "set"
2053 }
2054 ],
2055 "transitions" : [
2056 {
2057 "type" : "default",
2058 "value" : null,
2059 "mask" : null,
2060 "next_state" : null
2061 }
2062 ],
2063 "transition_key" : []
2064 },
2065 {
2066 "name" : "parse_inner_icmp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002067 "id" : 19,
Daniele Moroae26f0a2021-07-08 12:53:26 +02002068 "parser_ops" : [
2069 {
2070 "parameters" : [
2071 {
2072 "type" : "regular",
2073 "value" : "inner_icmp"
2074 }
2075 ],
2076 "op" : "extract"
2077 }
2078 ],
2079 "transitions" : [
2080 {
2081 "type" : "default",
2082 "value" : null,
2083 "mask" : null,
2084 "next_state" : null
2085 }
2086 ],
2087 "transition_key" : []
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002088 }
2089 ]
2090 }
2091 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08002092 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002093 "deparsers" : [
2094 {
2095 "name" : "deparser",
2096 "id" : 0,
2097 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002098 "filename" : "include/parser.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002099 "line" : 308,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002100 "column" : 8,
2101 "source_fragment" : "FabricDeparser"
2102 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002103 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "outer_gtpu_options", "outer_gtpu_ext_psc", "ipv4", "tcp", "udp", "icmp", "gtpu", "gtpu_options", "gtpu_ext_psc", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002104 "primitives" : []
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002105 }
2106 ],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002107 "meter_arrays" : [
2108 {
2109 "name" : "FabricIngress.qos.slice_tc_meter",
2110 "id" : 0,
2111 "source_info" : {
2112 "filename" : "include/control/slicing.p4",
2113 "line" : 78,
2114 "column" : 41,
2115 "source_fragment" : "slice_tc_meter"
2116 },
2117 "is_direct" : false,
2118 "size" : 64,
2119 "rate_count" : 2,
2120 "type" : "bytes"
2121 }
2122 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002123 "counter_arrays" : [
2124 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002125 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07002126 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002127 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002128 "binding" : "FabricIngress.filtering.ingress_port_vlan",
2129 "source_info" : {
2130 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002131 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002132 "column" : 50,
2133 "source_fragment" : "ingress_port_vlan_counter"
2134 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002135 },
2136 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002137 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07002138 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002139 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002140 "binding" : "FabricIngress.filtering.fwd_classifier",
2141 "source_info" : {
2142 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002143 "line" : 87,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002144 "column" : 50,
2145 "source_fragment" : "fwd_classifier_counter"
2146 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002147 },
2148 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002149 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07002150 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002151 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002152 "binding" : "FabricIngress.forwarding.bridging",
2153 "source_info" : {
2154 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002155 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002156 "column" : 50,
2157 "source_fragment" : "bridging_counter"
2158 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002159 },
2160 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002161 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07002162 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002163 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002164 "binding" : "FabricIngress.forwarding.mpls",
2165 "source_info" : {
2166 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07002167 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002168 "column" : 50,
2169 "source_fragment" : "mpls_counter"
2170 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002171 },
2172 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002173 "name" : "FabricIngress.pre_next.next_mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07002174 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002175 "is_direct" : true,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002176 "binding" : "FabricIngress.pre_next.next_mpls",
2177 "source_info" : {
2178 "filename" : "include/control/pre_next.p4",
2179 "line" : 29,
2180 "column" : 50,
2181 "source_fragment" : "next_mpls_counter"
2182 }
2183 },
2184 {
2185 "name" : "FabricIngress.pre_next.next_vlan_counter",
2186 "id" : 5,
2187 "is_direct" : true,
2188 "binding" : "FabricIngress.pre_next.next_vlan",
2189 "source_info" : {
2190 "filename" : "include/control/pre_next.p4",
2191 "line" : 54,
2192 "column" : 50,
2193 "source_fragment" : "next_vlan_counter"
2194 }
2195 },
2196 {
2197 "name" : "FabricIngress.acl.acl_counter",
2198 "id" : 6,
2199 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002200 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002201 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002202 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002203 "line" : 29,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002204 "column" : 50,
2205 "source_fragment" : "acl_counter"
2206 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002207 },
2208 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002209 "name" : "FabricIngress.next.xconnect_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002210 "id" : 7,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002211 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002212 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002213 "source_info" : {
2214 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002215 "line" : 56,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002216 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002217 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002218 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08002219 },
2220 {
2221 "name" : "FabricIngress.next.hashed_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002222 "id" : 8,
Yi Tseng27b9bc02018-04-12 14:52:40 +08002223 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002224 "binding" : "FabricIngress.next.hashed",
2225 "source_info" : {
2226 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002227 "line" : 126,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002228 "column" : 50,
2229 "source_fragment" : "hashed_counter"
2230 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08002231 },
2232 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00002233 "name" : "FabricIngress.next.multicast_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002234 "id" : 9,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002235 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002236 "binding" : "FabricIngress.next.multicast",
2237 "source_info" : {
2238 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002239 "line" : 163,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002240 "column" : 50,
2241 "source_fragment" : "multicast_counter"
2242 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00002243 },
2244 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002245 "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002246 "id" : 10,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002247 "is_direct" : true,
2248 "binding" : "FabricIngress.slice_tc_classifier.classifier",
2249 "source_info" : {
2250 "filename" : "include/control/slicing.p4",
2251 "line" : 32,
2252 "column" : 40,
2253 "source_fragment" : "classifier_stats"
2254 }
2255 },
2256 {
2257 "name" : "FabricIngress.qos.queues_stats",
2258 "id" : 11,
2259 "is_direct" : true,
2260 "binding" : "FabricIngress.qos.queues",
2261 "source_info" : {
2262 "filename" : "include/control/slicing.p4",
2263 "line" : 80,
2264 "column" : 40,
2265 "source_fragment" : "queues_stats"
2266 }
2267 },
2268 {
2269 "name" : "FabricIngress.port_counters_control.egress_port_counter",
2270 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002271 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002272 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002273 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08002274 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002275 "source_fragment" : "egress_port_counter"
2276 },
2277 "size" : 511,
2278 "is_direct" : false
2279 },
2280 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002281 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002282 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002283 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002284 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002285 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08002286 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002287 "source_fragment" : "ingress_port_counter"
2288 },
2289 "size" : 511,
2290 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08002291 },
2292 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002293 "name" : "FabricIngress.spgw.pdr_counter",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002294 "id" : 14,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002295 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002296 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002297 "line" : 110,
Robert MacDavidde12b982020-07-15 18:38:59 -07002298 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002299 "source_fragment" : "pdr_counter"
2300 },
Robert MacDavidde12b982020-07-15 18:38:59 -07002301 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002302 "is_direct" : false
2303 },
2304 {
2305 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002306 "id" : 15,
Yi Tseng47eac892018-07-11 02:17:04 +08002307 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002308 "binding" : "FabricEgress.egress_next.egress_vlan",
2309 "source_info" : {
2310 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002311 "line" : 248,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002312 "column" : 50,
2313 "source_fragment" : "egress_vlan_counter"
2314 }
Robert MacDavidde12b982020-07-15 18:38:59 -07002315 },
2316 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002317 "name" : "FabricEgress.spgw.pdr_counter",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002318 "id" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07002319 "source_info" : {
2320 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002321 "line" : 307,
Robert MacDavidde12b982020-07-15 18:38:59 -07002322 "column" : 53,
2323 "source_fragment" : "pdr_counter"
2324 },
2325 "size" : 2048,
2326 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002327 }
2328 ],
2329 "register_arrays" : [],
2330 "calculations" : [
2331 {
2332 "name" : "calc",
2333 "id" : 0,
2334 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002335 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002336 "line" : 28,
2337 "column" : 8,
2338 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2339 },
2340 "algo" : "csum16",
2341 "input" : [
2342 {
2343 "type" : "field",
2344 "value" : ["ipv4", "version"]
2345 },
2346 {
2347 "type" : "field",
2348 "value" : ["ipv4", "ihl"]
2349 },
2350 {
2351 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002352 "value" : ["ipv4", "dscp"]
2353 },
2354 {
2355 "type" : "field",
2356 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002357 },
2358 {
2359 "type" : "field",
2360 "value" : ["ipv4", "total_len"]
2361 },
2362 {
2363 "type" : "field",
2364 "value" : ["ipv4", "identification"]
2365 },
2366 {
2367 "type" : "field",
2368 "value" : ["ipv4", "flags"]
2369 },
2370 {
2371 "type" : "field",
2372 "value" : ["ipv4", "frag_offset"]
2373 },
2374 {
2375 "type" : "field",
2376 "value" : ["ipv4", "ttl"]
2377 },
2378 {
2379 "type" : "field",
2380 "value" : ["ipv4", "protocol"]
2381 },
2382 {
2383 "type" : "field",
2384 "value" : ["ipv4", "src_addr"]
2385 },
2386 {
2387 "type" : "field",
2388 "value" : ["ipv4", "dst_addr"]
2389 }
2390 ]
2391 },
2392 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002393 "name" : "calc_0",
2394 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002395 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002396 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002397 "line" : 393,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002398 "column" : 8,
2399 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
2400 },
2401 "algo" : "csum16",
2402 "input" : [
2403 {
2404 "type" : "field",
2405 "value" : ["gtpu_ipv4", "version"]
2406 },
2407 {
2408 "type" : "field",
2409 "value" : ["gtpu_ipv4", "ihl"]
2410 },
2411 {
2412 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002413 "value" : ["gtpu_ipv4", "dscp"]
2414 },
2415 {
2416 "type" : "field",
2417 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002418 },
2419 {
2420 "type" : "field",
2421 "value" : ["gtpu_ipv4", "total_len"]
2422 },
2423 {
2424 "type" : "field",
2425 "value" : ["gtpu_ipv4", "identification"]
2426 },
2427 {
2428 "type" : "field",
2429 "value" : ["gtpu_ipv4", "flags"]
2430 },
2431 {
2432 "type" : "field",
2433 "value" : ["gtpu_ipv4", "frag_offset"]
2434 },
2435 {
2436 "type" : "field",
2437 "value" : ["gtpu_ipv4", "ttl"]
2438 },
2439 {
2440 "type" : "field",
2441 "value" : ["gtpu_ipv4", "protocol"]
2442 },
2443 {
2444 "type" : "field",
2445 "value" : ["gtpu_ipv4", "src_addr"]
2446 },
2447 {
2448 "type" : "field",
2449 "value" : ["gtpu_ipv4", "dst_addr"]
2450 }
2451 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002452 },
2453 {
2454 "name" : "calc_1",
2455 "id" : 2,
2456 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002457 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002458 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002459 "column" : 8,
2460 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
2461 },
2462 "algo" : "csum16",
2463 "input" : [
2464 {
2465 "type" : "field",
2466 "value" : ["ipv4", "version"]
2467 },
2468 {
2469 "type" : "field",
2470 "value" : ["ipv4", "ihl"]
2471 },
2472 {
2473 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002474 "value" : ["ipv4", "dscp"]
2475 },
2476 {
2477 "type" : "field",
2478 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002479 },
2480 {
2481 "type" : "field",
2482 "value" : ["ipv4", "total_len"]
2483 },
2484 {
2485 "type" : "field",
2486 "value" : ["ipv4", "identification"]
2487 },
2488 {
2489 "type" : "field",
2490 "value" : ["ipv4", "flags"]
2491 },
2492 {
2493 "type" : "field",
2494 "value" : ["ipv4", "frag_offset"]
2495 },
2496 {
2497 "type" : "field",
2498 "value" : ["ipv4", "ttl"]
2499 },
2500 {
2501 "type" : "field",
2502 "value" : ["ipv4", "protocol"]
2503 },
2504 {
2505 "type" : "field",
2506 "value" : ["ipv4", "src_addr"]
2507 },
2508 {
2509 "type" : "field",
2510 "value" : ["ipv4", "dst_addr"]
2511 }
2512 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002513 }
2514 ],
2515 "learn_lists" : [],
2516 "actions" : [
2517 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002518 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002519 "id" : 0,
2520 "runtime_data" : [],
2521 "primitives" : []
2522 },
2523 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002524 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002525 "id" : 1,
2526 "runtime_data" : [],
2527 "primitives" : []
2528 },
2529 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002530 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002531 "id" : 2,
2532 "runtime_data" : [],
2533 "primitives" : []
2534 },
2535 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002536 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002537 "id" : 3,
2538 "runtime_data" : [],
2539 "primitives" : []
2540 },
2541 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002542 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002543 "id" : 4,
2544 "runtime_data" : [],
2545 "primitives" : []
2546 },
2547 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002548 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002549 "id" : 5,
2550 "runtime_data" : [],
2551 "primitives" : []
2552 },
2553 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002554 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002555 "id" : 6,
2556 "runtime_data" : [],
2557 "primitives" : []
2558 },
2559 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002560 "name" : "nop",
Robert MacDavidde12b982020-07-15 18:38:59 -07002561 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002562 "runtime_data" : [],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002563 "primitives" : []
2564 },
2565 {
2566 "name" : "NoAction",
2567 "id" : 8,
2568 "runtime_data" : [],
2569 "primitives" : []
2570 },
2571 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002572 "name" : "NoAction",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002573 "id" : 9,
2574 "runtime_data" : [],
Wailok Shumfb7e7872021-06-18 17:30:08 +08002575 "primitives" : []
2576 },
2577 {
2578 "name" : "FabricIngress.filtering.deny",
2579 "id" : 10,
2580 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002581 "primitives" : [
2582 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002583 "op" : "assign",
2584 "parameters" : [
2585 {
2586 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002587 "value" : ["scalars", "userMetadata._skip_forwarding14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002588 },
2589 {
2590 "type" : "expression",
2591 "value" : {
2592 "type" : "expression",
2593 "value" : {
2594 "op" : "b2d",
2595 "left" : null,
2596 "right" : {
2597 "type" : "bool",
2598 "value" : true
2599 }
2600 }
2601 }
2602 }
2603 ],
2604 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002605 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002606 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002607 "column" : 40,
2608 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002609 }
2610 },
2611 {
2612 "op" : "assign",
2613 "parameters" : [
2614 {
2615 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002616 "value" : ["scalars", "userMetadata._skip_next15"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002617 },
2618 {
2619 "type" : "expression",
2620 "value" : {
2621 "type" : "expression",
2622 "value" : {
2623 "op" : "b2d",
2624 "left" : null,
2625 "right" : {
2626 "type" : "bool",
2627 "value" : true
2628 }
2629 }
2630 }
2631 }
2632 ],
2633 "source_info" : {
2634 "filename" : "include/control/filtering.p4",
2635 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002636 "column" : 34,
2637 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002638 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002639 },
2640 {
2641 "op" : "assign",
2642 "parameters" : [
2643 {
2644 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002645 "value" : ["scalars", "userMetadata._port_type46"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08002646 },
2647 {
2648 "type" : "hexstr",
2649 "value" : "0x00"
2650 }
2651 ],
2652 "source_info" : {
2653 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002654 "line" : 136,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002655 "column" : 38,
2656 "source_fragment" : "0x0; ..."
2657 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002658 }
2659 ]
2660 },
2661 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002662 "name" : "FabricIngress.filtering.permit",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002663 "id" : 11,
2664 "runtime_data" : [
2665 {
2666 "name" : "port_type",
2667 "bitwidth" : 2
2668 }
2669 ],
2670 "primitives" : [
2671 {
2672 "op" : "assign",
2673 "parameters" : [
2674 {
2675 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002676 "value" : ["scalars", "userMetadata._port_type46"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08002677 },
2678 {
2679 "type" : "runtime_data",
2680 "value" : 0
2681 }
2682 ],
2683 "source_info" : {
2684 "filename" : "include/control/filtering.p4",
2685 "line" : 44,
2686 "column" : 34,
2687 "source_fragment" : "= port_type; ..."
2688 }
2689 }
2690 ]
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002691 },
2692 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002693 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002694 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002695 "runtime_data" : [
2696 {
2697 "name" : "vlan_id",
2698 "bitwidth" : 12
Wailok Shumfb7e7872021-06-18 17:30:08 +08002699 },
2700 {
2701 "name" : "port_type",
2702 "bitwidth" : 2
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002703 }
2704 ],
2705 "primitives" : [
2706 {
2707 "op" : "assign",
2708 "parameters" : [
2709 {
2710 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002711 "value" : ["scalars", "userMetadata._vlan_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002712 },
2713 {
2714 "type" : "runtime_data",
2715 "value" : 0
2716 }
2717 ],
2718 "source_info" : {
2719 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002720 "line" : 49,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002721 "column" : 32,
2722 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002723 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002724 },
2725 {
2726 "op" : "assign",
2727 "parameters" : [
2728 {
2729 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002730 "value" : ["scalars", "userMetadata._port_type46"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08002731 },
2732 {
2733 "type" : "runtime_data",
2734 "value" : 1
2735 }
2736 ],
2737 "source_info" : {
2738 "filename" : "include/control/filtering.p4",
2739 "line" : 44,
2740 "column" : 34,
2741 "source_fragment" : "= port_type; ..."
2742 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002743 }
2744 ]
2745 },
2746 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002747 "name" : "FabricIngress.filtering.set_forwarding_type",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002748 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002749 "runtime_data" : [
2750 {
2751 "name" : "fwd_type",
2752 "bitwidth" : 3
2753 }
2754 ],
2755 "primitives" : [
2756 {
2757 "op" : "assign",
2758 "parameters" : [
2759 {
2760 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002761 "value" : ["scalars", "userMetadata._fwd_type16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002762 },
2763 {
2764 "type" : "runtime_data",
2765 "value" : 0
2766 }
2767 ],
2768 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002769 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002770 "line" : 90,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002771 "column" : 33,
2772 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002773 }
2774 }
2775 ]
2776 },
2777 {
Yi Tseng47eac892018-07-11 02:17:04 +08002778 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002779 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002780 "runtime_data" : [
2781 {
2782 "name" : "next_id",
2783 "bitwidth" : 32
2784 }
2785 ],
2786 "primitives" : [
2787 {
2788 "op" : "assign",
2789 "parameters" : [
2790 {
2791 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002792 "value" : ["scalars", "userMetadata._next_id17"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002793 },
2794 {
2795 "type" : "runtime_data",
2796 "value" : 0
2797 }
2798 ],
2799 "source_info" : {
2800 "filename" : "include/control/forwarding.p4",
2801 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002802 "column" : 32,
2803 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002804 }
2805 }
2806 ]
2807 },
2808 {
2809 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002810 "id" : 15,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002811 "runtime_data" : [
2812 {
2813 "name" : "next_id",
2814 "bitwidth" : 32
2815 }
2816 ],
2817 "primitives" : [
2818 {
2819 "op" : "assign",
2820 "parameters" : [
2821 {
2822 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002823 "value" : ["scalars", "userMetadata._mpls_label12"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002824 },
2825 {
2826 "type" : "hexstr",
2827 "value" : "0x000000"
2828 }
2829 ],
2830 "source_info" : {
2831 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07002832 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002833 "column" : 35,
2834 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002835 }
2836 },
2837 {
2838 "op" : "assign",
2839 "parameters" : [
2840 {
2841 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002842 "value" : ["scalars", "userMetadata._next_id17"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002843 },
2844 {
2845 "type" : "runtime_data",
2846 "value" : 0
2847 }
2848 ],
2849 "source_info" : {
2850 "filename" : "include/control/forwarding.p4",
2851 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002852 "column" : 32,
2853 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002854 }
2855 }
2856 ]
2857 },
2858 {
2859 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002860 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002861 "runtime_data" : [
2862 {
2863 "name" : "next_id",
2864 "bitwidth" : 32
2865 }
2866 ],
2867 "primitives" : [
2868 {
2869 "op" : "assign",
2870 "parameters" : [
2871 {
2872 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002873 "value" : ["scalars", "userMetadata._next_id17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002874 },
2875 {
2876 "type" : "runtime_data",
2877 "value" : 0
2878 }
2879 ],
2880 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002881 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002882 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002883 "column" : 32,
2884 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002885 }
2886 }
2887 ]
2888 },
2889 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002890 "name" : "FabricIngress.forwarding.nop_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002891 "id" : 17,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002892 "runtime_data" : [],
2893 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08002894 },
2895 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002896 "name" : "FabricIngress.pre_next.set_mpls_label",
2897 "id" : 18,
2898 "runtime_data" : [
2899 {
2900 "name" : "label",
2901 "bitwidth" : 20
2902 }
2903 ],
2904 "primitives" : [
2905 {
2906 "op" : "assign",
2907 "parameters" : [
2908 {
2909 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002910 "value" : ["scalars", "userMetadata._mpls_label12"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08002911 },
2912 {
2913 "type" : "runtime_data",
2914 "value" : 0
2915 }
2916 ],
2917 "source_info" : {
2918 "filename" : "include/control/pre_next.p4",
2919 "line" : 32,
2920 "column" : 35,
2921 "source_fragment" : "= label; ..."
2922 }
2923 }
2924 ]
2925 },
2926 {
2927 "name" : "FabricIngress.pre_next.set_vlan",
2928 "id" : 19,
2929 "runtime_data" : [
2930 {
2931 "name" : "vlan_id",
2932 "bitwidth" : 12
2933 }
2934 ],
2935 "primitives" : [
2936 {
2937 "op" : "assign",
2938 "parameters" : [
2939 {
2940 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002941 "value" : ["scalars", "userMetadata._vlan_id9"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08002942 },
2943 {
2944 "type" : "runtime_data",
2945 "value" : 0
2946 }
2947 ],
2948 "source_info" : {
2949 "filename" : "include/control/pre_next.p4",
2950 "line" : 57,
2951 "column" : 32,
2952 "source_fragment" : "= vlan_id; ..."
2953 }
2954 }
2955 ]
2956 },
2957 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002958 "name" : "FabricIngress.acl.set_next_id_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002959 "id" : 20,
Yi Tseng27b9bc02018-04-12 14:52:40 +08002960 "runtime_data" : [
2961 {
2962 "name" : "next_id",
2963 "bitwidth" : 32
2964 }
2965 ],
2966 "primitives" : [
2967 {
2968 "op" : "assign",
2969 "parameters" : [
2970 {
2971 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002972 "value" : ["scalars", "userMetadata._next_id17"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08002973 },
2974 {
2975 "type" : "runtime_data",
2976 "value" : 0
2977 }
2978 ],
2979 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002980 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002981 "line" : 32,
2982 "column" : 26,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002983 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002984 }
2985 }
2986 ]
2987 },
2988 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002989 "name" : "FabricIngress.acl.punt_to_cpu",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002990 "id" : 21,
Charles Chancd03f072018-08-31 17:46:37 -07002991 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002992 "primitives" : [
2993 {
2994 "op" : "assign",
2995 "parameters" : [
2996 {
2997 "type" : "field",
2998 "value" : ["standard_metadata", "egress_spec"]
2999 },
3000 {
3001 "type" : "hexstr",
3002 "value" : "0x00ff"
3003 }
3004 ],
3005 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003006 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003007 "line" : 38,
Carmelo Casconeb531b682018-01-30 17:55:56 -08003008 "column" : 8,
3009 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003010 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003011 },
3012 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003013 "op" : "assign",
3014 "parameters" : [
3015 {
3016 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003017 "value" : ["scalars", "userMetadata._skip_next15"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003018 },
3019 {
3020 "type" : "expression",
3021 "value" : {
3022 "type" : "expression",
3023 "value" : {
3024 "op" : "b2d",
3025 "left" : null,
3026 "right" : {
3027 "type" : "bool",
3028 "value" : true
3029 }
3030 }
3031 }
3032 }
3033 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003034 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003035 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003036 "line" : 39,
3037 "column" : 28,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08003038 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003039 }
3040 }
3041 ]
3042 },
3043 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003044 "name" : "FabricIngress.acl.set_clone_session_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003045 "id" : 22,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003046 "runtime_data" : [
3047 {
3048 "name" : "clone_id",
3049 "bitwidth" : 32
3050 }
3051 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003052 "primitives" : [
3053 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003054 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003055 "parameters" : [
3056 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003057 "type" : "runtime_data",
3058 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003059 },
3060 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003061 "type" : "hexstr",
3062 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003063 }
3064 ],
3065 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003066 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003067 "line" : 45,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003068 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07003069 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003070 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003071 }
3072 ]
3073 },
3074 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003075 "name" : "FabricIngress.acl.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003076 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08003077 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003078 "primitives" : [
3079 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07003080 "op" : "mark_to_drop",
3081 "parameters" : [
3082 {
3083 "type" : "header",
3084 "value" : "standard_metadata"
3085 }
3086 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003087 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003088 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003089 "line" : 50,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003090 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07003091 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003092 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003093 },
3094 {
3095 "op" : "assign",
3096 "parameters" : [
3097 {
3098 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003099 "value" : ["scalars", "userMetadata._skip_next15"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003100 },
3101 {
3102 "type" : "expression",
3103 "value" : {
3104 "type" : "expression",
3105 "value" : {
3106 "op" : "b2d",
3107 "left" : null,
3108 "right" : {
3109 "type" : "bool",
3110 "value" : true
3111 }
3112 }
3113 }
3114 }
3115 ],
3116 "source_info" : {
3117 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003118 "line" : 51,
3119 "column" : 28,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08003120 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003121 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003122 }
3123 ]
3124 },
3125 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003126 "name" : "FabricIngress.acl.nop_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003127 "id" : 24,
Charles Chancf696e52018-08-16 16:25:13 -07003128 "runtime_data" : [],
3129 "primitives" : []
3130 },
3131 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003132 "name" : "FabricIngress.next.output_xconnect",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003133 "id" : 25,
3134 "runtime_data" : [
3135 {
3136 "name" : "port_num",
3137 "bitwidth" : 9
3138 }
3139 ],
3140 "primitives" : [
3141 {
3142 "op" : "assign",
3143 "parameters" : [
3144 {
3145 "type" : "field",
3146 "value" : ["standard_metadata", "egress_spec"]
3147 },
3148 {
3149 "type" : "runtime_data",
3150 "value" : 0
3151 }
3152 ],
3153 "source_info" : {
3154 "filename" : "include/control/next.p4",
3155 "line" : 31,
3156 "column" : 5,
3157 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3158 }
3159 }
3160 ]
3161 },
3162 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003163 "name" : "FabricIngress.next.set_next_id_xconnect",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003164 "id" : 26,
3165 "runtime_data" : [
3166 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003167 "name" : "next_id",
3168 "bitwidth" : 32
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003169 }
3170 ],
3171 "primitives" : [
3172 {
3173 "op" : "assign",
3174 "parameters" : [
3175 {
3176 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003177 "value" : ["scalars", "userMetadata._next_id17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003178 },
3179 {
3180 "type" : "runtime_data",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003181 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003182 }
3183 ],
3184 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003185 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003186 "line" : 64,
3187 "column" : 32,
3188 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003189 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08003190 }
3191 ]
3192 },
3193 {
3194 "name" : "FabricIngress.next.output_hashed",
3195 "id" : 27,
3196 "runtime_data" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003197 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003198 "name" : "port_num",
3199 "bitwidth" : 9
3200 }
3201 ],
3202 "primitives" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003203 {
3204 "op" : "assign",
3205 "parameters" : [
3206 {
3207 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003208 "value" : ["standard_metadata", "egress_spec"]
3209 },
3210 {
3211 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003212 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003213 }
3214 ],
3215 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003216 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003217 "line" : 31,
3218 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003219 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3220 }
3221 }
3222 ]
3223 },
3224 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003225 "name" : "FabricIngress.next.routing_hashed",
3226 "id" : 28,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08003227 "runtime_data" : [
3228 {
3229 "name" : "port_num",
3230 "bitwidth" : 9
3231 },
3232 {
3233 "name" : "smac",
3234 "bitwidth" : 48
3235 },
3236 {
3237 "name" : "dmac",
3238 "bitwidth" : 48
3239 }
3240 ],
3241 "primitives" : [
3242 {
3243 "op" : "assign",
3244 "parameters" : [
3245 {
3246 "type" : "field",
3247 "value" : ["ethernet", "src_addr"]
3248 },
3249 {
3250 "type" : "runtime_data",
3251 "value" : 1
3252 }
3253 ],
3254 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003255 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003256 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08003257 "column" : 8,
3258 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3259 }
3260 },
3261 {
3262 "op" : "assign",
3263 "parameters" : [
3264 {
3265 "type" : "field",
3266 "value" : ["ethernet", "dst_addr"]
3267 },
3268 {
3269 "type" : "runtime_data",
3270 "value" : 2
3271 }
3272 ],
3273 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003274 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08003275 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08003276 "column" : 8,
3277 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3278 }
3279 },
3280 {
3281 "op" : "assign",
3282 "parameters" : [
3283 {
3284 "type" : "field",
3285 "value" : ["standard_metadata", "egress_spec"]
3286 },
3287 {
3288 "type" : "runtime_data",
3289 "value" : 0
3290 }
3291 ],
3292 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003293 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003294 "line" : 31,
3295 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08003296 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3297 }
3298 }
3299 ]
3300 },
3301 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003302 "name" : "FabricIngress.next.set_mcast_group_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003303 "id" : 29,
Esin Karaman971fb7f2017-12-28 13:44:52 +00003304 "runtime_data" : [
3305 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003306 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00003307 "bitwidth" : 16
3308 }
3309 ],
3310 "primitives" : [
3311 {
3312 "op" : "assign",
3313 "parameters" : [
3314 {
3315 "type" : "field",
3316 "value" : ["standard_metadata", "mcast_grp"]
3317 },
3318 {
3319 "type" : "runtime_data",
3320 "value" : 0
3321 }
3322 ],
3323 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003324 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003325 "line" : 166,
Esin Karaman971fb7f2017-12-28 13:44:52 +00003326 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003327 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00003328 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02003329 },
3330 {
3331 "op" : "assign",
3332 "parameters" : [
3333 {
3334 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003335 "value" : ["scalars", "userMetadata._is_multicast18"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02003336 },
3337 {
3338 "type" : "expression",
3339 "value" : {
3340 "type" : "expression",
3341 "value" : {
3342 "op" : "b2d",
3343 "left" : null,
3344 "right" : {
3345 "type" : "bool",
3346 "value" : true
3347 }
3348 }
3349 }
3350 }
3351 ],
3352 "source_info" : {
3353 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003354 "line" : 167,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08003355 "column" : 37,
3356 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02003357 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00003358 }
3359 ]
3360 },
3361 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003362 "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003363 "id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -07003364 "runtime_data" : [
3365 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003366 "name" : "slice_id",
3367 "bitwidth" : 4
3368 },
3369 {
3370 "name" : "tc",
3371 "bitwidth" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07003372 }
3373 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003374 "primitives" : [
3375 {
3376 "op" : "assign",
3377 "parameters" : [
3378 {
3379 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003380 "value" : ["scalars", "userMetadata._slice_id25"]
3381 },
3382 {
3383 "type" : "runtime_data",
3384 "value" : 0
3385 }
3386 ],
3387 "source_info" : {
3388 "filename" : "include/control/slicing.p4",
3389 "line" : 35,
3390 "column" : 27,
3391 "source_fragment" : "= slice_id; ..."
3392 }
3393 },
3394 {
3395 "op" : "assign",
3396 "parameters" : [
3397 {
3398 "type" : "field",
3399 "value" : ["scalars", "userMetadata._tc27"]
3400 },
3401 {
3402 "type" : "runtime_data",
3403 "value" : 1
3404 }
3405 ],
3406 "source_info" : {
3407 "filename" : "include/control/slicing.p4",
3408 "line" : 36,
3409 "column" : 21,
3410 "source_fragment" : "= tc; ..."
3411 }
3412 }
3413 ]
3414 },
3415 {
3416 "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
3417 "id" : 31,
3418 "runtime_data" : [],
3419 "primitives" : [
3420 {
3421 "op" : "assign",
3422 "parameters" : [
3423 {
3424 "type" : "field",
3425 "value" : ["scalars", "userMetadata._slice_id25"]
3426 },
3427 {
3428 "type" : "expression",
3429 "value" : {
3430 "type" : "expression",
3431 "value" : {
3432 "op" : "&",
3433 "left" : {
3434 "type" : "expression",
3435 "value" : {
3436 "op" : "&",
3437 "left" : {
3438 "type" : "expression",
3439 "value" : {
3440 "op" : ">>",
3441 "left" : {
3442 "type" : "field",
3443 "value" : ["ipv4", "dscp"]
3444 },
3445 "right" : {
3446 "type" : "hexstr",
3447 "value" : "0x2"
3448 }
3449 }
3450 },
3451 "right" : {
3452 "type" : "hexstr",
3453 "value" : "0x3f"
3454 }
3455 }
3456 },
3457 "right" : {
3458 "type" : "hexstr",
3459 "value" : "0x0f"
3460 }
3461 }
3462 }
3463 }
3464 ],
3465 "source_info" : {
3466 "filename" : "include/control/slicing.p4",
3467 "line" : 44,
3468 "column" : 27,
3469 "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
3470 }
3471 },
3472 {
3473 "op" : "assign",
3474 "parameters" : [
3475 {
3476 "type" : "field",
3477 "value" : ["scalars", "userMetadata._tc27"]
3478 },
3479 {
3480 "type" : "expression",
3481 "value" : {
3482 "type" : "expression",
3483 "value" : {
3484 "op" : "&",
3485 "left" : {
3486 "type" : "field",
3487 "value" : ["ipv4", "dscp"]
3488 },
3489 "right" : {
3490 "type" : "hexstr",
3491 "value" : "0x03"
3492 }
3493 }
3494 }
3495 }
3496 ],
3497 "source_info" : {
3498 "filename" : "include/control/slicing.p4",
3499 "line" : 45,
3500 "column" : 21,
3501 "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
3502 }
3503 }
3504 ]
3505 },
3506 {
3507 "name" : "FabricIngress.qos.set_queue",
3508 "id" : 32,
3509 "runtime_data" : [
3510 {
3511 "name" : "qid",
3512 "bitwidth" : 5
3513 }
3514 ],
3515 "primitives" : []
3516 },
3517 {
3518 "name" : "FabricIngress.qos.meter_drop",
3519 "id" : 33,
3520 "runtime_data" : [],
3521 "primitives" : [
3522 {
3523 "op" : "mark_to_drop",
3524 "parameters" : [
3525 {
3526 "type" : "header",
3527 "value" : "standard_metadata"
3528 }
3529 ],
3530 "source_info" : {
3531 "filename" : "include/control/slicing.p4",
3532 "line" : 89,
3533 "column" : 8,
3534 "source_fragment" : "mark_to_drop(standard_metadata)"
3535 }
3536 }
3537 ]
3538 },
3539 {
3540 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
3541 "id" : 34,
3542 "runtime_data" : [],
3543 "primitives" : [
3544 {
3545 "op" : "assign",
3546 "parameters" : [
3547 {
3548 "type" : "field",
3549 "value" : ["scalars", "userMetadata._ip_eth_type8"]
3550 },
3551 {
3552 "type" : "hexstr",
3553 "value" : "0x0800"
3554 }
3555 ],
3556 "source_info" : {
3557 "filename" : "include/control/../define.p4",
3558 "line" : 149,
3559 "column" : 31,
3560 "source_fragment" : "0x0800; ..."
3561 }
3562 },
3563 {
3564 "op" : "assign",
3565 "parameters" : [
3566 {
3567 "type" : "field",
3568 "value" : ["scalars", "userMetadata._ip_proto20"]
3569 },
3570 {
3571 "type" : "field",
3572 "value" : ["inner_ipv4", "protocol"]
3573 }
3574 ],
3575 "source_info" : {
3576 "filename" : "include/control/spgw.p4",
3577 "line" : 39,
3578 "column" : 27,
3579 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3580 }
3581 },
3582 {
3583 "op" : "assign",
3584 "parameters" : [
3585 {
3586 "type" : "field",
3587 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
3588 },
3589 {
3590 "type" : "field",
3591 "value" : ["inner_ipv4", "src_addr"]
3592 }
3593 ],
3594 "source_info" : {
3595 "filename" : "include/control/spgw.p4",
3596 "line" : 40,
3597 "column" : 32,
3598 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3599 }
3600 },
3601 {
3602 "op" : "assign",
3603 "parameters" : [
3604 {
3605 "type" : "field",
3606 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
3607 },
3608 {
3609 "type" : "field",
3610 "value" : ["inner_ipv4", "dst_addr"]
3611 }
3612 ],
3613 "source_info" : {
3614 "filename" : "include/control/spgw.p4",
3615 "line" : 41,
3616 "column" : 32,
3617 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3618 }
3619 },
3620 {
3621 "op" : "assign",
3622 "parameters" : [
3623 {
3624 "type" : "field",
3625 "value" : ["scalars", "userMetadata._l4_sport21"]
3626 },
3627 {
3628 "type" : "field",
3629 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
3630 }
3631 ],
3632 "source_info" : {
3633 "filename" : "include/control/spgw.p4",
3634 "line" : 42,
3635 "column" : 27,
3636 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3637 }
3638 },
3639 {
3640 "op" : "assign",
3641 "parameters" : [
3642 {
3643 "type" : "field",
3644 "value" : ["scalars", "userMetadata._l4_dport22"]
3645 },
3646 {
3647 "type" : "field",
3648 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
3649 }
3650 ],
3651 "source_info" : {
3652 "filename" : "include/control/spgw.p4",
3653 "line" : 43,
3654 "column" : 27,
3655 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3656 }
3657 },
3658 {
3659 "op" : "assign_header",
3660 "parameters" : [
3661 {
3662 "type" : "header",
3663 "value" : "ipv4"
3664 },
3665 {
3666 "type" : "header",
3667 "value" : "inner_ipv4"
3668 }
3669 ],
3670 "source_info" : {
3671 "filename" : "include/control/spgw.p4",
3672 "line" : 45,
3673 "column" : 8,
3674 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3675 }
3676 },
3677 {
3678 "op" : "remove_header",
3679 "parameters" : [
3680 {
3681 "type" : "header",
3682 "value" : "inner_ipv4"
3683 }
3684 ],
3685 "source_info" : {
3686 "filename" : "include/control/spgw.p4",
3687 "line" : 46,
3688 "column" : 8,
3689 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3690 }
3691 },
3692 {
3693 "op" : "remove_header",
3694 "parameters" : [
3695 {
3696 "type" : "header",
3697 "value" : "gtpu"
3698 }
3699 ],
3700 "source_info" : {
3701 "filename" : "include/control/spgw.p4",
3702 "line" : 47,
3703 "column" : 8,
3704 "source_fragment" : "hdr.gtpu.setInvalid()"
3705 }
3706 },
3707 {
3708 "op" : "remove_header",
3709 "parameters" : [
3710 {
3711 "type" : "header",
3712 "value" : "gtpu_options"
3713 }
3714 ],
3715 "source_info" : {
3716 "filename" : "include/control/spgw.p4",
3717 "line" : 48,
3718 "column" : 8,
3719 "source_fragment" : "hdr.gtpu_options.setInvalid()"
3720 }
3721 },
3722 {
3723 "op" : "remove_header",
3724 "parameters" : [
3725 {
3726 "type" : "header",
3727 "value" : "gtpu_ext_psc"
3728 }
3729 ],
3730 "source_info" : {
3731 "filename" : "include/control/spgw.p4",
3732 "line" : 49,
3733 "column" : 8,
3734 "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
3735 }
3736 },
3737 {
3738 "op" : "remove_header",
3739 "parameters" : [
3740 {
3741 "type" : "header",
3742 "value" : "udp"
3743 }
3744 ],
3745 "source_info" : {
3746 "filename" : "include/control/spgw.p4",
3747 "line" : 54,
3748 "column" : 8,
3749 "source_fragment" : "hdr.udp.setInvalid()"
3750 }
3751 },
3752 {
3753 "op" : "assign_header",
3754 "parameters" : [
3755 {
3756 "type" : "header",
3757 "value" : "tcp"
3758 },
3759 {
3760 "type" : "header",
3761 "value" : "inner_tcp"
3762 }
3763 ],
3764 "source_info" : {
3765 "filename" : "include/control/spgw.p4",
3766 "line" : 55,
3767 "column" : 8,
3768 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3769 }
3770 },
3771 {
3772 "op" : "remove_header",
3773 "parameters" : [
3774 {
3775 "type" : "header",
3776 "value" : "inner_tcp"
3777 }
3778 ],
3779 "source_info" : {
3780 "filename" : "include/control/spgw.p4",
3781 "line" : 56,
3782 "column" : 8,
3783 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3784 }
3785 }
3786 ]
3787 },
3788 {
3789 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
3790 "id" : 35,
3791 "runtime_data" : [],
3792 "primitives" : [
3793 {
3794 "op" : "assign",
3795 "parameters" : [
3796 {
3797 "type" : "field",
3798 "value" : ["scalars", "userMetadata._ip_eth_type8"]
3799 },
3800 {
3801 "type" : "hexstr",
3802 "value" : "0x0800"
3803 }
3804 ],
3805 "source_info" : {
3806 "filename" : "include/control/../define.p4",
3807 "line" : 149,
3808 "column" : 31,
3809 "source_fragment" : "0x0800; ..."
3810 }
3811 },
3812 {
3813 "op" : "assign",
3814 "parameters" : [
3815 {
3816 "type" : "field",
3817 "value" : ["scalars", "userMetadata._ip_proto20"]
3818 },
3819 {
3820 "type" : "field",
3821 "value" : ["inner_ipv4", "protocol"]
3822 }
3823 ],
3824 "source_info" : {
3825 "filename" : "include/control/spgw.p4",
3826 "line" : 39,
3827 "column" : 27,
3828 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3829 }
3830 },
3831 {
3832 "op" : "assign",
3833 "parameters" : [
3834 {
3835 "type" : "field",
3836 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
3837 },
3838 {
3839 "type" : "field",
3840 "value" : ["inner_ipv4", "src_addr"]
3841 }
3842 ],
3843 "source_info" : {
3844 "filename" : "include/control/spgw.p4",
3845 "line" : 40,
3846 "column" : 32,
3847 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3848 }
3849 },
3850 {
3851 "op" : "assign",
3852 "parameters" : [
3853 {
3854 "type" : "field",
3855 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
3856 },
3857 {
3858 "type" : "field",
3859 "value" : ["inner_ipv4", "dst_addr"]
3860 }
3861 ],
3862 "source_info" : {
3863 "filename" : "include/control/spgw.p4",
3864 "line" : 41,
3865 "column" : 32,
3866 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3867 }
3868 },
3869 {
3870 "op" : "assign",
3871 "parameters" : [
3872 {
3873 "type" : "field",
3874 "value" : ["scalars", "userMetadata._l4_sport21"]
3875 },
3876 {
3877 "type" : "field",
3878 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
3879 }
3880 ],
3881 "source_info" : {
3882 "filename" : "include/control/spgw.p4",
3883 "line" : 42,
3884 "column" : 27,
3885 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3886 }
3887 },
3888 {
3889 "op" : "assign",
3890 "parameters" : [
3891 {
3892 "type" : "field",
3893 "value" : ["scalars", "userMetadata._l4_dport22"]
3894 },
3895 {
3896 "type" : "field",
3897 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
3898 }
3899 ],
3900 "source_info" : {
3901 "filename" : "include/control/spgw.p4",
3902 "line" : 43,
3903 "column" : 27,
3904 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3905 }
3906 },
3907 {
3908 "op" : "assign_header",
3909 "parameters" : [
3910 {
3911 "type" : "header",
3912 "value" : "ipv4"
3913 },
3914 {
3915 "type" : "header",
3916 "value" : "inner_ipv4"
3917 }
3918 ],
3919 "source_info" : {
3920 "filename" : "include/control/spgw.p4",
3921 "line" : 45,
3922 "column" : 8,
3923 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3924 }
3925 },
3926 {
3927 "op" : "remove_header",
3928 "parameters" : [
3929 {
3930 "type" : "header",
3931 "value" : "inner_ipv4"
3932 }
3933 ],
3934 "source_info" : {
3935 "filename" : "include/control/spgw.p4",
3936 "line" : 46,
3937 "column" : 8,
3938 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3939 }
3940 },
3941 {
3942 "op" : "remove_header",
3943 "parameters" : [
3944 {
3945 "type" : "header",
3946 "value" : "gtpu"
3947 }
3948 ],
3949 "source_info" : {
3950 "filename" : "include/control/spgw.p4",
3951 "line" : 47,
3952 "column" : 8,
3953 "source_fragment" : "hdr.gtpu.setInvalid()"
3954 }
3955 },
3956 {
3957 "op" : "remove_header",
3958 "parameters" : [
3959 {
3960 "type" : "header",
3961 "value" : "gtpu_options"
3962 }
3963 ],
3964 "source_info" : {
3965 "filename" : "include/control/spgw.p4",
3966 "line" : 48,
3967 "column" : 8,
3968 "source_fragment" : "hdr.gtpu_options.setInvalid()"
3969 }
3970 },
3971 {
3972 "op" : "remove_header",
3973 "parameters" : [
3974 {
3975 "type" : "header",
3976 "value" : "gtpu_ext_psc"
3977 }
3978 ],
3979 "source_info" : {
3980 "filename" : "include/control/spgw.p4",
3981 "line" : 49,
3982 "column" : 8,
3983 "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
3984 }
3985 },
3986 {
3987 "op" : "assign_header",
3988 "parameters" : [
3989 {
3990 "type" : "header",
3991 "value" : "udp"
3992 },
3993 {
3994 "type" : "header",
3995 "value" : "inner_udp"
3996 }
3997 ],
3998 "source_info" : {
3999 "filename" : "include/control/spgw.p4",
4000 "line" : 61,
4001 "column" : 8,
4002 "source_fragment" : "hdr.udp = hdr.inner_udp"
4003 }
4004 },
4005 {
4006 "op" : "remove_header",
4007 "parameters" : [
4008 {
4009 "type" : "header",
4010 "value" : "inner_udp"
4011 }
4012 ],
4013 "source_info" : {
4014 "filename" : "include/control/spgw.p4",
4015 "line" : 62,
4016 "column" : 8,
4017 "source_fragment" : "hdr.inner_udp.setInvalid()"
4018 }
4019 }
4020 ]
4021 },
4022 {
4023 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
4024 "id" : 36,
4025 "runtime_data" : [],
4026 "primitives" : [
4027 {
4028 "op" : "assign",
4029 "parameters" : [
4030 {
4031 "type" : "field",
4032 "value" : ["scalars", "userMetadata._ip_eth_type8"]
4033 },
4034 {
4035 "type" : "hexstr",
4036 "value" : "0x0800"
4037 }
4038 ],
4039 "source_info" : {
4040 "filename" : "include/control/../define.p4",
4041 "line" : 149,
4042 "column" : 31,
4043 "source_fragment" : "0x0800; ..."
4044 }
4045 },
4046 {
4047 "op" : "assign",
4048 "parameters" : [
4049 {
4050 "type" : "field",
4051 "value" : ["scalars", "userMetadata._ip_proto20"]
4052 },
4053 {
4054 "type" : "field",
4055 "value" : ["inner_ipv4", "protocol"]
4056 }
4057 ],
4058 "source_info" : {
4059 "filename" : "include/control/spgw.p4",
4060 "line" : 39,
4061 "column" : 27,
4062 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4063 }
4064 },
4065 {
4066 "op" : "assign",
4067 "parameters" : [
4068 {
4069 "type" : "field",
4070 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
4071 },
4072 {
4073 "type" : "field",
4074 "value" : ["inner_ipv4", "src_addr"]
4075 }
4076 ],
4077 "source_info" : {
4078 "filename" : "include/control/spgw.p4",
4079 "line" : 40,
4080 "column" : 32,
4081 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4082 }
4083 },
4084 {
4085 "op" : "assign",
4086 "parameters" : [
4087 {
4088 "type" : "field",
4089 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
4090 },
4091 {
4092 "type" : "field",
4093 "value" : ["inner_ipv4", "dst_addr"]
4094 }
4095 ],
4096 "source_info" : {
4097 "filename" : "include/control/spgw.p4",
4098 "line" : 41,
4099 "column" : 32,
4100 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4101 }
4102 },
4103 {
4104 "op" : "assign",
4105 "parameters" : [
4106 {
4107 "type" : "field",
4108 "value" : ["scalars", "userMetadata._l4_sport21"]
4109 },
4110 {
4111 "type" : "field",
4112 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
4113 }
4114 ],
4115 "source_info" : {
4116 "filename" : "include/control/spgw.p4",
4117 "line" : 42,
4118 "column" : 27,
4119 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4120 }
4121 },
4122 {
4123 "op" : "assign",
4124 "parameters" : [
4125 {
4126 "type" : "field",
4127 "value" : ["scalars", "userMetadata._l4_dport22"]
4128 },
4129 {
4130 "type" : "field",
4131 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
4132 }
4133 ],
4134 "source_info" : {
4135 "filename" : "include/control/spgw.p4",
4136 "line" : 43,
4137 "column" : 27,
4138 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4139 }
4140 },
4141 {
4142 "op" : "assign_header",
4143 "parameters" : [
4144 {
4145 "type" : "header",
4146 "value" : "ipv4"
4147 },
4148 {
4149 "type" : "header",
4150 "value" : "inner_ipv4"
4151 }
4152 ],
4153 "source_info" : {
4154 "filename" : "include/control/spgw.p4",
4155 "line" : 45,
4156 "column" : 8,
4157 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4158 }
4159 },
4160 {
4161 "op" : "remove_header",
4162 "parameters" : [
4163 {
4164 "type" : "header",
4165 "value" : "inner_ipv4"
4166 }
4167 ],
4168 "source_info" : {
4169 "filename" : "include/control/spgw.p4",
4170 "line" : 46,
4171 "column" : 8,
4172 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4173 }
4174 },
4175 {
4176 "op" : "remove_header",
4177 "parameters" : [
4178 {
4179 "type" : "header",
4180 "value" : "gtpu"
4181 }
4182 ],
4183 "source_info" : {
4184 "filename" : "include/control/spgw.p4",
4185 "line" : 47,
4186 "column" : 8,
4187 "source_fragment" : "hdr.gtpu.setInvalid()"
4188 }
4189 },
4190 {
4191 "op" : "remove_header",
4192 "parameters" : [
4193 {
4194 "type" : "header",
4195 "value" : "gtpu_options"
4196 }
4197 ],
4198 "source_info" : {
4199 "filename" : "include/control/spgw.p4",
4200 "line" : 48,
4201 "column" : 8,
4202 "source_fragment" : "hdr.gtpu_options.setInvalid()"
4203 }
4204 },
4205 {
4206 "op" : "remove_header",
4207 "parameters" : [
4208 {
4209 "type" : "header",
4210 "value" : "gtpu_ext_psc"
4211 }
4212 ],
4213 "source_info" : {
4214 "filename" : "include/control/spgw.p4",
4215 "line" : 49,
4216 "column" : 8,
4217 "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
4218 }
4219 },
4220 {
4221 "op" : "remove_header",
4222 "parameters" : [
4223 {
4224 "type" : "header",
4225 "value" : "udp"
4226 }
4227 ],
4228 "source_info" : {
4229 "filename" : "include/control/spgw.p4",
4230 "line" : 67,
4231 "column" : 8,
4232 "source_fragment" : "hdr.udp.setInvalid()"
4233 }
4234 },
4235 {
4236 "op" : "assign_header",
4237 "parameters" : [
4238 {
4239 "type" : "header",
4240 "value" : "icmp"
4241 },
4242 {
4243 "type" : "header",
4244 "value" : "inner_icmp"
4245 }
4246 ],
4247 "source_info" : {
4248 "filename" : "include/control/spgw.p4",
4249 "line" : 68,
4250 "column" : 8,
4251 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
4252 }
4253 },
4254 {
4255 "op" : "remove_header",
4256 "parameters" : [
4257 {
4258 "type" : "header",
4259 "value" : "inner_icmp"
4260 }
4261 ],
4262 "source_info" : {
4263 "filename" : "include/control/spgw.p4",
4264 "line" : 69,
4265 "column" : 8,
4266 "source_fragment" : "hdr.inner_icmp.setInvalid()"
4267 }
4268 }
4269 ]
4270 },
4271 {
4272 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
4273 "id" : 37,
4274 "runtime_data" : [],
4275 "primitives" : [
4276 {
4277 "op" : "assign",
4278 "parameters" : [
4279 {
4280 "type" : "field",
4281 "value" : ["scalars", "userMetadata._ip_eth_type8"]
4282 },
4283 {
4284 "type" : "hexstr",
4285 "value" : "0x0800"
4286 }
4287 ],
4288 "source_info" : {
4289 "filename" : "include/control/../define.p4",
4290 "line" : 149,
4291 "column" : 31,
4292 "source_fragment" : "0x0800; ..."
4293 }
4294 },
4295 {
4296 "op" : "assign",
4297 "parameters" : [
4298 {
4299 "type" : "field",
4300 "value" : ["scalars", "userMetadata._ip_proto20"]
4301 },
4302 {
4303 "type" : "field",
4304 "value" : ["inner_ipv4", "protocol"]
4305 }
4306 ],
4307 "source_info" : {
4308 "filename" : "include/control/spgw.p4",
4309 "line" : 39,
4310 "column" : 27,
4311 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4312 }
4313 },
4314 {
4315 "op" : "assign",
4316 "parameters" : [
4317 {
4318 "type" : "field",
4319 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
4320 },
4321 {
4322 "type" : "field",
4323 "value" : ["inner_ipv4", "src_addr"]
4324 }
4325 ],
4326 "source_info" : {
4327 "filename" : "include/control/spgw.p4",
4328 "line" : 40,
4329 "column" : 32,
4330 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4331 }
4332 },
4333 {
4334 "op" : "assign",
4335 "parameters" : [
4336 {
4337 "type" : "field",
4338 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
4339 },
4340 {
4341 "type" : "field",
4342 "value" : ["inner_ipv4", "dst_addr"]
4343 }
4344 ],
4345 "source_info" : {
4346 "filename" : "include/control/spgw.p4",
4347 "line" : 41,
4348 "column" : 32,
4349 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4350 }
4351 },
4352 {
4353 "op" : "assign",
4354 "parameters" : [
4355 {
4356 "type" : "field",
4357 "value" : ["scalars", "userMetadata._l4_sport21"]
4358 },
4359 {
4360 "type" : "field",
4361 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
4362 }
4363 ],
4364 "source_info" : {
4365 "filename" : "include/control/spgw.p4",
4366 "line" : 42,
4367 "column" : 27,
4368 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4369 }
4370 },
4371 {
4372 "op" : "assign",
4373 "parameters" : [
4374 {
4375 "type" : "field",
4376 "value" : ["scalars", "userMetadata._l4_dport22"]
4377 },
4378 {
4379 "type" : "field",
4380 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
4381 }
4382 ],
4383 "source_info" : {
4384 "filename" : "include/control/spgw.p4",
4385 "line" : 43,
4386 "column" : 27,
4387 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4388 }
4389 },
4390 {
4391 "op" : "assign_header",
4392 "parameters" : [
4393 {
4394 "type" : "header",
4395 "value" : "ipv4"
4396 },
4397 {
4398 "type" : "header",
4399 "value" : "inner_ipv4"
4400 }
4401 ],
4402 "source_info" : {
4403 "filename" : "include/control/spgw.p4",
4404 "line" : 45,
4405 "column" : 8,
4406 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4407 }
4408 },
4409 {
4410 "op" : "remove_header",
4411 "parameters" : [
4412 {
4413 "type" : "header",
4414 "value" : "inner_ipv4"
4415 }
4416 ],
4417 "source_info" : {
4418 "filename" : "include/control/spgw.p4",
4419 "line" : 46,
4420 "column" : 8,
4421 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4422 }
4423 },
4424 {
4425 "op" : "remove_header",
4426 "parameters" : [
4427 {
4428 "type" : "header",
4429 "value" : "gtpu"
4430 }
4431 ],
4432 "source_info" : {
4433 "filename" : "include/control/spgw.p4",
4434 "line" : 47,
4435 "column" : 8,
4436 "source_fragment" : "hdr.gtpu.setInvalid()"
4437 }
4438 },
4439 {
4440 "op" : "remove_header",
4441 "parameters" : [
4442 {
4443 "type" : "header",
4444 "value" : "gtpu_options"
4445 }
4446 ],
4447 "source_info" : {
4448 "filename" : "include/control/spgw.p4",
4449 "line" : 48,
4450 "column" : 8,
4451 "source_fragment" : "hdr.gtpu_options.setInvalid()"
4452 }
4453 },
4454 {
4455 "op" : "remove_header",
4456 "parameters" : [
4457 {
4458 "type" : "header",
4459 "value" : "gtpu_ext_psc"
4460 }
4461 ],
4462 "source_info" : {
4463 "filename" : "include/control/spgw.p4",
4464 "line" : 49,
4465 "column" : 8,
4466 "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
4467 }
4468 },
4469 {
4470 "op" : "remove_header",
4471 "parameters" : [
4472 {
4473 "type" : "header",
4474 "value" : "udp"
4475 }
4476 ],
4477 "source_info" : {
4478 "filename" : "include/control/spgw.p4",
4479 "line" : 74,
4480 "column" : 8,
4481 "source_fragment" : "hdr.udp.setInvalid()"
4482 }
4483 }
4484 ]
4485 },
4486 {
4487 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
4488 "id" : 38,
4489 "runtime_data" : [],
4490 "primitives" : [
4491 {
4492 "op" : "assign",
4493 "parameters" : [
4494 {
4495 "type" : "field",
4496 "value" : ["scalars", "userMetadata._ip_eth_type8"]
4497 },
4498 {
4499 "type" : "hexstr",
4500 "value" : "0x0800"
4501 }
4502 ],
4503 "source_info" : {
4504 "filename" : "include/control/../define.p4",
4505 "line" : 149,
4506 "column" : 31,
4507 "source_fragment" : "0x0800; ..."
4508 }
4509 },
4510 {
4511 "op" : "assign",
4512 "parameters" : [
4513 {
4514 "type" : "field",
4515 "value" : ["scalars", "userMetadata._ip_proto20"]
4516 },
4517 {
4518 "type" : "field",
4519 "value" : ["inner_ipv4", "protocol"]
4520 }
4521 ],
4522 "source_info" : {
4523 "filename" : "include/control/spgw.p4",
4524 "line" : 39,
4525 "column" : 27,
4526 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4527 }
4528 },
4529 {
4530 "op" : "assign",
4531 "parameters" : [
4532 {
4533 "type" : "field",
4534 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
4535 },
4536 {
4537 "type" : "field",
4538 "value" : ["inner_ipv4", "src_addr"]
4539 }
4540 ],
4541 "source_info" : {
4542 "filename" : "include/control/spgw.p4",
4543 "line" : 40,
4544 "column" : 32,
4545 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4546 }
4547 },
4548 {
4549 "op" : "assign",
4550 "parameters" : [
4551 {
4552 "type" : "field",
4553 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
4554 },
4555 {
4556 "type" : "field",
4557 "value" : ["inner_ipv4", "dst_addr"]
4558 }
4559 ],
4560 "source_info" : {
4561 "filename" : "include/control/spgw.p4",
4562 "line" : 41,
4563 "column" : 32,
4564 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4565 }
4566 },
4567 {
4568 "op" : "assign",
4569 "parameters" : [
4570 {
4571 "type" : "field",
4572 "value" : ["scalars", "userMetadata._l4_sport21"]
4573 },
4574 {
4575 "type" : "field",
4576 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
4577 }
4578 ],
4579 "source_info" : {
4580 "filename" : "include/control/spgw.p4",
4581 "line" : 42,
4582 "column" : 27,
4583 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4584 }
4585 },
4586 {
4587 "op" : "assign",
4588 "parameters" : [
4589 {
4590 "type" : "field",
4591 "value" : ["scalars", "userMetadata._l4_dport22"]
4592 },
4593 {
4594 "type" : "field",
4595 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
4596 }
4597 ],
4598 "source_info" : {
4599 "filename" : "include/control/spgw.p4",
4600 "line" : 43,
4601 "column" : 27,
4602 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4603 }
4604 },
4605 {
4606 "op" : "assign_header",
4607 "parameters" : [
4608 {
4609 "type" : "header",
4610 "value" : "ipv4"
4611 },
4612 {
4613 "type" : "header",
4614 "value" : "inner_ipv4"
4615 }
4616 ],
4617 "source_info" : {
4618 "filename" : "include/control/spgw.p4",
4619 "line" : 45,
4620 "column" : 8,
4621 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4622 }
4623 },
4624 {
4625 "op" : "remove_header",
4626 "parameters" : [
4627 {
4628 "type" : "header",
4629 "value" : "inner_ipv4"
4630 }
4631 ],
4632 "source_info" : {
4633 "filename" : "include/control/spgw.p4",
4634 "line" : 46,
4635 "column" : 8,
4636 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4637 }
4638 },
4639 {
4640 "op" : "remove_header",
4641 "parameters" : [
4642 {
4643 "type" : "header",
4644 "value" : "gtpu"
4645 }
4646 ],
4647 "source_info" : {
4648 "filename" : "include/control/spgw.p4",
4649 "line" : 47,
4650 "column" : 8,
4651 "source_fragment" : "hdr.gtpu.setInvalid()"
4652 }
4653 },
4654 {
4655 "op" : "remove_header",
4656 "parameters" : [
4657 {
4658 "type" : "header",
4659 "value" : "gtpu_options"
4660 }
4661 ],
4662 "source_info" : {
4663 "filename" : "include/control/spgw.p4",
4664 "line" : 48,
4665 "column" : 8,
4666 "source_fragment" : "hdr.gtpu_options.setInvalid()"
4667 }
4668 },
4669 {
4670 "op" : "remove_header",
4671 "parameters" : [
4672 {
4673 "type" : "header",
4674 "value" : "gtpu_ext_psc"
4675 }
4676 ],
4677 "source_info" : {
4678 "filename" : "include/control/spgw.p4",
4679 "line" : 49,
4680 "column" : 8,
4681 "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
4682 }
4683 },
4684 {
4685 "op" : "remove_header",
4686 "parameters" : [
4687 {
4688 "type" : "header",
4689 "value" : "udp"
4690 }
4691 ],
4692 "source_info" : {
4693 "filename" : "include/control/spgw.p4",
4694 "line" : 54,
4695 "column" : 8,
4696 "source_fragment" : "hdr.udp.setInvalid()"
4697 }
4698 },
4699 {
4700 "op" : "assign_header",
4701 "parameters" : [
4702 {
4703 "type" : "header",
4704 "value" : "tcp"
4705 },
4706 {
4707 "type" : "header",
4708 "value" : "inner_tcp"
4709 }
4710 ],
4711 "source_info" : {
4712 "filename" : "include/control/spgw.p4",
4713 "line" : 55,
4714 "column" : 8,
4715 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
4716 }
4717 },
4718 {
4719 "op" : "remove_header",
4720 "parameters" : [
4721 {
4722 "type" : "header",
4723 "value" : "inner_tcp"
4724 }
4725 ],
4726 "source_info" : {
4727 "filename" : "include/control/spgw.p4",
4728 "line" : 56,
4729 "column" : 8,
4730 "source_fragment" : "hdr.inner_tcp.setInvalid()"
4731 }
4732 }
4733 ]
4734 },
4735 {
4736 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
4737 "id" : 39,
4738 "runtime_data" : [],
4739 "primitives" : [
4740 {
4741 "op" : "assign",
4742 "parameters" : [
4743 {
4744 "type" : "field",
4745 "value" : ["scalars", "userMetadata._ip_eth_type8"]
4746 },
4747 {
4748 "type" : "hexstr",
4749 "value" : "0x0800"
4750 }
4751 ],
4752 "source_info" : {
4753 "filename" : "include/control/../define.p4",
4754 "line" : 149,
4755 "column" : 31,
4756 "source_fragment" : "0x0800; ..."
4757 }
4758 },
4759 {
4760 "op" : "assign",
4761 "parameters" : [
4762 {
4763 "type" : "field",
4764 "value" : ["scalars", "userMetadata._ip_proto20"]
4765 },
4766 {
4767 "type" : "field",
4768 "value" : ["inner_ipv4", "protocol"]
4769 }
4770 ],
4771 "source_info" : {
4772 "filename" : "include/control/spgw.p4",
4773 "line" : 39,
4774 "column" : 27,
4775 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4776 }
4777 },
4778 {
4779 "op" : "assign",
4780 "parameters" : [
4781 {
4782 "type" : "field",
4783 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
4784 },
4785 {
4786 "type" : "field",
4787 "value" : ["inner_ipv4", "src_addr"]
4788 }
4789 ],
4790 "source_info" : {
4791 "filename" : "include/control/spgw.p4",
4792 "line" : 40,
4793 "column" : 32,
4794 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4795 }
4796 },
4797 {
4798 "op" : "assign",
4799 "parameters" : [
4800 {
4801 "type" : "field",
4802 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
4803 },
4804 {
4805 "type" : "field",
4806 "value" : ["inner_ipv4", "dst_addr"]
4807 }
4808 ],
4809 "source_info" : {
4810 "filename" : "include/control/spgw.p4",
4811 "line" : 41,
4812 "column" : 32,
4813 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4814 }
4815 },
4816 {
4817 "op" : "assign",
4818 "parameters" : [
4819 {
4820 "type" : "field",
4821 "value" : ["scalars", "userMetadata._l4_sport21"]
4822 },
4823 {
4824 "type" : "field",
4825 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
4826 }
4827 ],
4828 "source_info" : {
4829 "filename" : "include/control/spgw.p4",
4830 "line" : 42,
4831 "column" : 27,
4832 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4833 }
4834 },
4835 {
4836 "op" : "assign",
4837 "parameters" : [
4838 {
4839 "type" : "field",
4840 "value" : ["scalars", "userMetadata._l4_dport22"]
4841 },
4842 {
4843 "type" : "field",
4844 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
4845 }
4846 ],
4847 "source_info" : {
4848 "filename" : "include/control/spgw.p4",
4849 "line" : 43,
4850 "column" : 27,
4851 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4852 }
4853 },
4854 {
4855 "op" : "assign_header",
4856 "parameters" : [
4857 {
4858 "type" : "header",
4859 "value" : "ipv4"
4860 },
4861 {
4862 "type" : "header",
4863 "value" : "inner_ipv4"
4864 }
4865 ],
4866 "source_info" : {
4867 "filename" : "include/control/spgw.p4",
4868 "line" : 45,
4869 "column" : 8,
4870 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4871 }
4872 },
4873 {
4874 "op" : "remove_header",
4875 "parameters" : [
4876 {
4877 "type" : "header",
4878 "value" : "inner_ipv4"
4879 }
4880 ],
4881 "source_info" : {
4882 "filename" : "include/control/spgw.p4",
4883 "line" : 46,
4884 "column" : 8,
4885 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4886 }
4887 },
4888 {
4889 "op" : "remove_header",
4890 "parameters" : [
4891 {
4892 "type" : "header",
4893 "value" : "gtpu"
4894 }
4895 ],
4896 "source_info" : {
4897 "filename" : "include/control/spgw.p4",
4898 "line" : 47,
4899 "column" : 8,
4900 "source_fragment" : "hdr.gtpu.setInvalid()"
4901 }
4902 },
4903 {
4904 "op" : "remove_header",
4905 "parameters" : [
4906 {
4907 "type" : "header",
4908 "value" : "gtpu_options"
4909 }
4910 ],
4911 "source_info" : {
4912 "filename" : "include/control/spgw.p4",
4913 "line" : 48,
4914 "column" : 8,
4915 "source_fragment" : "hdr.gtpu_options.setInvalid()"
4916 }
4917 },
4918 {
4919 "op" : "remove_header",
4920 "parameters" : [
4921 {
4922 "type" : "header",
4923 "value" : "gtpu_ext_psc"
4924 }
4925 ],
4926 "source_info" : {
4927 "filename" : "include/control/spgw.p4",
4928 "line" : 49,
4929 "column" : 8,
4930 "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
4931 }
4932 },
4933 {
4934 "op" : "assign_header",
4935 "parameters" : [
4936 {
4937 "type" : "header",
4938 "value" : "udp"
4939 },
4940 {
4941 "type" : "header",
4942 "value" : "inner_udp"
4943 }
4944 ],
4945 "source_info" : {
4946 "filename" : "include/control/spgw.p4",
4947 "line" : 61,
4948 "column" : 8,
4949 "source_fragment" : "hdr.udp = hdr.inner_udp"
4950 }
4951 },
4952 {
4953 "op" : "remove_header",
4954 "parameters" : [
4955 {
4956 "type" : "header",
4957 "value" : "inner_udp"
4958 }
4959 ],
4960 "source_info" : {
4961 "filename" : "include/control/spgw.p4",
4962 "line" : 62,
4963 "column" : 8,
4964 "source_fragment" : "hdr.inner_udp.setInvalid()"
4965 }
4966 }
4967 ]
4968 },
4969 {
4970 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
4971 "id" : 40,
4972 "runtime_data" : [],
4973 "primitives" : [
4974 {
4975 "op" : "assign",
4976 "parameters" : [
4977 {
4978 "type" : "field",
4979 "value" : ["scalars", "userMetadata._ip_eth_type8"]
4980 },
4981 {
4982 "type" : "hexstr",
4983 "value" : "0x0800"
4984 }
4985 ],
4986 "source_info" : {
4987 "filename" : "include/control/../define.p4",
4988 "line" : 149,
4989 "column" : 31,
4990 "source_fragment" : "0x0800; ..."
4991 }
4992 },
4993 {
4994 "op" : "assign",
4995 "parameters" : [
4996 {
4997 "type" : "field",
4998 "value" : ["scalars", "userMetadata._ip_proto20"]
4999 },
5000 {
5001 "type" : "field",
5002 "value" : ["inner_ipv4", "protocol"]
5003 }
5004 ],
5005 "source_info" : {
5006 "filename" : "include/control/spgw.p4",
5007 "line" : 39,
5008 "column" : 27,
5009 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
5010 }
5011 },
5012 {
5013 "op" : "assign",
5014 "parameters" : [
5015 {
5016 "type" : "field",
5017 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
5018 },
5019 {
5020 "type" : "field",
5021 "value" : ["inner_ipv4", "src_addr"]
5022 }
5023 ],
5024 "source_info" : {
5025 "filename" : "include/control/spgw.p4",
5026 "line" : 40,
5027 "column" : 32,
5028 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
5029 }
5030 },
5031 {
5032 "op" : "assign",
5033 "parameters" : [
5034 {
5035 "type" : "field",
5036 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
5037 },
5038 {
5039 "type" : "field",
5040 "value" : ["inner_ipv4", "dst_addr"]
5041 }
5042 ],
5043 "source_info" : {
5044 "filename" : "include/control/spgw.p4",
5045 "line" : 41,
5046 "column" : 32,
5047 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
5048 }
5049 },
5050 {
5051 "op" : "assign",
5052 "parameters" : [
5053 {
5054 "type" : "field",
5055 "value" : ["scalars", "userMetadata._l4_sport21"]
5056 },
5057 {
5058 "type" : "field",
5059 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
5060 }
5061 ],
5062 "source_info" : {
5063 "filename" : "include/control/spgw.p4",
5064 "line" : 42,
5065 "column" : 27,
5066 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
5067 }
5068 },
5069 {
5070 "op" : "assign",
5071 "parameters" : [
5072 {
5073 "type" : "field",
5074 "value" : ["scalars", "userMetadata._l4_dport22"]
5075 },
5076 {
5077 "type" : "field",
5078 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
5079 }
5080 ],
5081 "source_info" : {
5082 "filename" : "include/control/spgw.p4",
5083 "line" : 43,
5084 "column" : 27,
5085 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
5086 }
5087 },
5088 {
5089 "op" : "assign_header",
5090 "parameters" : [
5091 {
5092 "type" : "header",
5093 "value" : "ipv4"
5094 },
5095 {
5096 "type" : "header",
5097 "value" : "inner_ipv4"
5098 }
5099 ],
5100 "source_info" : {
5101 "filename" : "include/control/spgw.p4",
5102 "line" : 45,
5103 "column" : 8,
5104 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
5105 }
5106 },
5107 {
5108 "op" : "remove_header",
5109 "parameters" : [
5110 {
5111 "type" : "header",
5112 "value" : "inner_ipv4"
5113 }
5114 ],
5115 "source_info" : {
5116 "filename" : "include/control/spgw.p4",
5117 "line" : 46,
5118 "column" : 8,
5119 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
5120 }
5121 },
5122 {
5123 "op" : "remove_header",
5124 "parameters" : [
5125 {
5126 "type" : "header",
5127 "value" : "gtpu"
5128 }
5129 ],
5130 "source_info" : {
5131 "filename" : "include/control/spgw.p4",
5132 "line" : 47,
5133 "column" : 8,
5134 "source_fragment" : "hdr.gtpu.setInvalid()"
5135 }
5136 },
5137 {
5138 "op" : "remove_header",
5139 "parameters" : [
5140 {
5141 "type" : "header",
5142 "value" : "gtpu_options"
5143 }
5144 ],
5145 "source_info" : {
5146 "filename" : "include/control/spgw.p4",
5147 "line" : 48,
5148 "column" : 8,
5149 "source_fragment" : "hdr.gtpu_options.setInvalid()"
5150 }
5151 },
5152 {
5153 "op" : "remove_header",
5154 "parameters" : [
5155 {
5156 "type" : "header",
5157 "value" : "gtpu_ext_psc"
5158 }
5159 ],
5160 "source_info" : {
5161 "filename" : "include/control/spgw.p4",
5162 "line" : 49,
5163 "column" : 8,
5164 "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
5165 }
5166 },
5167 {
5168 "op" : "remove_header",
5169 "parameters" : [
5170 {
5171 "type" : "header",
5172 "value" : "udp"
5173 }
5174 ],
5175 "source_info" : {
5176 "filename" : "include/control/spgw.p4",
5177 "line" : 67,
5178 "column" : 8,
5179 "source_fragment" : "hdr.udp.setInvalid()"
5180 }
5181 },
5182 {
5183 "op" : "assign_header",
5184 "parameters" : [
5185 {
5186 "type" : "header",
5187 "value" : "icmp"
5188 },
5189 {
5190 "type" : "header",
5191 "value" : "inner_icmp"
5192 }
5193 ],
5194 "source_info" : {
5195 "filename" : "include/control/spgw.p4",
5196 "line" : 68,
5197 "column" : 8,
5198 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
5199 }
5200 },
5201 {
5202 "op" : "remove_header",
5203 "parameters" : [
5204 {
5205 "type" : "header",
5206 "value" : "inner_icmp"
5207 }
5208 ],
5209 "source_info" : {
5210 "filename" : "include/control/spgw.p4",
5211 "line" : 69,
5212 "column" : 8,
5213 "source_fragment" : "hdr.inner_icmp.setInvalid()"
5214 }
5215 }
5216 ]
5217 },
5218 {
5219 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
5220 "id" : 41,
5221 "runtime_data" : [],
5222 "primitives" : [
5223 {
5224 "op" : "assign",
5225 "parameters" : [
5226 {
5227 "type" : "field",
5228 "value" : ["scalars", "userMetadata._ip_eth_type8"]
5229 },
5230 {
5231 "type" : "hexstr",
5232 "value" : "0x0800"
5233 }
5234 ],
5235 "source_info" : {
5236 "filename" : "include/control/../define.p4",
5237 "line" : 149,
5238 "column" : 31,
5239 "source_fragment" : "0x0800; ..."
5240 }
5241 },
5242 {
5243 "op" : "assign",
5244 "parameters" : [
5245 {
5246 "type" : "field",
5247 "value" : ["scalars", "userMetadata._ip_proto20"]
5248 },
5249 {
5250 "type" : "field",
5251 "value" : ["inner_ipv4", "protocol"]
5252 }
5253 ],
5254 "source_info" : {
5255 "filename" : "include/control/spgw.p4",
5256 "line" : 39,
5257 "column" : 27,
5258 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
5259 }
5260 },
5261 {
5262 "op" : "assign",
5263 "parameters" : [
5264 {
5265 "type" : "field",
5266 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
5267 },
5268 {
5269 "type" : "field",
5270 "value" : ["inner_ipv4", "src_addr"]
5271 }
5272 ],
5273 "source_info" : {
5274 "filename" : "include/control/spgw.p4",
5275 "line" : 40,
5276 "column" : 32,
5277 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
5278 }
5279 },
5280 {
5281 "op" : "assign",
5282 "parameters" : [
5283 {
5284 "type" : "field",
5285 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
5286 },
5287 {
5288 "type" : "field",
5289 "value" : ["inner_ipv4", "dst_addr"]
5290 }
5291 ],
5292 "source_info" : {
5293 "filename" : "include/control/spgw.p4",
5294 "line" : 41,
5295 "column" : 32,
5296 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
5297 }
5298 },
5299 {
5300 "op" : "assign",
5301 "parameters" : [
5302 {
5303 "type" : "field",
5304 "value" : ["scalars", "userMetadata._l4_sport21"]
5305 },
5306 {
5307 "type" : "field",
5308 "value" : ["scalars", "userMetadata._inner_l4_sport29"]
5309 }
5310 ],
5311 "source_info" : {
5312 "filename" : "include/control/spgw.p4",
5313 "line" : 42,
5314 "column" : 27,
5315 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
5316 }
5317 },
5318 {
5319 "op" : "assign",
5320 "parameters" : [
5321 {
5322 "type" : "field",
5323 "value" : ["scalars", "userMetadata._l4_dport22"]
5324 },
5325 {
5326 "type" : "field",
5327 "value" : ["scalars", "userMetadata._inner_l4_dport30"]
5328 }
5329 ],
5330 "source_info" : {
5331 "filename" : "include/control/spgw.p4",
5332 "line" : 43,
5333 "column" : 27,
5334 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
5335 }
5336 },
5337 {
5338 "op" : "assign_header",
5339 "parameters" : [
5340 {
5341 "type" : "header",
5342 "value" : "ipv4"
5343 },
5344 {
5345 "type" : "header",
5346 "value" : "inner_ipv4"
5347 }
5348 ],
5349 "source_info" : {
5350 "filename" : "include/control/spgw.p4",
5351 "line" : 45,
5352 "column" : 8,
5353 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
5354 }
5355 },
5356 {
5357 "op" : "remove_header",
5358 "parameters" : [
5359 {
5360 "type" : "header",
5361 "value" : "inner_ipv4"
5362 }
5363 ],
5364 "source_info" : {
5365 "filename" : "include/control/spgw.p4",
5366 "line" : 46,
5367 "column" : 8,
5368 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
5369 }
5370 },
5371 {
5372 "op" : "remove_header",
5373 "parameters" : [
5374 {
5375 "type" : "header",
5376 "value" : "gtpu"
5377 }
5378 ],
5379 "source_info" : {
5380 "filename" : "include/control/spgw.p4",
5381 "line" : 47,
5382 "column" : 8,
5383 "source_fragment" : "hdr.gtpu.setInvalid()"
5384 }
5385 },
5386 {
5387 "op" : "remove_header",
5388 "parameters" : [
5389 {
5390 "type" : "header",
5391 "value" : "gtpu_options"
5392 }
5393 ],
5394 "source_info" : {
5395 "filename" : "include/control/spgw.p4",
5396 "line" : 48,
5397 "column" : 8,
5398 "source_fragment" : "hdr.gtpu_options.setInvalid()"
5399 }
5400 },
5401 {
5402 "op" : "remove_header",
5403 "parameters" : [
5404 {
5405 "type" : "header",
5406 "value" : "gtpu_ext_psc"
5407 }
5408 ],
5409 "source_info" : {
5410 "filename" : "include/control/spgw.p4",
5411 "line" : 49,
5412 "column" : 8,
5413 "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
5414 }
5415 },
5416 {
5417 "op" : "remove_header",
5418 "parameters" : [
5419 {
5420 "type" : "header",
5421 "value" : "udp"
5422 }
5423 ],
5424 "source_info" : {
5425 "filename" : "include/control/spgw.p4",
5426 "line" : 74,
5427 "column" : 8,
5428 "source_fragment" : "hdr.udp.setInvalid()"
5429 }
5430 }
5431 ]
5432 },
5433 {
5434 "name" : "FabricIngress.spgw.load_iface",
5435 "id" : 42,
5436 "runtime_data" : [
5437 {
5438 "name" : "src_iface",
5439 "bitwidth" : 8
5440 },
5441 {
5442 "name" : "slice_id",
5443 "bitwidth" : 4
5444 }
5445 ],
5446 "primitives" : [
5447 {
5448 "op" : "assign",
5449 "parameters" : [
5450 {
5451 "type" : "field",
5452 "value" : ["scalars", "userMetadata._spgw_src_iface38"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005453 },
5454 {
5455 "type" : "runtime_data",
5456 "value" : 0
5457 }
5458 ],
5459 "source_info" : {
5460 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005461 "line" : 122,
Robert MacDavidde12b982020-07-15 18:38:59 -07005462 "column" : 33,
5463 "source_fragment" : "= src_iface; ..."
5464 }
5465 },
5466 {
5467 "op" : "assign",
5468 "parameters" : [
5469 {
5470 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005471 "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005472 },
5473 {
5474 "type" : "expression",
5475 "value" : {
5476 "type" : "expression",
5477 "value" : {
5478 "op" : "b2d",
5479 "left" : null,
5480 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005481 "type" : "bool",
5482 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07005483 }
5484 }
5485 }
5486 }
5487 ],
5488 "source_info" : {
5489 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005490 "line" : 123,
Robert MacDavidde12b982020-07-15 18:38:59 -07005491 "column" : 33,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005492 "source_fragment" : "= false; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005493 }
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005494 },
5495 {
5496 "op" : "assign",
5497 "parameters" : [
5498 {
5499 "type" : "field",
5500 "value" : ["scalars", "userMetadata._slice_id25"]
5501 },
5502 {
5503 "type" : "runtime_data",
5504 "value" : 1
5505 }
5506 ],
5507 "source_info" : {
5508 "filename" : "include/control/spgw.p4",
5509 "line" : 124,
5510 "column" : 27,
5511 "source_fragment" : "= slice_id; ..."
5512 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005513 }
5514 ]
5515 },
5516 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005517 "name" : "FabricIngress.spgw.iface_miss",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005518 "id" : 43,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005519 "runtime_data" : [],
5520 "primitives" : [
5521 {
5522 "op" : "assign",
5523 "parameters" : [
5524 {
5525 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005526 "value" : ["scalars", "userMetadata._spgw_src_iface38"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005527 },
5528 {
5529 "type" : "hexstr",
5530 "value" : "0x00"
5531 }
5532 ],
5533 "source_info" : {
5534 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005535 "line" : 127,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005536 "column" : 44,
5537 "source_fragment" : "8w0; ..."
5538 }
5539 },
5540 {
5541 "op" : "assign",
5542 "parameters" : [
5543 {
5544 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005545 "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005546 },
5547 {
5548 "type" : "expression",
5549 "value" : {
5550 "type" : "expression",
5551 "value" : {
5552 "op" : "b2d",
5553 "left" : null,
5554 "right" : {
5555 "type" : "bool",
5556 "value" : true
5557 }
5558 }
5559 }
5560 }
5561 ],
5562 "source_info" : {
5563 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005564 "line" : 128,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005565 "column" : 33,
5566 "source_fragment" : "= true; ..."
5567 }
5568 }
5569 ]
5570 },
5571 {
5572 "name" : "FabricIngress.spgw.load_pdr",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005573 "id" : 44,
Robert MacDavidde12b982020-07-15 18:38:59 -07005574 "runtime_data" : [
5575 {
5576 "name" : "ctr_id",
5577 "bitwidth" : 32
5578 },
5579 {
5580 "name" : "far_id",
5581 "bitwidth" : 32
5582 },
5583 {
5584 "name" : "needs_gtpu_decap",
5585 "bitwidth" : 1
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005586 },
5587 {
5588 "name" : "tc",
5589 "bitwidth" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005590 }
5591 ],
5592 "primitives" : [
5593 {
5594 "op" : "assign",
5595 "parameters" : [
5596 {
5597 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005598 "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005599 },
5600 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005601 "type" : "runtime_data",
5602 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005603 }
5604 ],
5605 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005606 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005607 "line" : 153,
Robert MacDavidde12b982020-07-15 18:38:59 -07005608 "column" : 30,
5609 "source_fragment" : "= ctr_id; ..."
5610 }
5611 },
5612 {
5613 "op" : "assign",
5614 "parameters" : [
5615 {
5616 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005617 "value" : ["scalars", "userMetadata._spgw_far_id37"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005618 },
5619 {
5620 "type" : "runtime_data",
5621 "value" : 1
5622 }
5623 ],
5624 "source_info" : {
5625 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005626 "line" : 154,
Robert MacDavidde12b982020-07-15 18:38:59 -07005627 "column" : 30,
5628 "source_fragment" : "= far_id; ..."
5629 }
5630 },
5631 {
5632 "op" : "assign",
5633 "parameters" : [
5634 {
5635 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005636 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005637 },
5638 {
5639 "type" : "expression",
5640 "value" : {
5641 "type" : "expression",
5642 "value" : {
5643 "op" : "b2d",
5644 "left" : null,
5645 "right" : {
5646 "type" : "expression",
5647 "value" : {
5648 "op" : "!=",
5649 "left" : {
5650 "type" : "local",
5651 "value" : 2
5652 },
5653 "right" : {
5654 "type" : "hexstr",
5655 "value" : "0x00"
5656 }
5657 }
5658 }
5659 }
5660 }
5661 }
5662 ],
5663 "source_info" : {
5664 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005665 "line" : 155,
Robert MacDavidde12b982020-07-15 18:38:59 -07005666 "column" : 40,
5667 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005668 }
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005669 },
5670 {
5671 "op" : "assign",
5672 "parameters" : [
5673 {
5674 "type" : "field",
5675 "value" : ["scalars", "userMetadata._tc27"]
5676 },
5677 {
5678 "type" : "runtime_data",
5679 "value" : 3
5680 }
5681 ],
5682 "source_info" : {
5683 "filename" : "include/control/spgw.p4",
5684 "line" : 156,
5685 "column" : 21,
5686 "source_fragment" : "= tc; ..."
5687 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005688 }
5689 ]
5690 },
5691 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005692 "name" : "FabricIngress.spgw.load_pdr",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005693 "id" : 45,
Robert MacDavidde12b982020-07-15 18:38:59 -07005694 "runtime_data" : [
5695 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005696 "name" : "ctr_id",
5697 "bitwidth" : 32
5698 },
5699 {
5700 "name" : "far_id",
5701 "bitwidth" : 32
5702 },
5703 {
5704 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07005705 "bitwidth" : 1
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005706 },
5707 {
5708 "name" : "tc",
5709 "bitwidth" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005710 }
5711 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005712 "primitives" : [
5713 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005714 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005715 "parameters" : [
5716 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005717 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005718 "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005719 },
5720 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005721 "type" : "runtime_data",
5722 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005723 }
5724 ],
5725 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005726 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005727 "line" : 153,
ersuneetsinghe326c722021-03-25 21:17:29 -03005728 "column" : 30,
5729 "source_fragment" : "= ctr_id; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005730 }
5731 },
5732 {
5733 "op" : "assign",
5734 "parameters" : [
5735 {
5736 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005737 "value" : ["scalars", "userMetadata._spgw_far_id37"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005738 },
5739 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005740 "type" : "runtime_data",
5741 "value" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005742 }
5743 ],
5744 "source_info" : {
5745 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005746 "line" : 154,
ersuneetsinghe326c722021-03-25 21:17:29 -03005747 "column" : 30,
5748 "source_fragment" : "= far_id; ..."
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005749 }
5750 },
5751 {
5752 "op" : "assign",
5753 "parameters" : [
5754 {
5755 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005756 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005757 },
5758 {
5759 "type" : "expression",
5760 "value" : {
5761 "type" : "expression",
5762 "value" : {
5763 "op" : "b2d",
5764 "left" : null,
5765 "right" : {
5766 "type" : "expression",
5767 "value" : {
5768 "op" : "!=",
5769 "left" : {
5770 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03005771 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005772 },
5773 "right" : {
5774 "type" : "hexstr",
5775 "value" : "0x00"
5776 }
5777 }
5778 }
5779 }
5780 }
5781 }
5782 ],
5783 "source_info" : {
5784 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005785 "line" : 155,
ersuneetsinghe326c722021-03-25 21:17:29 -03005786 "column" : 40,
5787 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005788 }
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005789 },
5790 {
5791 "op" : "assign",
5792 "parameters" : [
5793 {
5794 "type" : "field",
5795 "value" : ["scalars", "userMetadata._tc27"]
5796 },
5797 {
5798 "type" : "runtime_data",
5799 "value" : 3
5800 }
5801 ],
5802 "source_info" : {
5803 "filename" : "include/control/spgw.p4",
5804 "line" : 156,
5805 "column" : 21,
5806 "source_fragment" : "= tc; ..."
5807 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005808 }
5809 ]
5810 },
5811 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005812 "name" : "FabricIngress.spgw.load_pdr_qos",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005813 "id" : 46,
Robert MacDavidde12b982020-07-15 18:38:59 -07005814 "runtime_data" : [
5815 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005816 "name" : "ctr_id",
5817 "bitwidth" : 32
5818 },
5819 {
5820 "name" : "far_id",
5821 "bitwidth" : 32
5822 },
5823 {
5824 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07005825 "bitwidth" : 1
5826 },
5827 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005828 "name" : "needs_qfi_push",
5829 "bitwidth" : 1
5830 },
5831 {
5832 "name" : "qfi",
5833 "bitwidth" : 6
5834 },
5835 {
5836 "name" : "tc",
5837 "bitwidth" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005838 }
5839 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005840 "primitives" : [
5841 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005842 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005843 "parameters" : [
5844 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005845 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005846 "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005847 },
5848 {
5849 "type" : "runtime_data",
5850 "value" : 0
5851 }
5852 ],
5853 "source_info" : {
5854 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005855 "line" : 153,
ersuneetsinghe326c722021-03-25 21:17:29 -03005856 "column" : 30,
5857 "source_fragment" : "= ctr_id; ..."
5858 }
5859 },
5860 {
5861 "op" : "assign",
5862 "parameters" : [
5863 {
5864 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005865 "value" : ["scalars", "userMetadata._spgw_far_id37"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005866 },
5867 {
5868 "type" : "runtime_data",
5869 "value" : 1
5870 }
5871 ],
5872 "source_info" : {
5873 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005874 "line" : 154,
ersuneetsinghe326c722021-03-25 21:17:29 -03005875 "column" : 30,
5876 "source_fragment" : "= far_id; ..."
5877 }
5878 },
5879 {
5880 "op" : "assign",
5881 "parameters" : [
5882 {
5883 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005884 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005885 },
5886 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005887 "type" : "expression",
5888 "value" : {
5889 "type" : "expression",
5890 "value" : {
5891 "op" : "b2d",
5892 "left" : null,
5893 "right" : {
5894 "type" : "expression",
5895 "value" : {
5896 "op" : "!=",
5897 "left" : {
5898 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03005899 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005900 },
5901 "right" : {
5902 "type" : "hexstr",
5903 "value" : "0x00"
5904 }
5905 }
5906 }
5907 }
5908 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005909 }
5910 ],
5911 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005912 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005913 "line" : 155,
Robert MacDavidde12b982020-07-15 18:38:59 -07005914 "column" : 40,
ersuneetsinghe326c722021-03-25 21:17:29 -03005915 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005916 }
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005917 },
5918 {
5919 "op" : "assign",
5920 "parameters" : [
5921 {
5922 "type" : "field",
5923 "value" : ["scalars", "userMetadata._tc27"]
5924 },
5925 {
5926 "type" : "runtime_data",
5927 "value" : 5
5928 }
5929 ],
5930 "source_info" : {
5931 "filename" : "include/control/spgw.p4",
5932 "line" : 156,
5933 "column" : 21,
5934 "source_fragment" : "= tc; ..."
5935 }
5936 },
5937 {
5938 "op" : "assign",
5939 "parameters" : [
5940 {
5941 "type" : "field",
5942 "value" : ["scalars", "userMetadata._spgw_qfi39"]
5943 },
5944 {
5945 "type" : "runtime_data",
5946 "value" : 4
5947 }
5948 ],
5949 "source_info" : {
5950 "filename" : "include/control/spgw.p4",
5951 "line" : 167,
5952 "column" : 27,
5953 "source_fragment" : "= qfi; ..."
5954 }
5955 },
5956 {
5957 "op" : "assign",
5958 "parameters" : [
5959 {
5960 "type" : "field",
5961 "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
5962 },
5963 {
5964 "type" : "expression",
5965 "value" : {
5966 "type" : "expression",
5967 "value" : {
5968 "op" : "b2d",
5969 "left" : null,
5970 "right" : {
5971 "type" : "expression",
5972 "value" : {
5973 "op" : "!=",
5974 "left" : {
5975 "type" : "local",
5976 "value" : 3
5977 },
5978 "right" : {
5979 "type" : "hexstr",
5980 "value" : "0x00"
5981 }
5982 }
5983 }
5984 }
5985 }
5986 }
5987 ],
5988 "source_info" : {
5989 "filename" : "include/control/spgw.p4",
5990 "line" : 168,
5991 "column" : 38,
5992 "source_fragment" : "= (bool)needs_qfi_push; ..."
5993 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005994 }
5995 ]
5996 },
5997 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005998 "name" : "FabricIngress.spgw.load_pdr_qos",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005999 "id" : 47,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006000 "runtime_data" : [
6001 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006002 "name" : "ctr_id",
6003 "bitwidth" : 32
6004 },
6005 {
6006 "name" : "far_id",
6007 "bitwidth" : 32
6008 },
6009 {
6010 "name" : "needs_gtpu_decap",
6011 "bitwidth" : 1
6012 },
6013 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006014 "name" : "needs_qfi_push",
6015 "bitwidth" : 1
6016 },
6017 {
6018 "name" : "qfi",
6019 "bitwidth" : 6
6020 },
6021 {
6022 "name" : "tc",
6023 "bitwidth" : 2
Wailok Shumfb7e7872021-06-18 17:30:08 +08006024 }
6025 ],
6026 "primitives" : [
6027 {
6028 "op" : "assign",
6029 "parameters" : [
6030 {
6031 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006032 "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08006033 },
6034 {
6035 "type" : "runtime_data",
6036 "value" : 0
6037 }
6038 ],
6039 "source_info" : {
6040 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006041 "line" : 153,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006042 "column" : 30,
6043 "source_fragment" : "= ctr_id; ..."
6044 }
6045 },
6046 {
6047 "op" : "assign",
6048 "parameters" : [
6049 {
6050 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006051 "value" : ["scalars", "userMetadata._spgw_far_id37"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08006052 },
6053 {
6054 "type" : "runtime_data",
6055 "value" : 1
6056 }
6057 ],
6058 "source_info" : {
6059 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006060 "line" : 154,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006061 "column" : 30,
6062 "source_fragment" : "= far_id; ..."
6063 }
6064 },
6065 {
6066 "op" : "assign",
6067 "parameters" : [
6068 {
6069 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006070 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08006071 },
6072 {
6073 "type" : "expression",
6074 "value" : {
6075 "type" : "expression",
6076 "value" : {
6077 "op" : "b2d",
6078 "left" : null,
6079 "right" : {
6080 "type" : "expression",
6081 "value" : {
6082 "op" : "!=",
6083 "left" : {
6084 "type" : "local",
6085 "value" : 2
6086 },
6087 "right" : {
6088 "type" : "hexstr",
6089 "value" : "0x00"
6090 }
6091 }
6092 }
6093 }
6094 }
6095 }
6096 ],
6097 "source_info" : {
6098 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006099 "line" : 155,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006100 "column" : 40,
6101 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
6102 }
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006103 },
6104 {
6105 "op" : "assign",
6106 "parameters" : [
6107 {
6108 "type" : "field",
6109 "value" : ["scalars", "userMetadata._tc27"]
6110 },
6111 {
6112 "type" : "runtime_data",
6113 "value" : 5
6114 }
6115 ],
6116 "source_info" : {
6117 "filename" : "include/control/spgw.p4",
6118 "line" : 156,
6119 "column" : 21,
6120 "source_fragment" : "= tc; ..."
6121 }
6122 },
6123 {
6124 "op" : "assign",
6125 "parameters" : [
6126 {
6127 "type" : "field",
6128 "value" : ["scalars", "userMetadata._spgw_qfi39"]
6129 },
6130 {
6131 "type" : "runtime_data",
6132 "value" : 4
6133 }
6134 ],
6135 "source_info" : {
6136 "filename" : "include/control/spgw.p4",
6137 "line" : 167,
6138 "column" : 27,
6139 "source_fragment" : "= qfi; ..."
6140 }
6141 },
6142 {
6143 "op" : "assign",
6144 "parameters" : [
6145 {
6146 "type" : "field",
6147 "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
6148 },
6149 {
6150 "type" : "expression",
6151 "value" : {
6152 "type" : "expression",
6153 "value" : {
6154 "op" : "b2d",
6155 "left" : null,
6156 "right" : {
6157 "type" : "expression",
6158 "value" : {
6159 "op" : "!=",
6160 "left" : {
6161 "type" : "local",
6162 "value" : 3
6163 },
6164 "right" : {
6165 "type" : "hexstr",
6166 "value" : "0x00"
6167 }
6168 }
6169 }
6170 }
6171 }
6172 }
6173 ],
6174 "source_info" : {
6175 "filename" : "include/control/spgw.p4",
6176 "line" : 168,
6177 "column" : 38,
6178 "source_fragment" : "= (bool)needs_qfi_push; ..."
6179 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08006180 }
6181 ]
6182 },
6183 {
6184 "name" : "FabricIngress.spgw.load_normal_far",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006185 "id" : 48,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006186 "runtime_data" : [
6187 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006188 "name" : "drop",
6189 "bitwidth" : 1
6190 },
6191 {
6192 "name" : "notify_cp",
6193 "bitwidth" : 1
ersuneetsinghe326c722021-03-25 21:17:29 -03006194 }
6195 ],
6196 "primitives" : [
6197 {
6198 "op" : "assign",
6199 "parameters" : [
6200 {
6201 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006202 "value" : ["scalars", "userMetadata._skip_forwarding14"]
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006203 },
6204 {
6205 "type" : "expression",
6206 "value" : {
6207 "type" : "expression",
6208 "value" : {
6209 "op" : "b2d",
6210 "left" : null,
6211 "right" : {
6212 "type" : "expression",
6213 "value" : {
6214 "op" : "!=",
6215 "left" : {
6216 "type" : "local",
6217 "value" : 0
6218 },
6219 "right" : {
6220 "type" : "hexstr",
6221 "value" : "0x00"
6222 }
6223 }
6224 }
6225 }
6226 }
6227 }
6228 ],
6229 "source_info" : {
6230 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006231 "line" : 207,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006232 "column" : 34,
6233 "source_fragment" : "= (bool)drop; ..."
6234 }
6235 },
6236 {
6237 "op" : "assign",
6238 "parameters" : [
6239 {
6240 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006241 "value" : ["scalars", "userMetadata._skip_next15"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006242 },
6243 {
6244 "type" : "expression",
6245 "value" : {
6246 "type" : "expression",
6247 "value" : {
6248 "op" : "b2d",
6249 "left" : null,
6250 "right" : {
6251 "type" : "expression",
6252 "value" : {
6253 "op" : "!=",
6254 "left" : {
6255 "type" : "local",
6256 "value" : 0
6257 },
6258 "right" : {
6259 "type" : "hexstr",
6260 "value" : "0x00"
6261 }
6262 }
6263 }
6264 }
6265 }
6266 }
6267 ],
6268 "source_info" : {
6269 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006270 "line" : 208,
ersuneetsinghe326c722021-03-25 21:17:29 -03006271 "column" : 28,
6272 "source_fragment" : "= (bool)drop; ..."
6273 }
6274 },
6275 {
6276 "op" : "assign",
6277 "parameters" : [
6278 {
6279 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006280 "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006281 },
6282 {
6283 "type" : "expression",
6284 "value" : {
6285 "type" : "expression",
6286 "value" : {
6287 "op" : "b2d",
6288 "left" : null,
6289 "right" : {
6290 "type" : "expression",
6291 "value" : {
6292 "op" : "!=",
6293 "left" : {
6294 "type" : "local",
6295 "value" : 1
6296 },
6297 "right" : {
6298 "type" : "hexstr",
6299 "value" : "0x00"
6300 }
6301 }
6302 }
6303 }
6304 }
6305 }
6306 ],
6307 "source_info" : {
6308 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006309 "line" : 209,
ersuneetsinghe326c722021-03-25 21:17:29 -03006310 "column" : 36,
6311 "source_fragment" : "= (bool)notify_cp; ..."
6312 }
6313 }
6314 ]
6315 },
6316 {
6317 "name" : "FabricIngress.spgw.load_tunnel_far",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006318 "id" : 49,
ersuneetsinghe326c722021-03-25 21:17:29 -03006319 "runtime_data" : [
6320 {
6321 "name" : "drop",
6322 "bitwidth" : 1
6323 },
6324 {
6325 "name" : "notify_cp",
6326 "bitwidth" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006327 },
6328 {
6329 "name" : "tunnel_src_port",
6330 "bitwidth" : 16
6331 },
6332 {
6333 "name" : "tunnel_src_addr",
6334 "bitwidth" : 32
6335 },
6336 {
6337 "name" : "tunnel_dst_addr",
6338 "bitwidth" : 32
6339 },
6340 {
6341 "name" : "teid",
6342 "bitwidth" : 32
6343 }
6344 ],
Robert MacDavidde12b982020-07-15 18:38:59 -07006345 "primitives" : [
6346 {
6347 "op" : "assign",
6348 "parameters" : [
6349 {
6350 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006351 "value" : ["scalars", "userMetadata._skip_forwarding14"]
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006352 },
6353 {
6354 "type" : "expression",
6355 "value" : {
6356 "type" : "expression",
6357 "value" : {
6358 "op" : "b2d",
6359 "left" : null,
6360 "right" : {
6361 "type" : "expression",
6362 "value" : {
6363 "op" : "!=",
6364 "left" : {
6365 "type" : "local",
6366 "value" : 0
6367 },
6368 "right" : {
6369 "type" : "hexstr",
6370 "value" : "0x00"
6371 }
6372 }
6373 }
6374 }
6375 }
6376 }
6377 ],
6378 "source_info" : {
6379 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006380 "line" : 218,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006381 "column" : 34,
6382 "source_fragment" : "= (bool)drop; ..."
6383 }
6384 },
6385 {
6386 "op" : "assign",
6387 "parameters" : [
6388 {
6389 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006390 "value" : ["scalars", "userMetadata._skip_next15"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006391 },
6392 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006393 "type" : "expression",
6394 "value" : {
6395 "type" : "expression",
6396 "value" : {
6397 "op" : "b2d",
6398 "left" : null,
6399 "right" : {
6400 "type" : "expression",
6401 "value" : {
6402 "op" : "!=",
6403 "left" : {
6404 "type" : "local",
6405 "value" : 0
6406 },
6407 "right" : {
6408 "type" : "hexstr",
6409 "value" : "0x00"
6410 }
6411 }
6412 }
6413 }
6414 }
Robert MacDavidde12b982020-07-15 18:38:59 -07006415 }
6416 ],
6417 "source_info" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006418 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006419 "line" : 219,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006420 "column" : 28,
6421 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006422 }
6423 },
6424 {
6425 "op" : "assign",
6426 "parameters" : [
6427 {
6428 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006429 "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006430 },
6431 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006432 "type" : "expression",
6433 "value" : {
6434 "type" : "expression",
6435 "value" : {
6436 "op" : "b2d",
6437 "left" : null,
6438 "right" : {
6439 "type" : "expression",
6440 "value" : {
6441 "op" : "!=",
6442 "left" : {
6443 "type" : "local",
6444 "value" : 1
6445 },
6446 "right" : {
6447 "type" : "hexstr",
6448 "value" : "0x00"
6449 }
6450 }
6451 }
6452 }
6453 }
Robert MacDavidde12b982020-07-15 18:38:59 -07006454 }
6455 ],
6456 "source_info" : {
6457 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006458 "line" : 220,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006459 "column" : 36,
6460 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006461 }
6462 },
6463 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006464 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006465 "parameters" : [
6466 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006467 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006468 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006469 },
6470 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006471 "type" : "expression",
6472 "value" : {
6473 "type" : "expression",
6474 "value" : {
6475 "op" : "b2d",
6476 "left" : null,
6477 "right" : {
6478 "type" : "bool",
6479 "value" : true
6480 }
6481 }
6482 }
Robert MacDavidde12b982020-07-15 18:38:59 -07006483 }
6484 ],
6485 "source_info" : {
6486 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006487 "line" : 222,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006488 "column" : 40,
6489 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006490 }
6491 },
6492 {
6493 "op" : "assign",
6494 "parameters" : [
6495 {
6496 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006497 "value" : ["scalars", "userMetadata._spgw_teid32"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006498 },
6499 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006500 "type" : "runtime_data",
6501 "value" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07006502 }
6503 ],
6504 "source_info" : {
6505 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006506 "line" : 223,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006507 "column" : 28,
6508 "source_fragment" : "= teid; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006509 }
6510 },
6511 {
6512 "op" : "assign",
6513 "parameters" : [
6514 {
6515 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006516 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006517 },
6518 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006519 "type" : "runtime_data",
6520 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07006521 }
6522 ],
6523 "source_info" : {
6524 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006525 "line" : 224,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006526 "column" : 39,
6527 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006528 }
6529 },
6530 {
6531 "op" : "assign",
6532 "parameters" : [
6533 {
6534 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006535 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006536 },
6537 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006538 "type" : "runtime_data",
6539 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07006540 }
6541 ],
6542 "source_info" : {
6543 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006544 "line" : 225,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006545 "column" : 39,
6546 "source_fragment" : "= tunnel_src_addr; ..."
6547 }
6548 },
6549 {
6550 "op" : "assign",
6551 "parameters" : [
6552 {
6553 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006554 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006555 },
6556 {
6557 "type" : "runtime_data",
6558 "value" : 4
6559 }
6560 ],
6561 "source_info" : {
6562 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006563 "line" : 226,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006564 "column" : 39,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006565 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006566 }
6567 },
6568 {
6569 "op" : "assign",
6570 "parameters" : [
6571 {
6572 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006573 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006574 },
6575 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006576 "type" : "runtime_data",
6577 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07006578 }
6579 ],
6580 "source_info" : {
6581 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006582 "line" : 228,
Robert MacDavidde12b982020-07-15 18:38:59 -07006583 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006584 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006585 }
6586 },
6587 {
6588 "op" : "assign",
6589 "parameters" : [
6590 {
6591 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006592 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006593 },
6594 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006595 "type" : "runtime_data",
6596 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07006597 }
6598 ],
6599 "source_info" : {
6600 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006601 "line" : 229,
Robert MacDavidde12b982020-07-15 18:38:59 -07006602 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006603 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006604 }
6605 },
6606 {
6607 "op" : "assign",
6608 "parameters" : [
6609 {
6610 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006611 "value" : ["scalars", "userMetadata._l4_sport21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006612 },
6613 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006614 "type" : "runtime_data",
6615 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07006616 }
6617 ],
6618 "source_info" : {
6619 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006620 "line" : 230,
Robert MacDavidde12b982020-07-15 18:38:59 -07006621 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006622 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006623 }
6624 },
6625 {
6626 "op" : "assign",
6627 "parameters" : [
6628 {
6629 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006630 "value" : ["scalars", "userMetadata._l4_dport22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006631 },
6632 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006633 "type" : "hexstr",
6634 "value" : "0x0868"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006635 }
6636 ],
6637 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006638 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006639 "line" : 231,
ersuneetsinghe326c722021-03-25 21:17:29 -03006640 "column" : 27,
6641 "source_fragment" : "= 2152; ..."
6642 }
6643 }
6644 ]
6645 },
6646 {
6647 "name" : "FabricIngress.spgw.load_dbuf_far",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006648 "id" : 50,
ersuneetsinghe326c722021-03-25 21:17:29 -03006649 "runtime_data" : [
6650 {
6651 "name" : "drop",
6652 "bitwidth" : 1
6653 },
6654 {
6655 "name" : "notify_cp",
6656 "bitwidth" : 1
6657 },
6658 {
6659 "name" : "tunnel_src_port",
6660 "bitwidth" : 16
6661 },
6662 {
6663 "name" : "tunnel_src_addr",
6664 "bitwidth" : 32
6665 },
6666 {
6667 "name" : "tunnel_dst_addr",
6668 "bitwidth" : 32
6669 },
6670 {
6671 "name" : "teid",
6672 "bitwidth" : 32
6673 }
6674 ],
6675 "primitives" : [
6676 {
6677 "op" : "assign",
6678 "parameters" : [
6679 {
6680 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006681 "value" : ["scalars", "userMetadata._skip_forwarding14"]
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006682 },
6683 {
6684 "type" : "expression",
6685 "value" : {
6686 "type" : "expression",
6687 "value" : {
6688 "op" : "b2d",
6689 "left" : null,
6690 "right" : {
6691 "type" : "expression",
6692 "value" : {
6693 "op" : "!=",
6694 "left" : {
6695 "type" : "local",
6696 "value" : 0
6697 },
6698 "right" : {
6699 "type" : "hexstr",
6700 "value" : "0x00"
6701 }
6702 }
6703 }
6704 }
6705 }
6706 }
6707 ],
6708 "source_info" : {
6709 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006710 "line" : 218,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006711 "column" : 34,
6712 "source_fragment" : "= (bool)drop; ..."
6713 }
6714 },
6715 {
6716 "op" : "assign",
6717 "parameters" : [
6718 {
6719 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006720 "value" : ["scalars", "userMetadata._skip_next15"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006721 },
6722 {
6723 "type" : "expression",
6724 "value" : {
6725 "type" : "expression",
6726 "value" : {
6727 "op" : "b2d",
6728 "left" : null,
6729 "right" : {
6730 "type" : "expression",
6731 "value" : {
6732 "op" : "!=",
6733 "left" : {
6734 "type" : "local",
6735 "value" : 0
6736 },
6737 "right" : {
6738 "type" : "hexstr",
6739 "value" : "0x00"
6740 }
6741 }
6742 }
6743 }
6744 }
6745 }
6746 ],
6747 "source_info" : {
6748 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006749 "line" : 219,
ersuneetsinghe326c722021-03-25 21:17:29 -03006750 "column" : 28,
6751 "source_fragment" : "= (bool)drop; ..."
6752 }
6753 },
6754 {
6755 "op" : "assign",
6756 "parameters" : [
6757 {
6758 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006759 "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006760 },
6761 {
6762 "type" : "expression",
6763 "value" : {
6764 "type" : "expression",
6765 "value" : {
6766 "op" : "b2d",
6767 "left" : null,
6768 "right" : {
6769 "type" : "expression",
6770 "value" : {
6771 "op" : "!=",
6772 "left" : {
6773 "type" : "local",
6774 "value" : 1
6775 },
6776 "right" : {
6777 "type" : "hexstr",
6778 "value" : "0x00"
6779 }
6780 }
6781 }
6782 }
6783 }
6784 }
6785 ],
6786 "source_info" : {
6787 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006788 "line" : 220,
ersuneetsinghe326c722021-03-25 21:17:29 -03006789 "column" : 36,
6790 "source_fragment" : "= (bool)notify_cp; ..."
6791 }
6792 },
6793 {
6794 "op" : "assign",
6795 "parameters" : [
6796 {
6797 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006798 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006799 },
6800 {
6801 "type" : "expression",
6802 "value" : {
6803 "type" : "expression",
6804 "value" : {
6805 "op" : "b2d",
6806 "left" : null,
6807 "right" : {
6808 "type" : "bool",
6809 "value" : true
6810 }
6811 }
6812 }
6813 }
6814 ],
6815 "source_info" : {
6816 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006817 "line" : 222,
ersuneetsinghe326c722021-03-25 21:17:29 -03006818 "column" : 40,
6819 "source_fragment" : "= true; ..."
6820 }
6821 },
6822 {
6823 "op" : "assign",
6824 "parameters" : [
6825 {
6826 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006827 "value" : ["scalars", "userMetadata._spgw_teid32"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006828 },
6829 {
6830 "type" : "runtime_data",
6831 "value" : 5
6832 }
6833 ],
6834 "source_info" : {
6835 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006836 "line" : 223,
ersuneetsinghe326c722021-03-25 21:17:29 -03006837 "column" : 28,
6838 "source_fragment" : "= teid; ..."
6839 }
6840 },
6841 {
6842 "op" : "assign",
6843 "parameters" : [
6844 {
6845 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006846 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006847 },
6848 {
6849 "type" : "runtime_data",
6850 "value" : 2
6851 }
6852 ],
6853 "source_info" : {
6854 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006855 "line" : 224,
ersuneetsinghe326c722021-03-25 21:17:29 -03006856 "column" : 39,
6857 "source_fragment" : "= tunnel_src_port; ..."
6858 }
6859 },
6860 {
6861 "op" : "assign",
6862 "parameters" : [
6863 {
6864 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006865 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006866 },
6867 {
6868 "type" : "runtime_data",
6869 "value" : 3
6870 }
6871 ],
6872 "source_info" : {
6873 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006874 "line" : 225,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006875 "column" : 39,
6876 "source_fragment" : "= tunnel_src_addr; ..."
6877 }
6878 },
6879 {
6880 "op" : "assign",
6881 "parameters" : [
6882 {
6883 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006884 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006885 },
6886 {
6887 "type" : "runtime_data",
6888 "value" : 4
6889 }
6890 ],
6891 "source_info" : {
6892 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006893 "line" : 226,
ersuneetsinghe326c722021-03-25 21:17:29 -03006894 "column" : 39,
ersuneetsinghe326c722021-03-25 21:17:29 -03006895 "source_fragment" : "= tunnel_dst_addr; ..."
6896 }
6897 },
6898 {
6899 "op" : "assign",
6900 "parameters" : [
6901 {
6902 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006903 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006904 },
6905 {
6906 "type" : "runtime_data",
6907 "value" : 3
6908 }
6909 ],
6910 "source_info" : {
6911 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006912 "line" : 228,
ersuneetsinghe326c722021-03-25 21:17:29 -03006913 "column" : 32,
6914 "source_fragment" : "= tunnel_src_addr; ..."
6915 }
6916 },
6917 {
6918 "op" : "assign",
6919 "parameters" : [
6920 {
6921 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006922 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006923 },
6924 {
6925 "type" : "runtime_data",
6926 "value" : 4
6927 }
6928 ],
6929 "source_info" : {
6930 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006931 "line" : 229,
ersuneetsinghe326c722021-03-25 21:17:29 -03006932 "column" : 32,
6933 "source_fragment" : "= tunnel_dst_addr; ..."
6934 }
6935 },
6936 {
6937 "op" : "assign",
6938 "parameters" : [
6939 {
6940 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006941 "value" : ["scalars", "userMetadata._l4_sport21"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006942 },
6943 {
6944 "type" : "runtime_data",
6945 "value" : 2
6946 }
6947 ],
6948 "source_info" : {
6949 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006950 "line" : 230,
ersuneetsinghe326c722021-03-25 21:17:29 -03006951 "column" : 27,
6952 "source_fragment" : "= tunnel_src_port; ..."
6953 }
6954 },
6955 {
6956 "op" : "assign",
6957 "parameters" : [
6958 {
6959 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006960 "value" : ["scalars", "userMetadata._l4_dport22"]
ersuneetsinghe326c722021-03-25 21:17:29 -03006961 },
6962 {
6963 "type" : "hexstr",
6964 "value" : "0x0868"
6965 }
6966 ],
6967 "source_info" : {
6968 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006969 "line" : 231,
Robert MacDavidde12b982020-07-15 18:38:59 -07006970 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006971 "source_fragment" : "= 2152; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006972 }
6973 },
6974 {
6975 "op" : "assign",
6976 "parameters" : [
6977 {
6978 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006979 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr44"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006980 },
6981 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006982 "type" : "expression",
6983 "value" : {
6984 "type" : "expression",
6985 "value" : {
6986 "op" : "b2d",
6987 "left" : null,
6988 "right" : {
6989 "type" : "bool",
6990 "value" : true
6991 }
6992 }
6993 }
Robert MacDavidde12b982020-07-15 18:38:59 -07006994 }
6995 ],
6996 "source_info" : {
6997 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006998 "line" : 242,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006999 "column" : 43,
7000 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07007001 }
7002 }
7003 ]
7004 },
7005 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007006 "name" : "lookup_md_init37",
7007 "id" : 51,
7008 "runtime_data" : [],
7009 "primitives" : [
7010 {
7011 "op" : "assign",
7012 "parameters" : [
7013 {
7014 "type" : "field",
7015 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
7016 },
7017 {
7018 "type" : "field",
7019 "value" : ["inner_tcp", "sport"]
7020 }
7021 ],
7022 "source_info" : {
7023 "filename" : "include/control/lookup_md_init.p4",
7024 "line" : 37,
7025 "column" : 32,
7026 "source_fragment" : "= hdr.inner_tcp.sport; ..."
7027 }
7028 },
7029 {
7030 "op" : "assign",
7031 "parameters" : [
7032 {
7033 "type" : "field",
7034 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
7035 },
7036 {
7037 "type" : "field",
7038 "value" : ["inner_tcp", "dport"]
7039 }
7040 ],
7041 "source_info" : {
7042 "filename" : "include/control/lookup_md_init.p4",
7043 "line" : 38,
7044 "column" : 32,
7045 "source_fragment" : "= hdr.inner_tcp.dport; ..."
7046 }
7047 }
7048 ]
7049 },
7050 {
7051 "name" : "lookup_md_init40",
7052 "id" : 52,
7053 "runtime_data" : [],
7054 "primitives" : [
7055 {
7056 "op" : "assign",
7057 "parameters" : [
7058 {
7059 "type" : "field",
7060 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
7061 },
7062 {
7063 "type" : "field",
7064 "value" : ["inner_udp", "sport"]
7065 }
7066 ],
7067 "source_info" : {
7068 "filename" : "include/control/lookup_md_init.p4",
7069 "line" : 40,
7070 "column" : 32,
7071 "source_fragment" : "= hdr.inner_udp.sport; ..."
7072 }
7073 },
7074 {
7075 "op" : "assign",
7076 "parameters" : [
7077 {
7078 "type" : "field",
7079 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
7080 },
7081 {
7082 "type" : "field",
7083 "value" : ["inner_udp", "dport"]
7084 }
7085 ],
7086 "source_info" : {
7087 "filename" : "include/control/lookup_md_init.p4",
7088 "line" : 41,
7089 "column" : 32,
7090 "source_fragment" : "= hdr.inner_udp.dport; ..."
7091 }
7092 }
7093 ]
7094 },
7095 {
7096 "name" : "lookup_md_init43",
7097 "id" : 53,
7098 "runtime_data" : [],
7099 "primitives" : [
7100 {
7101 "op" : "assign",
7102 "parameters" : [
7103 {
7104 "type" : "field",
7105 "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
7106 },
7107 {
7108 "type" : "field",
7109 "value" : ["inner_icmp", "icmp_type"]
7110 }
7111 ],
7112 "source_info" : {
7113 "filename" : "include/control/lookup_md_init.p4",
7114 "line" : 43,
7115 "column" : 33,
7116 "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
7117 }
7118 },
7119 {
7120 "op" : "assign",
7121 "parameters" : [
7122 {
7123 "type" : "field",
7124 "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
7125 },
7126 {
7127 "type" : "field",
7128 "value" : ["inner_icmp", "icmp_code"]
7129 }
7130 ],
7131 "source_info" : {
7132 "filename" : "include/control/lookup_md_init.p4",
7133 "line" : 44,
7134 "column" : 33,
7135 "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
7136 }
7137 }
7138 ]
7139 },
7140 {
7141 "name" : "lookup_md_init32",
7142 "id" : 54,
7143 "runtime_data" : [],
7144 "primitives" : [
7145 {
7146 "op" : "assign",
7147 "parameters" : [
7148 {
7149 "type" : "field",
7150 "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
7151 },
7152 {
7153 "type" : "expression",
7154 "value" : {
7155 "type" : "expression",
7156 "value" : {
7157 "op" : "b2d",
7158 "left" : null,
7159 "right" : {
7160 "type" : "bool",
7161 "value" : true
7162 }
7163 }
7164 }
7165 }
7166 ],
7167 "source_info" : {
7168 "filename" : "include/control/lookup_md_init.p4",
7169 "line" : 32,
7170 "column" : 27,
7171 "source_fragment" : "= true; ..."
7172 }
7173 },
7174 {
7175 "op" : "assign",
7176 "parameters" : [
7177 {
7178 "type" : "field",
7179 "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
7180 },
7181 {
7182 "type" : "field",
7183 "value" : ["inner_ipv4", "src_addr"]
7184 }
7185 ],
7186 "source_info" : {
7187 "filename" : "include/control/lookup_md_init.p4",
7188 "line" : 33,
7189 "column" : 28,
7190 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
7191 }
7192 },
7193 {
7194 "op" : "assign",
7195 "parameters" : [
7196 {
7197 "type" : "field",
7198 "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
7199 },
7200 {
7201 "type" : "field",
7202 "value" : ["inner_ipv4", "dst_addr"]
7203 }
7204 ],
7205 "source_info" : {
7206 "filename" : "include/control/lookup_md_init.p4",
7207 "line" : 34,
7208 "column" : 28,
7209 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
7210 }
7211 },
7212 {
7213 "op" : "assign",
7214 "parameters" : [
7215 {
7216 "type" : "field",
7217 "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
7218 },
7219 {
7220 "type" : "field",
7221 "value" : ["inner_ipv4", "protocol"]
7222 }
7223 ],
7224 "source_info" : {
7225 "filename" : "include/control/lookup_md_init.p4",
7226 "line" : 35,
7227 "column" : 28,
7228 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
7229 }
7230 }
7231 ]
7232 },
7233 {
7234 "name" : "lookup_md_init52",
7235 "id" : 55,
7236 "runtime_data" : [],
7237 "primitives" : [
7238 {
7239 "op" : "assign",
7240 "parameters" : [
7241 {
7242 "type" : "field",
7243 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
7244 },
7245 {
7246 "type" : "field",
7247 "value" : ["tcp", "sport"]
7248 }
7249 ],
7250 "source_info" : {
7251 "filename" : "include/control/lookup_md_init.p4",
7252 "line" : 52,
7253 "column" : 32,
7254 "source_fragment" : "= hdr.tcp.sport; ..."
7255 }
7256 },
7257 {
7258 "op" : "assign",
7259 "parameters" : [
7260 {
7261 "type" : "field",
7262 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
7263 },
7264 {
7265 "type" : "field",
7266 "value" : ["tcp", "dport"]
7267 }
7268 ],
7269 "source_info" : {
7270 "filename" : "include/control/lookup_md_init.p4",
7271 "line" : 53,
7272 "column" : 32,
7273 "source_fragment" : "= hdr.tcp.dport; ..."
7274 }
7275 }
7276 ]
7277 },
7278 {
7279 "name" : "lookup_md_init55",
7280 "id" : 56,
7281 "runtime_data" : [],
7282 "primitives" : [
7283 {
7284 "op" : "assign",
7285 "parameters" : [
7286 {
7287 "type" : "field",
7288 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
7289 },
7290 {
7291 "type" : "field",
7292 "value" : ["udp", "sport"]
7293 }
7294 ],
7295 "source_info" : {
7296 "filename" : "include/control/lookup_md_init.p4",
7297 "line" : 55,
7298 "column" : 32,
7299 "source_fragment" : "= hdr.udp.sport; ..."
7300 }
7301 },
7302 {
7303 "op" : "assign",
7304 "parameters" : [
7305 {
7306 "type" : "field",
7307 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
7308 },
7309 {
7310 "type" : "field",
7311 "value" : ["udp", "dport"]
7312 }
7313 ],
7314 "source_info" : {
7315 "filename" : "include/control/lookup_md_init.p4",
7316 "line" : 56,
7317 "column" : 32,
7318 "source_fragment" : "= hdr.udp.dport; ..."
7319 }
7320 }
7321 ]
7322 },
7323 {
7324 "name" : "lookup_md_init58",
7325 "id" : 57,
7326 "runtime_data" : [],
7327 "primitives" : [
7328 {
7329 "op" : "assign",
7330 "parameters" : [
7331 {
7332 "type" : "field",
7333 "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
7334 },
7335 {
7336 "type" : "field",
7337 "value" : ["icmp", "icmp_type"]
7338 }
7339 ],
7340 "source_info" : {
7341 "filename" : "include/control/lookup_md_init.p4",
7342 "line" : 58,
7343 "column" : 33,
7344 "source_fragment" : "= hdr.icmp.icmp_type; ..."
7345 }
7346 },
7347 {
7348 "op" : "assign",
7349 "parameters" : [
7350 {
7351 "type" : "field",
7352 "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
7353 },
7354 {
7355 "type" : "field",
7356 "value" : ["icmp", "icmp_code"]
7357 }
7358 ],
7359 "source_info" : {
7360 "filename" : "include/control/lookup_md_init.p4",
7361 "line" : 59,
7362 "column" : 33,
7363 "source_fragment" : "= hdr.icmp.icmp_code; ..."
7364 }
7365 }
7366 ]
7367 },
7368 {
7369 "name" : "lookup_md_init47",
7370 "id" : 58,
7371 "runtime_data" : [],
7372 "primitives" : [
7373 {
7374 "op" : "assign",
7375 "parameters" : [
7376 {
7377 "type" : "field",
7378 "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
7379 },
7380 {
7381 "type" : "expression",
7382 "value" : {
7383 "type" : "expression",
7384 "value" : {
7385 "op" : "b2d",
7386 "left" : null,
7387 "right" : {
7388 "type" : "bool",
7389 "value" : true
7390 }
7391 }
7392 }
7393 }
7394 ],
7395 "source_info" : {
7396 "filename" : "include/control/lookup_md_init.p4",
7397 "line" : 47,
7398 "column" : 27,
7399 "source_fragment" : "= true; ..."
7400 }
7401 },
7402 {
7403 "op" : "assign",
7404 "parameters" : [
7405 {
7406 "type" : "field",
7407 "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
7408 },
7409 {
7410 "type" : "field",
7411 "value" : ["ipv4", "src_addr"]
7412 }
7413 ],
7414 "source_info" : {
7415 "filename" : "include/control/lookup_md_init.p4",
7416 "line" : 48,
7417 "column" : 28,
7418 "source_fragment" : "= hdr.ipv4.src_addr; ..."
7419 }
7420 },
7421 {
7422 "op" : "assign",
7423 "parameters" : [
7424 {
7425 "type" : "field",
7426 "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
7427 },
7428 {
7429 "type" : "field",
7430 "value" : ["ipv4", "dst_addr"]
7431 }
7432 ],
7433 "source_info" : {
7434 "filename" : "include/control/lookup_md_init.p4",
7435 "line" : 49,
7436 "column" : 28,
7437 "source_fragment" : "= hdr.ipv4.dst_addr; ..."
7438 }
7439 },
7440 {
7441 "op" : "assign",
7442 "parameters" : [
7443 {
7444 "type" : "field",
7445 "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
7446 },
7447 {
7448 "type" : "field",
7449 "value" : ["ipv4", "protocol"]
7450 }
7451 ],
7452 "source_info" : {
7453 "filename" : "include/control/lookup_md_init.p4",
7454 "line" : 50,
7455 "column" : 28,
7456 "source_fragment" : "= hdr.ipv4.protocol; ..."
7457 }
7458 }
7459 ]
7460 },
7461 {
7462 "name" : "lookup_md_init23",
7463 "id" : 59,
7464 "runtime_data" : [],
7465 "primitives" : [
7466 {
7467 "op" : "assign",
7468 "parameters" : [
7469 {
7470 "type" : "field",
7471 "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
7472 },
7473 {
7474 "type" : "expression",
7475 "value" : {
7476 "type" : "expression",
7477 "value" : {
7478 "op" : "b2d",
7479 "left" : null,
7480 "right" : {
7481 "type" : "bool",
7482 "value" : false
7483 }
7484 }
7485 }
7486 }
7487 ],
7488 "source_info" : {
7489 "filename" : "include/control/lookup_md_init.p4",
7490 "line" : 23,
7491 "column" : 23,
7492 "source_fragment" : "= false; ..."
7493 }
7494 },
7495 {
7496 "op" : "assign",
7497 "parameters" : [
7498 {
7499 "type" : "field",
7500 "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
7501 },
7502 {
7503 "type" : "hexstr",
7504 "value" : "0x00000000"
7505 }
7506 ],
7507 "source_info" : {
7508 "filename" : "include/control/lookup_md_init.p4",
7509 "line" : 24,
7510 "column" : 24,
7511 "source_fragment" : "= 0; ..."
7512 }
7513 },
7514 {
7515 "op" : "assign",
7516 "parameters" : [
7517 {
7518 "type" : "field",
7519 "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
7520 },
7521 {
7522 "type" : "hexstr",
7523 "value" : "0x00000000"
7524 }
7525 ],
7526 "source_info" : {
7527 "filename" : "include/control/lookup_md_init.p4",
7528 "line" : 25,
7529 "column" : 24,
7530 "source_fragment" : "= 0; ..."
7531 }
7532 },
7533 {
7534 "op" : "assign",
7535 "parameters" : [
7536 {
7537 "type" : "field",
7538 "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
7539 },
7540 {
7541 "type" : "hexstr",
7542 "value" : "0x00"
7543 }
7544 ],
7545 "source_info" : {
7546 "filename" : "include/control/lookup_md_init.p4",
7547 "line" : 26,
7548 "column" : 24,
7549 "source_fragment" : "= 0; ..."
7550 }
7551 },
7552 {
7553 "op" : "assign",
7554 "parameters" : [
7555 {
7556 "type" : "field",
7557 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
7558 },
7559 {
7560 "type" : "hexstr",
7561 "value" : "0x0000"
7562 }
7563 ],
7564 "source_info" : {
7565 "filename" : "include/control/lookup_md_init.p4",
7566 "line" : 27,
7567 "column" : 24,
7568 "source_fragment" : "= 0; ..."
7569 }
7570 },
7571 {
7572 "op" : "assign",
7573 "parameters" : [
7574 {
7575 "type" : "field",
7576 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
7577 },
7578 {
7579 "type" : "hexstr",
7580 "value" : "0x0000"
7581 }
7582 ],
7583 "source_info" : {
7584 "filename" : "include/control/lookup_md_init.p4",
7585 "line" : 28,
7586 "column" : 24,
7587 "source_fragment" : "= 0; ..."
7588 }
7589 },
7590 {
7591 "op" : "assign",
7592 "parameters" : [
7593 {
7594 "type" : "field",
7595 "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
7596 },
7597 {
7598 "type" : "hexstr",
7599 "value" : "0x00"
7600 }
7601 ],
7602 "source_info" : {
7603 "filename" : "include/control/lookup_md_init.p4",
7604 "line" : 29,
7605 "column" : 25,
7606 "source_fragment" : "= 0; ..."
7607 }
7608 },
7609 {
7610 "op" : "assign",
7611 "parameters" : [
7612 {
7613 "type" : "field",
7614 "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
7615 },
7616 {
7617 "type" : "hexstr",
7618 "value" : "0x00"
7619 }
7620 ],
7621 "source_info" : {
7622 "filename" : "include/control/lookup_md_init.p4",
7623 "line" : 30,
7624 "column" : 25,
7625 "source_fragment" : "= 0; ..."
7626 }
7627 }
7628 ]
7629 },
7630 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007631 "name" : "packetio25",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007632 "id" : 60,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007633 "runtime_data" : [],
7634 "primitives" : [
7635 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007636 "op" : "assign",
7637 "parameters" : [
7638 {
7639 "type" : "field",
7640 "value" : ["standard_metadata", "egress_spec"]
7641 },
7642 {
7643 "type" : "field",
7644 "value" : ["packet_out", "egress_port"]
7645 }
7646 ],
7647 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007648 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007649 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007650 "column" : 12,
7651 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
7652 }
7653 },
7654 {
7655 "op" : "remove_header",
7656 "parameters" : [
7657 {
7658 "type" : "header",
7659 "value" : "packet_out"
7660 }
7661 ],
7662 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007663 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007664 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007665 "column" : 12,
7666 "source_fragment" : "hdr.packet_out.setInvalid()"
7667 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007668 },
7669 {
7670 "op" : "assign",
7671 "parameters" : [
7672 {
7673 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007674 "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007675 },
7676 {
7677 "type" : "expression",
7678 "value" : {
7679 "type" : "expression",
7680 "value" : {
7681 "op" : "b2d",
7682 "left" : null,
7683 "right" : {
7684 "type" : "bool",
7685 "value" : true
7686 }
7687 }
7688 }
7689 }
7690 ],
7691 "source_info" : {
7692 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007693 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007694 "column" : 53,
7695 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007696 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007697 },
7698 {
7699 "op" : "exit",
7700 "parameters" : [],
7701 "source_info" : {
7702 "filename" : "include/control/packetio.p4",
7703 "line" : 29,
7704 "column" : 12,
7705 "source_fragment" : "exit"
7706 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007707 }
7708 ]
7709 },
7710 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007711 "name" : "filtering113",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007712 "id" : 61,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007713 "runtime_data" : [],
7714 "primitives" : [
7715 {
7716 "op" : "assign",
7717 "parameters" : [
7718 {
7719 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007720 "value" : ["scalars", "userMetadata._vlan_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007721 },
7722 {
7723 "type" : "field",
7724 "value" : ["vlan_tag", "vlan_id"]
7725 }
7726 ],
7727 "source_info" : {
7728 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007729 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007730 "column" : 36,
7731 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007732 }
7733 },
7734 {
7735 "op" : "assign",
7736 "parameters" : [
7737 {
7738 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007739 "value" : ["scalars", "userMetadata._vlan_pri10"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007740 },
7741 {
7742 "type" : "field",
7743 "value" : ["vlan_tag", "pri"]
7744 }
7745 ],
7746 "source_info" : {
7747 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007748 "line" : 114,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007749 "column" : 37,
7750 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007751 }
7752 },
7753 {
7754 "op" : "assign",
7755 "parameters" : [
7756 {
7757 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007758 "value" : ["scalars", "userMetadata._vlan_cfi11"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007759 },
7760 {
7761 "type" : "field",
7762 "value" : ["vlan_tag", "cfi"]
7763 }
7764 ],
7765 "source_info" : {
7766 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007767 "line" : 115,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007768 "column" : 37,
7769 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007770 }
7771 }
7772 ]
7773 },
7774 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007775 "name" : "filtering129",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007776 "id" : 62,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007777 "runtime_data" : [],
7778 "primitives" : [
7779 {
7780 "op" : "assign",
7781 "parameters" : [
7782 {
7783 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007784 "value" : ["scalars", "userMetadata._mpls_ttl13"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007785 },
7786 {
7787 "type" : "hexstr",
7788 "value" : "0x41"
7789 }
7790 ],
7791 "source_info" : {
7792 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007793 "line" : 129,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007794 "column" : 37,
7795 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007796 }
7797 }
7798 ]
7799 },
7800 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007801 "name" : "spgw277",
7802 "id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007803 "runtime_data" : [],
7804 "primitives" : [
7805 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007806 "op" : "count",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007807 "parameters" : [
7808 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007809 "type" : "counter_array",
7810 "value" : "FabricIngress.spgw.pdr_counter"
Wailok Shum4f51bde2021-06-11 22:48:41 +08007811 },
7812 {
7813 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007814 "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
Wailok Shum4f51bde2021-06-11 22:48:41 +08007815 }
7816 ],
7817 "source_info" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007818 "filename" : "include/control/spgw.p4",
7819 "line" : 277,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007820 "column" : 16,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007821 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Wailok Shum4f51bde2021-06-11 22:48:41 +08007822 }
7823 }
7824 ]
7825 },
7826 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007827 "name" : "spgw294",
7828 "id" : 64,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007829 "runtime_data" : [],
7830 "primitives" : [
7831 {
7832 "op" : "assign",
7833 "parameters" : [
7834 {
7835 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007836 "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
Wailok Shum4f51bde2021-06-11 22:48:41 +08007837 },
7838 {
7839 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007840 "value" : ["ipv4", "total_len"]
Wailok Shum4f51bde2021-06-11 22:48:41 +08007841 }
7842 ],
7843 "source_info" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007844 "filename" : "include/control/spgw.p4",
7845 "line" : 294,
7846 "column" : 36,
7847 "source_fragment" : "= hdr.ipv4.total_len; ..."
Wailok Shum4f51bde2021-06-11 22:48:41 +08007848 }
7849 }
7850 ]
7851 },
7852 {
7853 "name" : "port_counter31",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007854 "id" : 65,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007855 "runtime_data" : [],
7856 "primitives" : [
7857 {
7858 "op" : "assign",
7859 "parameters" : [
7860 {
7861 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07007862 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007863 },
7864 {
7865 "type" : "expression",
7866 "value" : {
7867 "type" : "expression",
7868 "value" : {
7869 "op" : "&",
7870 "left" : {
7871 "type" : "field",
7872 "value" : ["standard_metadata", "egress_spec"]
7873 },
7874 "right" : {
7875 "type" : "hexstr",
7876 "value" : "0xffffffff"
7877 }
7878 }
7879 }
7880 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02007881 ],
7882 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007883 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007884 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02007885 "column" : 38,
7886 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
7887 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007888 },
7889 {
7890 "op" : "count",
7891 "parameters" : [
7892 {
7893 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08007894 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007895 },
7896 {
7897 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07007898 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007899 }
7900 ],
7901 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007902 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007903 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007904 "column" : 12,
7905 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
7906 }
7907 }
7908 ]
7909 },
7910 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007911 "name" : "port_counter34",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007912 "id" : 66,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007913 "runtime_data" : [],
7914 "primitives" : [
7915 {
7916 "op" : "assign",
7917 "parameters" : [
7918 {
7919 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07007920 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007921 },
7922 {
7923 "type" : "expression",
7924 "value" : {
7925 "type" : "expression",
7926 "value" : {
7927 "op" : "&",
7928 "left" : {
7929 "type" : "field",
7930 "value" : ["standard_metadata", "ingress_port"]
7931 },
7932 "right" : {
7933 "type" : "hexstr",
7934 "value" : "0xffffffff"
7935 }
7936 }
7937 }
7938 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02007939 ],
7940 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007941 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007942 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02007943 "column" : 39,
7944 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
7945 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007946 },
7947 {
7948 "op" : "count",
7949 "parameters" : [
7950 {
7951 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08007952 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007953 },
7954 {
7955 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07007956 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007957 }
7958 ],
7959 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007960 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007961 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007962 "column" : 12,
7963 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
7964 }
7965 }
7966 ]
7967 },
7968 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007969 "name" : "slicing114",
7970 "id" : 67,
7971 "runtime_data" : [],
7972 "primitives" : [
7973 {
7974 "op" : "assign",
7975 "parameters" : [
7976 {
7977 "type" : "field",
7978 "value" : ["scalars", "tmp_10"]
7979 },
7980 {
7981 "type" : "expression",
7982 "value" : {
7983 "type" : "expression",
7984 "value" : {
7985 "op" : "&",
7986 "left" : {
7987 "type" : "expression",
7988 "value" : {
7989 "op" : "|",
7990 "left" : {
7991 "type" : "expression",
7992 "value" : {
7993 "op" : "&",
7994 "left" : {
7995 "type" : "expression",
7996 "value" : {
7997 "op" : "<<",
7998 "left" : {
7999 "type" : "expression",
8000 "value" : {
8001 "op" : "&",
8002 "left" : {
8003 "type" : "field",
8004 "value" : ["scalars", "userMetadata._slice_id25"]
8005 },
8006 "right" : {
8007 "type" : "hexstr",
8008 "value" : "0x3f"
8009 }
8010 }
8011 },
8012 "right" : {
8013 "type" : "hexstr",
8014 "value" : "0x2"
8015 }
8016 }
8017 },
8018 "right" : {
8019 "type" : "hexstr",
8020 "value" : "0x3f"
8021 }
8022 }
8023 },
8024 "right" : {
8025 "type" : "expression",
8026 "value" : {
8027 "op" : "&",
8028 "left" : {
8029 "type" : "expression",
8030 "value" : {
8031 "op" : "&",
8032 "left" : {
8033 "type" : "field",
8034 "value" : ["scalars", "userMetadata._tc27"]
8035 },
8036 "right" : {
8037 "type" : "hexstr",
8038 "value" : "0x3f"
8039 }
8040 }
8041 },
8042 "right" : {
8043 "type" : "hexstr",
8044 "value" : "0x07"
8045 }
8046 }
8047 }
8048 }
8049 },
8050 "right" : {
8051 "type" : "hexstr",
8052 "value" : "0xffffffff"
8053 }
8054 }
8055 }
8056 }
8057 ],
8058 "source_info" : {
8059 "filename" : "include/control/slicing.p4",
8060 "line" : 114,
8061 "column" : 37,
8062 "source_fragment" : "(bit<32>) slice_tc"
8063 }
8064 },
8065 {
8066 "op" : "execute_meter",
8067 "parameters" : [
8068 {
8069 "type" : "meter_array",
8070 "value" : "FabricIngress.qos.slice_tc_meter"
8071 },
8072 {
8073 "type" : "field",
8074 "value" : ["scalars", "tmp_10"]
8075 },
8076 {
8077 "type" : "field",
8078 "value" : ["scalars", "userMetadata._packet_color26"]
8079 }
8080 ],
8081 "source_info" : {
8082 "filename" : "include/control/slicing.p4",
8083 "line" : 114,
8084 "column" : 8,
8085 "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color)"
8086 }
8087 },
8088 {
8089 "op" : "assign",
8090 "parameters" : [
8091 {
8092 "type" : "field",
8093 "value" : ["scalars", "userMetadata._dscp28"]
8094 },
8095 {
8096 "type" : "expression",
8097 "value" : {
8098 "type" : "expression",
8099 "value" : {
8100 "op" : "|",
8101 "left" : {
8102 "type" : "expression",
8103 "value" : {
8104 "op" : "&",
8105 "left" : {
8106 "type" : "expression",
8107 "value" : {
8108 "op" : "<<",
8109 "left" : {
8110 "type" : "expression",
8111 "value" : {
8112 "op" : "&",
8113 "left" : {
8114 "type" : "field",
8115 "value" : ["scalars", "userMetadata._slice_id25"]
8116 },
8117 "right" : {
8118 "type" : "hexstr",
8119 "value" : "0x3f"
8120 }
8121 }
8122 },
8123 "right" : {
8124 "type" : "hexstr",
8125 "value" : "0x2"
8126 }
8127 }
8128 },
8129 "right" : {
8130 "type" : "hexstr",
8131 "value" : "0x3f"
8132 }
8133 }
8134 },
8135 "right" : {
8136 "type" : "expression",
8137 "value" : {
8138 "op" : "&",
8139 "left" : {
8140 "type" : "expression",
8141 "value" : {
8142 "op" : "&",
8143 "left" : {
8144 "type" : "field",
8145 "value" : ["scalars", "userMetadata._tc27"]
8146 },
8147 "right" : {
8148 "type" : "hexstr",
8149 "value" : "0x3f"
8150 }
8151 }
8152 },
8153 "right" : {
8154 "type" : "hexstr",
8155 "value" : "0x07"
8156 }
8157 }
8158 }
8159 }
8160 }
8161 }
8162 ],
8163 "source_info" : {
8164 "filename" : "include/control/slicing.p4",
8165 "line" : 110,
8166 "column" : 26,
8167 "source_fragment" : "fabric_md.slice_id++fabric_md.tc; ..."
8168 }
8169 }
8170 ]
8171 },
8172 {
8173 "name" : "nop",
8174 "id" : 68,
8175 "runtime_data" : [],
8176 "primitives" : []
8177 },
8178 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008179 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008180 "id" : 69,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008181 "runtime_data" : [],
8182 "primitives" : [
8183 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008184 "op" : "remove_header",
8185 "parameters" : [
8186 {
8187 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008188 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008189 }
8190 ],
8191 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008192 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008193 "line" : 204,
Yi Tseng47eac892018-07-11 02:17:04 +08008194 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008195 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08008196 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008197 },
Yi Tseng47eac892018-07-11 02:17:04 +08008198 {
8199 "op" : "assign",
8200 "parameters" : [
8201 {
8202 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008203 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08008204 },
8205 {
8206 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008207 "value" : ["scalars", "userMetadata._ip_eth_type8"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008208 }
8209 ],
8210 "source_info" : {
8211 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008212 "line" : 206,
Daniele Moro5a2de712019-09-24 14:34:07 -07008213 "column" : 8,
8214 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008215 }
8216 }
8217 ]
8218 },
8219 {
8220 "name" : "FabricEgress.egress_next.set_mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008221 "id" : 70,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008222 "runtime_data" : [],
8223 "primitives" : [
8224 {
8225 "op" : "add_header",
8226 "parameters" : [
8227 {
8228 "type" : "header",
8229 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08008230 }
8231 ],
8232 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008233 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008234 "line" : 211,
Yi Tseng47eac892018-07-11 02:17:04 +08008235 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008236 "source_fragment" : "hdr.mpls.setValid()"
8237 }
8238 },
8239 {
8240 "op" : "assign",
8241 "parameters" : [
8242 {
8243 "type" : "field",
8244 "value" : ["mpls", "label"]
8245 },
8246 {
8247 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008248 "value" : ["scalars", "userMetadata._mpls_label12"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008249 }
8250 ],
8251 "source_info" : {
8252 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008253 "line" : 212,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008254 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008255 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008256 }
8257 },
8258 {
8259 "op" : "assign",
8260 "parameters" : [
8261 {
8262 "type" : "field",
8263 "value" : ["mpls", "tc"]
8264 },
8265 {
8266 "type" : "hexstr",
8267 "value" : "0x00"
8268 }
8269 ],
8270 "source_info" : {
8271 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008272 "line" : 213,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008273 "column" : 8,
8274 "source_fragment" : "hdr.mpls.tc = 3w0"
8275 }
8276 },
8277 {
8278 "op" : "assign",
8279 "parameters" : [
8280 {
8281 "type" : "field",
8282 "value" : ["mpls", "bos"]
8283 },
8284 {
8285 "type" : "hexstr",
8286 "value" : "0x01"
8287 }
8288 ],
8289 "source_info" : {
8290 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008291 "line" : 214,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008292 "column" : 8,
8293 "source_fragment" : "hdr.mpls.bos = 1w1"
8294 }
8295 },
8296 {
8297 "op" : "assign",
8298 "parameters" : [
8299 {
8300 "type" : "field",
8301 "value" : ["mpls", "ttl"]
8302 },
8303 {
8304 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008305 "value" : ["scalars", "userMetadata._mpls_ttl13"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008306 }
8307 ],
8308 "source_info" : {
8309 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008310 "line" : 215,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008311 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008312 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008313 }
8314 },
8315 {
8316 "op" : "assign",
8317 "parameters" : [
8318 {
8319 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008320 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008321 },
8322 {
8323 "type" : "hexstr",
8324 "value" : "0x8847"
8325 }
8326 ],
8327 "source_info" : {
8328 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008329 "line" : 147,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008330 "column" : 31,
8331 "source_fragment" : "0x8847; ..."
8332 }
8333 }
8334 ]
8335 },
8336 {
8337 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008338 "id" : 71,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008339 "runtime_data" : [],
8340 "primitives" : [
8341 {
8342 "op" : "add_header",
8343 "parameters" : [
8344 {
8345 "type" : "header",
8346 "value" : "vlan_tag"
8347 }
8348 ],
8349 "source_info" : {
8350 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008351 "line" : 223,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008352 "column" : 8,
8353 "source_fragment" : "hdr.vlan_tag.setValid()"
8354 }
8355 },
8356 {
8357 "op" : "assign",
8358 "parameters" : [
8359 {
8360 "type" : "field",
8361 "value" : ["vlan_tag", "cfi"]
8362 },
8363 {
8364 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008365 "value" : ["scalars", "userMetadata._vlan_cfi11"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008366 }
8367 ],
8368 "source_info" : {
8369 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008370 "line" : 224,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008371 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008372 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008373 }
8374 },
8375 {
8376 "op" : "assign",
8377 "parameters" : [
8378 {
8379 "type" : "field",
8380 "value" : ["vlan_tag", "pri"]
8381 },
8382 {
8383 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008384 "value" : ["scalars", "userMetadata._vlan_pri10"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008385 }
8386 ],
8387 "source_info" : {
8388 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008389 "line" : 225,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008390 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008391 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008392 }
8393 },
8394 {
8395 "op" : "assign",
8396 "parameters" : [
8397 {
8398 "type" : "field",
8399 "value" : ["vlan_tag", "eth_type"]
8400 },
8401 {
Daniele Moro5a2de712019-09-24 14:34:07 -07008402 "type" : "hexstr",
8403 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008404 }
8405 ],
8406 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07008407 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008408 "line" : 146,
Daniele Moro5a2de712019-09-24 14:34:07 -07008409 "column" : 31,
8410 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008411 }
8412 },
8413 {
8414 "op" : "assign",
8415 "parameters" : [
8416 {
8417 "type" : "field",
8418 "value" : ["vlan_tag", "vlan_id"]
8419 },
8420 {
8421 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008422 "value" : ["scalars", "userMetadata._vlan_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008423 }
8424 ],
8425 "source_info" : {
8426 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008427 "line" : 227,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008428 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008429 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008430 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008431 }
8432 ]
8433 },
8434 {
8435 "name" : "FabricEgress.egress_next.pop_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008436 "id" : 72,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008437 "runtime_data" : [],
8438 "primitives" : [
8439 {
Yi Tseng47eac892018-07-11 02:17:04 +08008440 "op" : "remove_header",
8441 "parameters" : [
8442 {
8443 "type" : "header",
8444 "value" : "vlan_tag"
8445 }
8446 ],
8447 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008448 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008449 "line" : 256,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008450 "column" : 8,
8451 "source_fragment" : "hdr.vlan_tag.setInvalid()"
8452 }
8453 }
8454 ]
8455 },
8456 {
pierventre48e78822020-12-15 17:34:54 +01008457 "name" : "FabricEgress.egress_next.drop",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008458 "id" : 73,
pierventre48e78822020-12-15 17:34:54 +01008459 "runtime_data" : [],
8460 "primitives" : [
8461 {
8462 "op" : "mark_to_drop",
8463 "parameters" : [
8464 {
8465 "type" : "header",
8466 "value" : "standard_metadata"
8467 }
8468 ],
8469 "source_info" : {
8470 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008471 "line" : 261,
pierventre48e78822020-12-15 17:34:54 +01008472 "column" : 8,
8473 "source_fragment" : "mark_to_drop(standard_metadata)"
8474 }
8475 }
8476 ]
8477 },
8478 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008479 "name" : "FabricEgress.dscp_rewriter.rewrite",
8480 "id" : 74,
8481 "runtime_data" : [],
8482 "primitives" : []
8483 },
8484 {
8485 "name" : "FabricEgress.dscp_rewriter.clear",
8486 "id" : 75,
8487 "runtime_data" : [],
8488 "primitives" : [
8489 {
8490 "op" : "assign",
8491 "parameters" : [
8492 {
8493 "type" : "field",
8494 "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
8495 },
8496 {
8497 "type" : "hexstr",
8498 "value" : "0x00"
8499 }
8500 ],
8501 "source_info" : {
8502 "filename" : "include/control/slicing.p4",
8503 "line" : 135,
8504 "column" : 8,
8505 "source_fragment" : "tmp_dscp = 0"
8506 }
8507 }
8508 ]
8509 },
8510 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008511 "name" : "FabricEgress.spgw.gtpu_encap",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008512 "id" : 76,
Robert MacDavidde12b982020-07-15 18:38:59 -07008513 "runtime_data" : [],
8514 "primitives" : [
8515 {
8516 "op" : "add_header",
8517 "parameters" : [
8518 {
8519 "type" : "header",
8520 "value" : "gtpu_ipv4"
8521 }
8522 ],
8523 "source_info" : {
8524 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008525 "line" : 311,
Robert MacDavidde12b982020-07-15 18:38:59 -07008526 "column" : 8,
8527 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
8528 }
8529 },
8530 {
8531 "op" : "assign",
8532 "parameters" : [
8533 {
8534 "type" : "field",
8535 "value" : ["gtpu_ipv4", "version"]
8536 },
8537 {
8538 "type" : "hexstr",
8539 "value" : "0x04"
8540 }
8541 ],
8542 "source_info" : {
8543 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008544 "line" : 312,
Robert MacDavidde12b982020-07-15 18:38:59 -07008545 "column" : 8,
8546 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
8547 }
8548 },
8549 {
8550 "op" : "assign",
8551 "parameters" : [
8552 {
8553 "type" : "field",
8554 "value" : ["gtpu_ipv4", "ihl"]
8555 },
8556 {
8557 "type" : "hexstr",
8558 "value" : "0x05"
8559 }
8560 ],
8561 "source_info" : {
8562 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008563 "line" : 164,
Robert MacDavidde12b982020-07-15 18:38:59 -07008564 "column" : 28,
8565 "source_fragment" : "5; ..."
8566 }
8567 },
8568 {
8569 "op" : "assign",
8570 "parameters" : [
8571 {
8572 "type" : "field",
8573 "value" : ["gtpu_ipv4", "dscp"]
8574 },
8575 {
8576 "type" : "hexstr",
8577 "value" : "0x00"
8578 }
8579 ],
8580 "source_info" : {
8581 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008582 "line" : 314,
Robert MacDavidde12b982020-07-15 18:38:59 -07008583 "column" : 8,
8584 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
8585 }
8586 },
8587 {
8588 "op" : "assign",
8589 "parameters" : [
8590 {
8591 "type" : "field",
8592 "value" : ["gtpu_ipv4", "ecn"]
8593 },
8594 {
8595 "type" : "hexstr",
8596 "value" : "0x00"
8597 }
8598 ],
8599 "source_info" : {
8600 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008601 "line" : 315,
Robert MacDavidde12b982020-07-15 18:38:59 -07008602 "column" : 8,
8603 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
8604 }
8605 },
8606 {
8607 "op" : "assign",
8608 "parameters" : [
8609 {
8610 "type" : "field",
8611 "value" : ["gtpu_ipv4", "total_len"]
8612 },
8613 {
8614 "type" : "expression",
8615 "value" : {
8616 "type" : "expression",
8617 "value" : {
8618 "op" : "&",
8619 "left" : {
8620 "type" : "expression",
8621 "value" : {
8622 "op" : "+",
8623 "left" : {
8624 "type" : "field",
8625 "value" : ["ipv4", "total_len"]
8626 },
8627 "right" : {
8628 "type" : "hexstr",
8629 "value" : "0x0024"
8630 }
8631 }
8632 },
8633 "right" : {
8634 "type" : "hexstr",
8635 "value" : "0xffff"
8636 }
8637 }
8638 }
8639 }
8640 ],
8641 "source_info" : {
8642 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008643 "line" : 316,
Robert MacDavidde12b982020-07-15 18:38:59 -07008644 "column" : 8,
8645 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
8646 }
8647 },
8648 {
8649 "op" : "assign",
8650 "parameters" : [
8651 {
8652 "type" : "field",
8653 "value" : ["gtpu_ipv4", "identification"]
8654 },
8655 {
8656 "type" : "hexstr",
8657 "value" : "0x1513"
8658 }
8659 ],
8660 "source_info" : {
8661 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008662 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07008663 "column" : 8,
8664 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
8665 }
8666 },
8667 {
8668 "op" : "assign",
8669 "parameters" : [
8670 {
8671 "type" : "field",
8672 "value" : ["gtpu_ipv4", "flags"]
8673 },
8674 {
8675 "type" : "hexstr",
8676 "value" : "0x00"
8677 }
8678 ],
8679 "source_info" : {
8680 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008681 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07008682 "column" : 8,
8683 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
8684 }
8685 },
8686 {
8687 "op" : "assign",
8688 "parameters" : [
8689 {
8690 "type" : "field",
8691 "value" : ["gtpu_ipv4", "frag_offset"]
8692 },
8693 {
8694 "type" : "hexstr",
8695 "value" : "0x0000"
8696 }
8697 ],
8698 "source_info" : {
8699 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008700 "line" : 320,
Robert MacDavidde12b982020-07-15 18:38:59 -07008701 "column" : 8,
8702 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
8703 }
8704 },
8705 {
8706 "op" : "assign",
8707 "parameters" : [
8708 {
8709 "type" : "field",
8710 "value" : ["gtpu_ipv4", "ttl"]
8711 },
8712 {
8713 "type" : "hexstr",
8714 "value" : "0x40"
8715 }
8716 ],
8717 "source_info" : {
8718 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008719 "line" : 177,
Robert MacDavidde12b982020-07-15 18:38:59 -07008720 "column" : 32,
8721 "source_fragment" : "64; ..."
8722 }
8723 },
8724 {
8725 "op" : "assign",
8726 "parameters" : [
8727 {
8728 "type" : "field",
8729 "value" : ["gtpu_ipv4", "protocol"]
8730 },
8731 {
8732 "type" : "hexstr",
8733 "value" : "0x11"
8734 }
8735 ],
8736 "source_info" : {
8737 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008738 "line" : 161,
Robert MacDavidde12b982020-07-15 18:38:59 -07008739 "column" : 25,
8740 "source_fragment" : "17; ..."
8741 }
8742 },
8743 {
8744 "op" : "assign",
8745 "parameters" : [
8746 {
8747 "type" : "field",
8748 "value" : ["gtpu_ipv4", "src_addr"]
8749 },
8750 {
8751 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008752 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008753 }
8754 ],
8755 "source_info" : {
8756 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008757 "line" : 323,
Robert MacDavidde12b982020-07-15 18:38:59 -07008758 "column" : 8,
8759 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
8760 }
8761 },
8762 {
8763 "op" : "assign",
8764 "parameters" : [
8765 {
8766 "type" : "field",
8767 "value" : ["gtpu_ipv4", "dst_addr"]
8768 },
8769 {
8770 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008771 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008772 }
8773 ],
8774 "source_info" : {
8775 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008776 "line" : 324,
Robert MacDavidde12b982020-07-15 18:38:59 -07008777 "column" : 8,
8778 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
8779 }
8780 },
8781 {
8782 "op" : "assign",
8783 "parameters" : [
8784 {
8785 "type" : "field",
8786 "value" : ["gtpu_ipv4", "hdr_checksum"]
8787 },
8788 {
8789 "type" : "hexstr",
8790 "value" : "0x0000"
8791 }
8792 ],
8793 "source_info" : {
8794 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008795 "line" : 325,
Robert MacDavidde12b982020-07-15 18:38:59 -07008796 "column" : 8,
8797 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
8798 }
8799 },
8800 {
8801 "op" : "add_header",
8802 "parameters" : [
8803 {
8804 "type" : "header",
8805 "value" : "gtpu_udp"
8806 }
8807 ],
8808 "source_info" : {
8809 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008810 "line" : 327,
Robert MacDavidde12b982020-07-15 18:38:59 -07008811 "column" : 8,
8812 "source_fragment" : "hdr.gtpu_udp.setValid()"
8813 }
8814 },
8815 {
8816 "op" : "assign",
8817 "parameters" : [
8818 {
8819 "type" : "field",
8820 "value" : ["gtpu_udp", "sport"]
8821 },
8822 {
8823 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008824 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008825 }
8826 ],
8827 "source_info" : {
8828 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008829 "line" : 328,
Robert MacDavidde12b982020-07-15 18:38:59 -07008830 "column" : 8,
8831 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
8832 }
8833 },
8834 {
8835 "op" : "assign",
8836 "parameters" : [
8837 {
8838 "type" : "field",
8839 "value" : ["gtpu_udp", "dport"]
8840 },
8841 {
8842 "type" : "hexstr",
8843 "value" : "0x0868"
8844 }
8845 ],
8846 "source_info" : {
8847 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008848 "line" : 329,
Robert MacDavidde12b982020-07-15 18:38:59 -07008849 "column" : 8,
8850 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
8851 }
8852 },
8853 {
8854 "op" : "assign",
8855 "parameters" : [
8856 {
8857 "type" : "field",
8858 "value" : ["gtpu_udp", "len"]
8859 },
8860 {
8861 "type" : "expression",
8862 "value" : {
8863 "type" : "expression",
8864 "value" : {
8865 "op" : "&",
8866 "left" : {
8867 "type" : "expression",
8868 "value" : {
8869 "op" : "+",
8870 "left" : {
8871 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008872 "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008873 },
8874 "right" : {
8875 "type" : "hexstr",
8876 "value" : "0x0010"
8877 }
8878 }
8879 },
8880 "right" : {
8881 "type" : "hexstr",
8882 "value" : "0xffff"
8883 }
8884 }
8885 }
8886 }
8887 ],
8888 "source_info" : {
8889 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008890 "line" : 330,
Robert MacDavidde12b982020-07-15 18:38:59 -07008891 "column" : 8,
8892 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
8893 }
8894 },
8895 {
8896 "op" : "assign",
8897 "parameters" : [
8898 {
8899 "type" : "field",
8900 "value" : ["gtpu_udp", "checksum"]
8901 },
8902 {
8903 "type" : "hexstr",
8904 "value" : "0x0000"
8905 }
8906 ],
8907 "source_info" : {
8908 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008909 "line" : 332,
Robert MacDavidde12b982020-07-15 18:38:59 -07008910 "column" : 8,
8911 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
8912 }
8913 },
8914 {
8915 "op" : "add_header",
8916 "parameters" : [
8917 {
8918 "type" : "header",
8919 "value" : "outer_gtpu"
8920 }
8921 ],
8922 "source_info" : {
8923 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008924 "line" : 334,
Robert MacDavidde12b982020-07-15 18:38:59 -07008925 "column" : 8,
8926 "source_fragment" : "hdr.outer_gtpu.setValid()"
8927 }
8928 },
8929 {
8930 "op" : "assign",
8931 "parameters" : [
8932 {
8933 "type" : "field",
8934 "value" : ["outer_gtpu", "version"]
8935 },
8936 {
8937 "type" : "hexstr",
8938 "value" : "0x01"
8939 }
8940 ],
8941 "source_info" : {
8942 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008943 "line" : 335,
Robert MacDavidde12b982020-07-15 18:38:59 -07008944 "column" : 8,
8945 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
8946 }
8947 },
8948 {
8949 "op" : "assign",
8950 "parameters" : [
8951 {
8952 "type" : "field",
8953 "value" : ["outer_gtpu", "pt"]
8954 },
8955 {
8956 "type" : "hexstr",
8957 "value" : "0x01"
8958 }
8959 ],
8960 "source_info" : {
8961 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008962 "line" : 336,
Robert MacDavidde12b982020-07-15 18:38:59 -07008963 "column" : 8,
8964 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
8965 }
8966 },
8967 {
8968 "op" : "assign",
8969 "parameters" : [
8970 {
8971 "type" : "field",
8972 "value" : ["outer_gtpu", "spare"]
8973 },
8974 {
8975 "type" : "hexstr",
8976 "value" : "0x00"
8977 }
8978 ],
8979 "source_info" : {
8980 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008981 "line" : 337,
Robert MacDavidde12b982020-07-15 18:38:59 -07008982 "column" : 8,
8983 "source_fragment" : "hdr.outer_gtpu.spare = 0"
8984 }
8985 },
8986 {
8987 "op" : "assign",
8988 "parameters" : [
8989 {
8990 "type" : "field",
8991 "value" : ["outer_gtpu", "ex_flag"]
8992 },
8993 {
8994 "type" : "hexstr",
8995 "value" : "0x00"
8996 }
8997 ],
8998 "source_info" : {
8999 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009000 "line" : 338,
Robert MacDavidde12b982020-07-15 18:38:59 -07009001 "column" : 8,
9002 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
9003 }
9004 },
9005 {
9006 "op" : "assign",
9007 "parameters" : [
9008 {
9009 "type" : "field",
9010 "value" : ["outer_gtpu", "seq_flag"]
9011 },
9012 {
9013 "type" : "hexstr",
9014 "value" : "0x00"
9015 }
9016 ],
9017 "source_info" : {
9018 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009019 "line" : 339,
Robert MacDavidde12b982020-07-15 18:38:59 -07009020 "column" : 8,
9021 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
9022 }
9023 },
9024 {
9025 "op" : "assign",
9026 "parameters" : [
9027 {
9028 "type" : "field",
9029 "value" : ["outer_gtpu", "npdu_flag"]
9030 },
9031 {
9032 "type" : "hexstr",
9033 "value" : "0x00"
9034 }
9035 ],
9036 "source_info" : {
9037 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009038 "line" : 340,
Robert MacDavidde12b982020-07-15 18:38:59 -07009039 "column" : 8,
9040 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
9041 }
9042 },
9043 {
9044 "op" : "assign",
9045 "parameters" : [
9046 {
9047 "type" : "field",
9048 "value" : ["outer_gtpu", "msgtype"]
9049 },
9050 {
9051 "type" : "hexstr",
9052 "value" : "0xff"
9053 }
9054 ],
9055 "source_info" : {
9056 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009057 "line" : 341,
Robert MacDavidde12b982020-07-15 18:38:59 -07009058 "column" : 8,
9059 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
9060 }
9061 },
9062 {
9063 "op" : "assign",
9064 "parameters" : [
9065 {
9066 "type" : "field",
9067 "value" : ["outer_gtpu", "msglen"]
9068 },
9069 {
9070 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009071 "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009072 }
9073 ],
9074 "source_info" : {
9075 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009076 "line" : 342,
Robert MacDavidde12b982020-07-15 18:38:59 -07009077 "column" : 8,
9078 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
9079 }
9080 },
9081 {
9082 "op" : "assign",
9083 "parameters" : [
9084 {
9085 "type" : "field",
9086 "value" : ["outer_gtpu", "teid"]
9087 },
9088 {
9089 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009090 "value" : ["scalars", "userMetadata._spgw_teid32"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009091 }
9092 ],
9093 "source_info" : {
9094 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009095 "line" : 343,
Robert MacDavidde12b982020-07-15 18:38:59 -07009096 "column" : 8,
9097 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
9098 }
9099 }
9100 ]
9101 },
9102 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009103 "name" : "FabricEgress.spgw.gtpu_encap_qfi",
9104 "id" : 77,
9105 "runtime_data" : [],
9106 "primitives" : [
9107 {
9108 "op" : "add_header",
9109 "parameters" : [
9110 {
9111 "type" : "header",
9112 "value" : "gtpu_ipv4"
9113 }
9114 ],
9115 "source_info" : {
9116 "filename" : "include/control/spgw.p4",
9117 "line" : 311,
9118 "column" : 8,
9119 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
9120 }
9121 },
9122 {
9123 "op" : "assign",
9124 "parameters" : [
9125 {
9126 "type" : "field",
9127 "value" : ["gtpu_ipv4", "version"]
9128 },
9129 {
9130 "type" : "hexstr",
9131 "value" : "0x04"
9132 }
9133 ],
9134 "source_info" : {
9135 "filename" : "include/control/spgw.p4",
9136 "line" : 312,
9137 "column" : 8,
9138 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
9139 }
9140 },
9141 {
9142 "op" : "assign",
9143 "parameters" : [
9144 {
9145 "type" : "field",
9146 "value" : ["gtpu_ipv4", "ihl"]
9147 },
9148 {
9149 "type" : "hexstr",
9150 "value" : "0x05"
9151 }
9152 ],
9153 "source_info" : {
9154 "filename" : "include/control/../define.p4",
9155 "line" : 164,
9156 "column" : 28,
9157 "source_fragment" : "5; ..."
9158 }
9159 },
9160 {
9161 "op" : "assign",
9162 "parameters" : [
9163 {
9164 "type" : "field",
9165 "value" : ["gtpu_ipv4", "dscp"]
9166 },
9167 {
9168 "type" : "hexstr",
9169 "value" : "0x00"
9170 }
9171 ],
9172 "source_info" : {
9173 "filename" : "include/control/spgw.p4",
9174 "line" : 314,
9175 "column" : 8,
9176 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
9177 }
9178 },
9179 {
9180 "op" : "assign",
9181 "parameters" : [
9182 {
9183 "type" : "field",
9184 "value" : ["gtpu_ipv4", "ecn"]
9185 },
9186 {
9187 "type" : "hexstr",
9188 "value" : "0x00"
9189 }
9190 ],
9191 "source_info" : {
9192 "filename" : "include/control/spgw.p4",
9193 "line" : 315,
9194 "column" : 8,
9195 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
9196 }
9197 },
9198 {
9199 "op" : "assign",
9200 "parameters" : [
9201 {
9202 "type" : "field",
9203 "value" : ["gtpu_ipv4", "total_len"]
9204 },
9205 {
9206 "type" : "expression",
9207 "value" : {
9208 "type" : "expression",
9209 "value" : {
9210 "op" : "&",
9211 "left" : {
9212 "type" : "expression",
9213 "value" : {
9214 "op" : "+",
9215 "left" : {
9216 "type" : "field",
9217 "value" : ["ipv4", "total_len"]
9218 },
9219 "right" : {
9220 "type" : "hexstr",
9221 "value" : "0x0024"
9222 }
9223 }
9224 },
9225 "right" : {
9226 "type" : "hexstr",
9227 "value" : "0xffff"
9228 }
9229 }
9230 }
9231 }
9232 ],
9233 "source_info" : {
9234 "filename" : "include/control/spgw.p4",
9235 "line" : 316,
9236 "column" : 8,
9237 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
9238 }
9239 },
9240 {
9241 "op" : "assign",
9242 "parameters" : [
9243 {
9244 "type" : "field",
9245 "value" : ["gtpu_ipv4", "identification"]
9246 },
9247 {
9248 "type" : "hexstr",
9249 "value" : "0x1513"
9250 }
9251 ],
9252 "source_info" : {
9253 "filename" : "include/control/spgw.p4",
9254 "line" : 318,
9255 "column" : 8,
9256 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
9257 }
9258 },
9259 {
9260 "op" : "assign",
9261 "parameters" : [
9262 {
9263 "type" : "field",
9264 "value" : ["gtpu_ipv4", "flags"]
9265 },
9266 {
9267 "type" : "hexstr",
9268 "value" : "0x00"
9269 }
9270 ],
9271 "source_info" : {
9272 "filename" : "include/control/spgw.p4",
9273 "line" : 319,
9274 "column" : 8,
9275 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
9276 }
9277 },
9278 {
9279 "op" : "assign",
9280 "parameters" : [
9281 {
9282 "type" : "field",
9283 "value" : ["gtpu_ipv4", "frag_offset"]
9284 },
9285 {
9286 "type" : "hexstr",
9287 "value" : "0x0000"
9288 }
9289 ],
9290 "source_info" : {
9291 "filename" : "include/control/spgw.p4",
9292 "line" : 320,
9293 "column" : 8,
9294 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
9295 }
9296 },
9297 {
9298 "op" : "assign",
9299 "parameters" : [
9300 {
9301 "type" : "field",
9302 "value" : ["gtpu_ipv4", "ttl"]
9303 },
9304 {
9305 "type" : "hexstr",
9306 "value" : "0x40"
9307 }
9308 ],
9309 "source_info" : {
9310 "filename" : "include/control/../define.p4",
9311 "line" : 177,
9312 "column" : 32,
9313 "source_fragment" : "64; ..."
9314 }
9315 },
9316 {
9317 "op" : "assign",
9318 "parameters" : [
9319 {
9320 "type" : "field",
9321 "value" : ["gtpu_ipv4", "protocol"]
9322 },
9323 {
9324 "type" : "hexstr",
9325 "value" : "0x11"
9326 }
9327 ],
9328 "source_info" : {
9329 "filename" : "include/control/../define.p4",
9330 "line" : 161,
9331 "column" : 25,
9332 "source_fragment" : "17; ..."
9333 }
9334 },
9335 {
9336 "op" : "assign",
9337 "parameters" : [
9338 {
9339 "type" : "field",
9340 "value" : ["gtpu_ipv4", "src_addr"]
9341 },
9342 {
9343 "type" : "field",
9344 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
9345 }
9346 ],
9347 "source_info" : {
9348 "filename" : "include/control/spgw.p4",
9349 "line" : 323,
9350 "column" : 8,
9351 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
9352 }
9353 },
9354 {
9355 "op" : "assign",
9356 "parameters" : [
9357 {
9358 "type" : "field",
9359 "value" : ["gtpu_ipv4", "dst_addr"]
9360 },
9361 {
9362 "type" : "field",
9363 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
9364 }
9365 ],
9366 "source_info" : {
9367 "filename" : "include/control/spgw.p4",
9368 "line" : 324,
9369 "column" : 8,
9370 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
9371 }
9372 },
9373 {
9374 "op" : "assign",
9375 "parameters" : [
9376 {
9377 "type" : "field",
9378 "value" : ["gtpu_ipv4", "hdr_checksum"]
9379 },
9380 {
9381 "type" : "hexstr",
9382 "value" : "0x0000"
9383 }
9384 ],
9385 "source_info" : {
9386 "filename" : "include/control/spgw.p4",
9387 "line" : 325,
9388 "column" : 8,
9389 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
9390 }
9391 },
9392 {
9393 "op" : "add_header",
9394 "parameters" : [
9395 {
9396 "type" : "header",
9397 "value" : "gtpu_udp"
9398 }
9399 ],
9400 "source_info" : {
9401 "filename" : "include/control/spgw.p4",
9402 "line" : 327,
9403 "column" : 8,
9404 "source_fragment" : "hdr.gtpu_udp.setValid()"
9405 }
9406 },
9407 {
9408 "op" : "assign",
9409 "parameters" : [
9410 {
9411 "type" : "field",
9412 "value" : ["gtpu_udp", "sport"]
9413 },
9414 {
9415 "type" : "field",
9416 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
9417 }
9418 ],
9419 "source_info" : {
9420 "filename" : "include/control/spgw.p4",
9421 "line" : 328,
9422 "column" : 8,
9423 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
9424 }
9425 },
9426 {
9427 "op" : "assign",
9428 "parameters" : [
9429 {
9430 "type" : "field",
9431 "value" : ["gtpu_udp", "dport"]
9432 },
9433 {
9434 "type" : "hexstr",
9435 "value" : "0x0868"
9436 }
9437 ],
9438 "source_info" : {
9439 "filename" : "include/control/spgw.p4",
9440 "line" : 329,
9441 "column" : 8,
9442 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
9443 }
9444 },
9445 {
9446 "op" : "assign",
9447 "parameters" : [
9448 {
9449 "type" : "field",
9450 "value" : ["gtpu_udp", "len"]
9451 },
9452 {
9453 "type" : "expression",
9454 "value" : {
9455 "type" : "expression",
9456 "value" : {
9457 "op" : "&",
9458 "left" : {
9459 "type" : "expression",
9460 "value" : {
9461 "op" : "+",
9462 "left" : {
9463 "type" : "field",
9464 "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
9465 },
9466 "right" : {
9467 "type" : "hexstr",
9468 "value" : "0x0010"
9469 }
9470 }
9471 },
9472 "right" : {
9473 "type" : "hexstr",
9474 "value" : "0xffff"
9475 }
9476 }
9477 }
9478 }
9479 ],
9480 "source_info" : {
9481 "filename" : "include/control/spgw.p4",
9482 "line" : 330,
9483 "column" : 8,
9484 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
9485 }
9486 },
9487 {
9488 "op" : "assign",
9489 "parameters" : [
9490 {
9491 "type" : "field",
9492 "value" : ["gtpu_udp", "checksum"]
9493 },
9494 {
9495 "type" : "hexstr",
9496 "value" : "0x0000"
9497 }
9498 ],
9499 "source_info" : {
9500 "filename" : "include/control/spgw.p4",
9501 "line" : 332,
9502 "column" : 8,
9503 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
9504 }
9505 },
9506 {
9507 "op" : "add_header",
9508 "parameters" : [
9509 {
9510 "type" : "header",
9511 "value" : "outer_gtpu"
9512 }
9513 ],
9514 "source_info" : {
9515 "filename" : "include/control/spgw.p4",
9516 "line" : 334,
9517 "column" : 8,
9518 "source_fragment" : "hdr.outer_gtpu.setValid()"
9519 }
9520 },
9521 {
9522 "op" : "assign",
9523 "parameters" : [
9524 {
9525 "type" : "field",
9526 "value" : ["outer_gtpu", "version"]
9527 },
9528 {
9529 "type" : "hexstr",
9530 "value" : "0x01"
9531 }
9532 ],
9533 "source_info" : {
9534 "filename" : "include/control/spgw.p4",
9535 "line" : 335,
9536 "column" : 8,
9537 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
9538 }
9539 },
9540 {
9541 "op" : "assign",
9542 "parameters" : [
9543 {
9544 "type" : "field",
9545 "value" : ["outer_gtpu", "pt"]
9546 },
9547 {
9548 "type" : "hexstr",
9549 "value" : "0x01"
9550 }
9551 ],
9552 "source_info" : {
9553 "filename" : "include/control/spgw.p4",
9554 "line" : 336,
9555 "column" : 8,
9556 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
9557 }
9558 },
9559 {
9560 "op" : "assign",
9561 "parameters" : [
9562 {
9563 "type" : "field",
9564 "value" : ["outer_gtpu", "spare"]
9565 },
9566 {
9567 "type" : "hexstr",
9568 "value" : "0x00"
9569 }
9570 ],
9571 "source_info" : {
9572 "filename" : "include/control/spgw.p4",
9573 "line" : 337,
9574 "column" : 8,
9575 "source_fragment" : "hdr.outer_gtpu.spare = 0"
9576 }
9577 },
9578 {
9579 "op" : "assign",
9580 "parameters" : [
9581 {
9582 "type" : "field",
9583 "value" : ["outer_gtpu", "ex_flag"]
9584 },
9585 {
9586 "type" : "hexstr",
9587 "value" : "0x00"
9588 }
9589 ],
9590 "source_info" : {
9591 "filename" : "include/control/spgw.p4",
9592 "line" : 338,
9593 "column" : 8,
9594 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
9595 }
9596 },
9597 {
9598 "op" : "assign",
9599 "parameters" : [
9600 {
9601 "type" : "field",
9602 "value" : ["outer_gtpu", "seq_flag"]
9603 },
9604 {
9605 "type" : "hexstr",
9606 "value" : "0x00"
9607 }
9608 ],
9609 "source_info" : {
9610 "filename" : "include/control/spgw.p4",
9611 "line" : 339,
9612 "column" : 8,
9613 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
9614 }
9615 },
9616 {
9617 "op" : "assign",
9618 "parameters" : [
9619 {
9620 "type" : "field",
9621 "value" : ["outer_gtpu", "npdu_flag"]
9622 },
9623 {
9624 "type" : "hexstr",
9625 "value" : "0x00"
9626 }
9627 ],
9628 "source_info" : {
9629 "filename" : "include/control/spgw.p4",
9630 "line" : 340,
9631 "column" : 8,
9632 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
9633 }
9634 },
9635 {
9636 "op" : "assign",
9637 "parameters" : [
9638 {
9639 "type" : "field",
9640 "value" : ["outer_gtpu", "msgtype"]
9641 },
9642 {
9643 "type" : "hexstr",
9644 "value" : "0xff"
9645 }
9646 ],
9647 "source_info" : {
9648 "filename" : "include/control/spgw.p4",
9649 "line" : 341,
9650 "column" : 8,
9651 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
9652 }
9653 },
9654 {
9655 "op" : "assign",
9656 "parameters" : [
9657 {
9658 "type" : "field",
9659 "value" : ["outer_gtpu", "msglen"]
9660 },
9661 {
9662 "type" : "field",
9663 "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
9664 }
9665 ],
9666 "source_info" : {
9667 "filename" : "include/control/spgw.p4",
9668 "line" : 342,
9669 "column" : 8,
9670 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
9671 }
9672 },
9673 {
9674 "op" : "assign",
9675 "parameters" : [
9676 {
9677 "type" : "field",
9678 "value" : ["outer_gtpu", "teid"]
9679 },
9680 {
9681 "type" : "field",
9682 "value" : ["scalars", "userMetadata._spgw_teid32"]
9683 }
9684 ],
9685 "source_info" : {
9686 "filename" : "include/control/spgw.p4",
9687 "line" : 343,
9688 "column" : 8,
9689 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
9690 }
9691 },
9692 {
9693 "op" : "assign",
9694 "parameters" : [
9695 {
9696 "type" : "field",
9697 "value" : ["gtpu_ipv4", "total_len"]
9698 },
9699 {
9700 "type" : "expression",
9701 "value" : {
9702 "type" : "expression",
9703 "value" : {
9704 "op" : "&",
9705 "left" : {
9706 "type" : "expression",
9707 "value" : {
9708 "op" : "+",
9709 "left" : {
9710 "type" : "field",
9711 "value" : ["ipv4", "total_len"]
9712 },
9713 "right" : {
9714 "type" : "hexstr",
9715 "value" : "0x002c"
9716 }
9717 }
9718 },
9719 "right" : {
9720 "type" : "hexstr",
9721 "value" : "0xffff"
9722 }
9723 }
9724 }
9725 }
9726 ],
9727 "source_info" : {
9728 "filename" : "include/control/spgw.p4",
9729 "line" : 349,
9730 "column" : 8,
9731 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
9732 }
9733 },
9734 {
9735 "op" : "assign",
9736 "parameters" : [
9737 {
9738 "type" : "field",
9739 "value" : ["gtpu_udp", "len"]
9740 },
9741 {
9742 "type" : "expression",
9743 "value" : {
9744 "type" : "expression",
9745 "value" : {
9746 "op" : "&",
9747 "left" : {
9748 "type" : "expression",
9749 "value" : {
9750 "op" : "+",
9751 "left" : {
9752 "type" : "field",
9753 "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
9754 },
9755 "right" : {
9756 "type" : "hexstr",
9757 "value" : "0x0018"
9758 }
9759 }
9760 },
9761 "right" : {
9762 "type" : "hexstr",
9763 "value" : "0xffff"
9764 }
9765 }
9766 }
9767 }
9768 ],
9769 "source_info" : {
9770 "filename" : "include/control/spgw.p4",
9771 "line" : 352,
9772 "column" : 8,
9773 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
9774 }
9775 },
9776 {
9777 "op" : "assign",
9778 "parameters" : [
9779 {
9780 "type" : "field",
9781 "value" : ["outer_gtpu", "msglen"]
9782 },
9783 {
9784 "type" : "expression",
9785 "value" : {
9786 "type" : "expression",
9787 "value" : {
9788 "op" : "&",
9789 "left" : {
9790 "type" : "expression",
9791 "value" : {
9792 "op" : "+",
9793 "left" : {
9794 "type" : "field",
9795 "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
9796 },
9797 "right" : {
9798 "type" : "hexstr",
9799 "value" : "0x0008"
9800 }
9801 }
9802 },
9803 "right" : {
9804 "type" : "hexstr",
9805 "value" : "0xffff"
9806 }
9807 }
9808 }
9809 }
9810 ],
9811 "source_info" : {
9812 "filename" : "include/control/spgw.p4",
9813 "line" : 355,
9814 "column" : 8,
9815 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len ..."
9816 }
9817 },
9818 {
9819 "op" : "assign",
9820 "parameters" : [
9821 {
9822 "type" : "field",
9823 "value" : ["outer_gtpu", "ex_flag"]
9824 },
9825 {
9826 "type" : "hexstr",
9827 "value" : "0x01"
9828 }
9829 ],
9830 "source_info" : {
9831 "filename" : "include/control/spgw.p4",
9832 "line" : 357,
9833 "column" : 8,
9834 "source_fragment" : "hdr.outer_gtpu.ex_flag = 1"
9835 }
9836 },
9837 {
9838 "op" : "add_header",
9839 "parameters" : [
9840 {
9841 "type" : "header",
9842 "value" : "outer_gtpu_options"
9843 }
9844 ],
9845 "source_info" : {
9846 "filename" : "include/control/spgw.p4",
9847 "line" : 358,
9848 "column" : 8,
9849 "source_fragment" : "hdr.outer_gtpu_options.setValid()"
9850 }
9851 },
9852 {
9853 "op" : "assign",
9854 "parameters" : [
9855 {
9856 "type" : "field",
9857 "value" : ["outer_gtpu_options", "next_ext"]
9858 },
9859 {
9860 "type" : "hexstr",
9861 "value" : "0x85"
9862 }
9863 ],
9864 "source_info" : {
9865 "filename" : "include/control/spgw.p4",
9866 "line" : 359,
9867 "column" : 8,
9868 "source_fragment" : "hdr.outer_gtpu_options.next_ext = 0x85"
9869 }
9870 },
9871 {
9872 "op" : "add_header",
9873 "parameters" : [
9874 {
9875 "type" : "header",
9876 "value" : "outer_gtpu_ext_psc"
9877 }
9878 ],
9879 "source_info" : {
9880 "filename" : "include/control/spgw.p4",
9881 "line" : 360,
9882 "column" : 8,
9883 "source_fragment" : "hdr.outer_gtpu_ext_psc.setValid()"
9884 }
9885 },
9886 {
9887 "op" : "assign",
9888 "parameters" : [
9889 {
9890 "type" : "field",
9891 "value" : ["outer_gtpu_ext_psc", "type"]
9892 },
9893 {
9894 "type" : "hexstr",
9895 "value" : "0x00"
9896 }
9897 ],
9898 "source_info" : {
9899 "filename" : "include/control/../define.p4",
9900 "line" : 88,
9901 "column" : 36,
9902 "source_fragment" : "4w0; // Downlink ..."
9903 }
9904 },
9905 {
9906 "op" : "assign",
9907 "parameters" : [
9908 {
9909 "type" : "field",
9910 "value" : ["outer_gtpu_ext_psc", "len"]
9911 },
9912 {
9913 "type" : "hexstr",
9914 "value" : "0x01"
9915 }
9916 ],
9917 "source_info" : {
9918 "filename" : "include/control/spgw.p4",
9919 "line" : 362,
9920 "column" : 8,
9921 "source_fragment" : "hdr.outer_gtpu_ext_psc.len = 8w1"
9922 }
9923 },
9924 {
9925 "op" : "assign",
9926 "parameters" : [
9927 {
9928 "type" : "field",
9929 "value" : ["outer_gtpu_ext_psc", "qfi"]
9930 },
9931 {
9932 "type" : "field",
9933 "value" : ["scalars", "userMetadata._spgw_qfi39"]
9934 }
9935 ],
9936 "source_info" : {
9937 "filename" : "include/control/spgw.p4",
9938 "line" : 363,
9939 "column" : 8,
9940 "source_fragment" : "hdr.outer_gtpu_ext_psc.qfi = fabric_md.spgw.qfi; ..."
9941 }
9942 },
9943 {
9944 "op" : "assign",
9945 "parameters" : [
9946 {
9947 "type" : "field",
9948 "value" : ["outer_gtpu_ext_psc", "next_ext"]
9949 },
9950 {
9951 "type" : "hexstr",
9952 "value" : "0x00"
9953 }
9954 ],
9955 "source_info" : {
9956 "filename" : "include/control/spgw.p4",
9957 "line" : 364,
9958 "column" : 8,
9959 "source_fragment" : "hdr.outer_gtpu_ext_psc.next_ext = 0x0"
9960 }
9961 }
9962 ]
9963 },
9964 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009965 "name" : "packetio41",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009966 "id" : 78,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009967 "runtime_data" : [],
9968 "primitives" : [
9969 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009970 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009971 "parameters" : [],
9972 "source_info" : {
9973 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009974 "line" : 41,
9975 "column" : 12,
9976 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009977 }
9978 }
9979 ]
9980 },
9981 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009982 "name" : "packetio44",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009983 "id" : 79,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009984 "runtime_data" : [],
9985 "primitives" : [
9986 {
9987 "op" : "add_header",
9988 "parameters" : [
9989 {
9990 "type" : "header",
9991 "value" : "packet_in"
9992 }
9993 ],
9994 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009995 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009996 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009997 "column" : 12,
9998 "source_fragment" : "hdr.packet_in.setValid()"
9999 }
10000 },
10001 {
10002 "op" : "assign",
10003 "parameters" : [
10004 {
10005 "type" : "field",
10006 "value" : ["packet_in", "ingress_port"]
10007 },
10008 {
10009 "type" : "field",
10010 "value" : ["standard_metadata", "ingress_port"]
10011 }
10012 ],
10013 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020010014 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -070010015 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010016 "column" : 12,
10017 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
10018 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010019 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010020 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010021 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010022 "parameters" : [],
10023 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010024 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -070010025 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010026 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010027 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010028 }
10029 }
10030 ]
10031 },
10032 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010033 "name" : "next283",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010034 "id" : 80,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010035 "runtime_data" : [],
10036 "primitives" : [
10037 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010038 "op" : "mark_to_drop",
10039 "parameters" : [
10040 {
10041 "type" : "header",
10042 "value" : "standard_metadata"
10043 }
10044 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010045 "source_info" : {
10046 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010047 "line" : 283,
10048 "column" : 12,
10049 "source_fragment" : "mark_to_drop(standard_metadata)"
10050 }
10051 }
10052 ]
10053 },
10054 {
10055 "name" : "next310",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010056 "id" : 81,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010057 "runtime_data" : [],
10058 "primitives" : [
10059 {
10060 "op" : "mark_to_drop",
10061 "parameters" : [
10062 {
10063 "type" : "header",
10064 "value" : "standard_metadata"
10065 }
10066 ],
10067 "source_info" : {
10068 "filename" : "include/control/next.p4",
10069 "line" : 310,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010070 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010071 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010072 }
10073 }
10074 ]
10075 },
10076 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010077 "name" : "next309",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010078 "id" : 82,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010079 "runtime_data" : [],
10080 "primitives" : [
10081 {
10082 "op" : "assign",
10083 "parameters" : [
10084 {
10085 "type" : "field",
10086 "value" : ["mpls", "ttl"]
10087 },
10088 {
10089 "type" : "expression",
10090 "value" : {
10091 "type" : "expression",
10092 "value" : {
10093 "op" : "&",
10094 "left" : {
10095 "type" : "expression",
10096 "value" : {
10097 "op" : "+",
10098 "left" : {
10099 "type" : "field",
10100 "value" : ["mpls", "ttl"]
10101 },
10102 "right" : {
10103 "type" : "hexstr",
10104 "value" : "0xff"
10105 }
10106 }
10107 },
10108 "right" : {
10109 "type" : "hexstr",
10110 "value" : "0xff"
10111 }
10112 }
10113 }
10114 }
10115 ],
10116 "source_info" : {
10117 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010118 "line" : 309,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010119 "column" : 12,
10120 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
10121 }
10122 }
10123 ]
10124 },
10125 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010126 "name" : "next314",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010127 "id" : 83,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010128 "runtime_data" : [],
10129 "primitives" : [
10130 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010131 "op" : "mark_to_drop",
10132 "parameters" : [
10133 {
10134 "type" : "header",
10135 "value" : "standard_metadata"
10136 }
10137 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010138 "source_info" : {
10139 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010140 "line" : 314,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010141 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010142 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010143 }
10144 }
10145 ]
10146 },
10147 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010148 "name" : "next313",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010149 "id" : 84,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010150 "runtime_data" : [],
10151 "primitives" : [
10152 {
10153 "op" : "assign",
10154 "parameters" : [
10155 {
10156 "type" : "field",
10157 "value" : ["ipv4", "ttl"]
10158 },
10159 {
10160 "type" : "expression",
10161 "value" : {
10162 "type" : "expression",
10163 "value" : {
10164 "op" : "&",
10165 "left" : {
10166 "type" : "expression",
10167 "value" : {
10168 "op" : "+",
10169 "left" : {
10170 "type" : "field",
10171 "value" : ["ipv4", "ttl"]
10172 },
10173 "right" : {
10174 "type" : "hexstr",
10175 "value" : "0xff"
10176 }
10177 }
10178 },
10179 "right" : {
10180 "type" : "hexstr",
10181 "value" : "0xff"
10182 }
10183 }
10184 }
10185 }
10186 ],
10187 "source_info" : {
10188 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010189 "line" : 313,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010190 "column" : 16,
10191 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
10192 }
10193 }
10194 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010195 },
10196 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010197 "name" : "spgw377",
10198 "id" : 85,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010199 "runtime_data" : [],
10200 "primitives" : [
10201 {
10202 "op" : "count",
10203 "parameters" : [
10204 {
10205 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010206 "value" : "FabricEgress.spgw.pdr_counter"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010207 },
10208 {
10209 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010210 "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010211 }
10212 ],
10213 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010214 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010215 "line" : 377,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010216 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -070010217 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010218 }
10219 }
10220 ]
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010221 },
10222 {
10223 "name" : "slicing155",
10224 "id" : 86,
10225 "runtime_data" : [],
10226 "primitives" : [
10227 {
10228 "op" : "assign",
10229 "parameters" : [
10230 {
10231 "type" : "field",
10232 "value" : ["ipv4", "dscp"]
10233 },
10234 {
10235 "type" : "field",
10236 "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
10237 }
10238 ],
10239 "source_info" : {
10240 "filename" : "include/control/slicing.p4",
10241 "line" : 155,
10242 "column" : 16,
10243 "source_fragment" : "hdr.ipv4.dscp = tmp_dscp"
10244 }
10245 }
10246 ]
10247 },
10248 {
10249 "name" : "slicing159",
10250 "id" : 87,
10251 "runtime_data" : [],
10252 "primitives" : [
10253 {
10254 "op" : "assign",
10255 "parameters" : [
10256 {
10257 "type" : "field",
10258 "value" : ["inner_ipv4", "dscp"]
10259 },
10260 {
10261 "type" : "field",
10262 "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
10263 }
10264 ],
10265 "source_info" : {
10266 "filename" : "include/control/slicing.p4",
10267 "line" : 159,
10268 "column" : 16,
10269 "source_fragment" : "hdr.inner_ipv4.dscp = tmp_dscp"
10270 }
10271 }
10272 ]
10273 },
10274 {
10275 "name" : "slicing126",
10276 "id" : 88,
10277 "runtime_data" : [],
10278 "primitives" : [
10279 {
10280 "op" : "assign",
10281 "parameters" : [
10282 {
10283 "type" : "field",
10284 "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
10285 },
10286 {
10287 "type" : "field",
10288 "value" : ["scalars", "userMetadata._dscp28"]
10289 }
10290 ],
10291 "source_info" : {
10292 "filename" : "include/control/slicing.p4",
10293 "line" : 126,
10294 "column" : 4,
10295 "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp; ..."
10296 }
10297 }
10298 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010299 }
10300 ],
10301 "pipelines" : [
10302 {
10303 "name" : "ingress",
10304 "id" : 0,
10305 "source_info" : {
10306 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010307 "line" : 49,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010308 "column" : 8,
10309 "source_fragment" : "FabricIngress"
10310 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010311 "init_table" : "tbl_lookup_md_init23",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010312 "tables" : [
10313 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010314 "name" : "tbl_lookup_md_init23",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010315 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010316 "source_info" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010317 "filename" : "include/control/lookup_md_init.p4",
10318 "line" : 23,
10319 "column" : 23,
10320 "source_fragment" : "= false; ..."
10321 },
10322 "key" : [],
10323 "match_type" : "exact",
10324 "type" : "simple",
10325 "max_size" : 1024,
10326 "with_counters" : false,
10327 "support_timeout" : false,
10328 "direct_meters" : null,
10329 "action_ids" : [59],
10330 "actions" : ["lookup_md_init23"],
10331 "base_default_next" : "node_3",
10332 "next_tables" : {
10333 "lookup_md_init23" : "node_3"
10334 },
10335 "default_entry" : {
10336 "action_id" : 59,
10337 "action_const" : true,
10338 "action_data" : [],
10339 "action_entry_const" : true
10340 }
10341 },
10342 {
10343 "name" : "tbl_lookup_md_init32",
10344 "id" : 1,
10345 "source_info" : {
10346 "filename" : "include/control/lookup_md_init.p4",
10347 "line" : 32,
10348 "column" : 27,
10349 "source_fragment" : "= true; ..."
10350 },
10351 "key" : [],
10352 "match_type" : "exact",
10353 "type" : "simple",
10354 "max_size" : 1024,
10355 "with_counters" : false,
10356 "support_timeout" : false,
10357 "direct_meters" : null,
10358 "action_ids" : [54],
10359 "actions" : ["lookup_md_init32"],
10360 "base_default_next" : "node_5",
10361 "next_tables" : {
10362 "lookup_md_init32" : "node_5"
10363 },
10364 "default_entry" : {
10365 "action_id" : 54,
10366 "action_const" : true,
10367 "action_data" : [],
10368 "action_entry_const" : true
10369 }
10370 },
10371 {
10372 "name" : "tbl_lookup_md_init37",
10373 "id" : 2,
10374 "source_info" : {
10375 "filename" : "include/control/lookup_md_init.p4",
10376 "line" : 37,
10377 "column" : 32,
10378 "source_fragment" : "= hdr.inner_tcp.sport; ..."
10379 },
10380 "key" : [],
10381 "match_type" : "exact",
10382 "type" : "simple",
10383 "max_size" : 1024,
10384 "with_counters" : false,
10385 "support_timeout" : false,
10386 "direct_meters" : null,
10387 "action_ids" : [51],
10388 "actions" : ["lookup_md_init37"],
10389 "base_default_next" : "node_19",
10390 "next_tables" : {
10391 "lookup_md_init37" : "node_19"
10392 },
10393 "default_entry" : {
10394 "action_id" : 51,
10395 "action_const" : true,
10396 "action_data" : [],
10397 "action_entry_const" : true
10398 }
10399 },
10400 {
10401 "name" : "tbl_lookup_md_init40",
10402 "id" : 3,
10403 "source_info" : {
10404 "filename" : "include/control/lookup_md_init.p4",
10405 "line" : 40,
10406 "column" : 32,
10407 "source_fragment" : "= hdr.inner_udp.sport; ..."
10408 },
10409 "key" : [],
10410 "match_type" : "exact",
10411 "type" : "simple",
10412 "max_size" : 1024,
10413 "with_counters" : false,
10414 "support_timeout" : false,
10415 "direct_meters" : null,
10416 "action_ids" : [52],
10417 "actions" : ["lookup_md_init40"],
10418 "base_default_next" : "node_19",
10419 "next_tables" : {
10420 "lookup_md_init40" : "node_19"
10421 },
10422 "default_entry" : {
10423 "action_id" : 52,
10424 "action_const" : true,
10425 "action_data" : [],
10426 "action_entry_const" : true
10427 }
10428 },
10429 {
10430 "name" : "tbl_lookup_md_init43",
10431 "id" : 4,
10432 "source_info" : {
10433 "filename" : "include/control/lookup_md_init.p4",
10434 "line" : 43,
10435 "column" : 33,
10436 "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
10437 },
10438 "key" : [],
10439 "match_type" : "exact",
10440 "type" : "simple",
10441 "max_size" : 1024,
10442 "with_counters" : false,
10443 "support_timeout" : false,
10444 "direct_meters" : null,
10445 "action_ids" : [53],
10446 "actions" : ["lookup_md_init43"],
10447 "base_default_next" : "node_19",
10448 "next_tables" : {
10449 "lookup_md_init43" : "node_19"
10450 },
10451 "default_entry" : {
10452 "action_id" : 53,
10453 "action_const" : true,
10454 "action_data" : [],
10455 "action_entry_const" : true
10456 }
10457 },
10458 {
10459 "name" : "tbl_lookup_md_init47",
10460 "id" : 5,
10461 "source_info" : {
10462 "filename" : "include/control/lookup_md_init.p4",
10463 "line" : 47,
10464 "column" : 27,
10465 "source_fragment" : "= true; ..."
10466 },
10467 "key" : [],
10468 "match_type" : "exact",
10469 "type" : "simple",
10470 "max_size" : 1024,
10471 "with_counters" : false,
10472 "support_timeout" : false,
10473 "direct_meters" : null,
10474 "action_ids" : [58],
10475 "actions" : ["lookup_md_init47"],
10476 "base_default_next" : "node_13",
10477 "next_tables" : {
10478 "lookup_md_init47" : "node_13"
10479 },
10480 "default_entry" : {
10481 "action_id" : 58,
10482 "action_const" : true,
10483 "action_data" : [],
10484 "action_entry_const" : true
10485 }
10486 },
10487 {
10488 "name" : "tbl_lookup_md_init52",
10489 "id" : 6,
10490 "source_info" : {
10491 "filename" : "include/control/lookup_md_init.p4",
10492 "line" : 52,
10493 "column" : 32,
10494 "source_fragment" : "= hdr.tcp.sport; ..."
10495 },
10496 "key" : [],
10497 "match_type" : "exact",
10498 "type" : "simple",
10499 "max_size" : 1024,
10500 "with_counters" : false,
10501 "support_timeout" : false,
10502 "direct_meters" : null,
10503 "action_ids" : [55],
10504 "actions" : ["lookup_md_init52"],
10505 "base_default_next" : "node_19",
10506 "next_tables" : {
10507 "lookup_md_init52" : "node_19"
10508 },
10509 "default_entry" : {
10510 "action_id" : 55,
10511 "action_const" : true,
10512 "action_data" : [],
10513 "action_entry_const" : true
10514 }
10515 },
10516 {
10517 "name" : "tbl_lookup_md_init55",
10518 "id" : 7,
10519 "source_info" : {
10520 "filename" : "include/control/lookup_md_init.p4",
10521 "line" : 55,
10522 "column" : 32,
10523 "source_fragment" : "= hdr.udp.sport; ..."
10524 },
10525 "key" : [],
10526 "match_type" : "exact",
10527 "type" : "simple",
10528 "max_size" : 1024,
10529 "with_counters" : false,
10530 "support_timeout" : false,
10531 "direct_meters" : null,
10532 "action_ids" : [56],
10533 "actions" : ["lookup_md_init55"],
10534 "base_default_next" : "node_19",
10535 "next_tables" : {
10536 "lookup_md_init55" : "node_19"
10537 },
10538 "default_entry" : {
10539 "action_id" : 56,
10540 "action_const" : true,
10541 "action_data" : [],
10542 "action_entry_const" : true
10543 }
10544 },
10545 {
10546 "name" : "tbl_lookup_md_init58",
10547 "id" : 8,
10548 "source_info" : {
10549 "filename" : "include/control/lookup_md_init.p4",
10550 "line" : 58,
10551 "column" : 33,
10552 "source_fragment" : "= hdr.icmp.icmp_type; ..."
10553 },
10554 "key" : [],
10555 "match_type" : "exact",
10556 "type" : "simple",
10557 "max_size" : 1024,
10558 "with_counters" : false,
10559 "support_timeout" : false,
10560 "direct_meters" : null,
10561 "action_ids" : [57],
10562 "actions" : ["lookup_md_init58"],
10563 "base_default_next" : "node_19",
10564 "next_tables" : {
10565 "lookup_md_init58" : "node_19"
10566 },
10567 "default_entry" : {
10568 "action_id" : 57,
10569 "action_const" : true,
10570 "action_data" : [],
10571 "action_entry_const" : true
10572 }
10573 },
10574 {
10575 "name" : "tbl_packetio25",
10576 "id" : 9,
10577 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -070010578 "filename" : "include/control/packetio.p4",
10579 "line" : 25,
10580 "column" : 42,
10581 "source_fragment" : "= hdr.packet_out.egress_port; ..."
10582 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010583 "key" : [],
10584 "match_type" : "exact",
10585 "type" : "simple",
10586 "max_size" : 1024,
10587 "with_counters" : false,
10588 "support_timeout" : false,
10589 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010590 "action_ids" : [60],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010591 "actions" : ["packetio25"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010592 "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010593 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010594 "packetio25" : "FabricIngress.slice_tc_classifier.classifier"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010595 },
10596 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010597 "action_id" : 60,
Robert MacDavidde12b982020-07-15 18:38:59 -070010598 "action_const" : true,
10599 "action_data" : [],
10600 "action_entry_const" : true
10601 }
10602 },
10603 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010604 "name" : "FabricIngress.slice_tc_classifier.classifier",
10605 "id" : 10,
Robert MacDavidde12b982020-07-15 18:38:59 -070010606 "source_info" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010607 "filename" : "include/control/slicing.p4",
10608 "line" : 49,
Robert MacDavidde12b982020-07-15 18:38:59 -070010609 "column" : 10,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010610 "source_fragment" : "classifier"
Robert MacDavidde12b982020-07-15 18:38:59 -070010611 },
10612 "key" : [
10613 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010614 "match_type" : "ternary",
10615 "name" : "ig_port",
10616 "target" : ["standard_metadata", "ingress_port"],
Robert MacDavidde12b982020-07-15 18:38:59 -070010617 "mask" : null
10618 },
10619 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010620 "match_type" : "ternary",
10621 "name" : "ipv4_src",
10622 "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
10623 "mask" : null
10624 },
10625 {
10626 "match_type" : "ternary",
10627 "name" : "ipv4_dst",
10628 "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
10629 "mask" : null
10630 },
10631 {
10632 "match_type" : "ternary",
10633 "name" : "ip_proto",
10634 "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
10635 "mask" : null
10636 },
10637 {
10638 "match_type" : "ternary",
10639 "name" : "l4_sport",
10640 "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
10641 "mask" : null
10642 },
10643 {
10644 "match_type" : "ternary",
10645 "name" : "l4_dport",
10646 "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
Robert MacDavidde12b982020-07-15 18:38:59 -070010647 "mask" : null
10648 }
10649 ],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010650 "match_type" : "ternary",
Robert MacDavidde12b982020-07-15 18:38:59 -070010651 "type" : "simple",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010652 "max_size" : 512,
10653 "with_counters" : true,
Robert MacDavidde12b982020-07-15 18:38:59 -070010654 "support_timeout" : false,
10655 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010656 "action_ids" : [30, 31],
10657 "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp"],
10658 "base_default_next" : "node_22",
Robert MacDavidde12b982020-07-15 18:38:59 -070010659 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010660 "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "node_22",
10661 "FabricIngress.slice_tc_classifier.trust_dscp" : "node_22"
Robert MacDavidde12b982020-07-15 18:38:59 -070010662 },
10663 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010664 "action_id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -070010665 "action_const" : true,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010666 "action_data" : ["0x0", "0x0"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010667 "action_entry_const" : true
10668 }
10669 },
10670 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010671 "name" : "tbl_filtering113",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010672 "id" : 11,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010673 "source_info" : {
10674 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010675 "line" : 113,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010676 "column" : 36,
10677 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -070010678 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010679 "key" : [],
10680 "match_type" : "exact",
10681 "type" : "simple",
10682 "max_size" : 1024,
10683 "with_counters" : false,
10684 "support_timeout" : false,
10685 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010686 "action_ids" : [61],
Wailok Shumfb7e7872021-06-18 17:30:08 +080010687 "actions" : ["filtering113"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010688 "base_default_next" : "node_24",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010689 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010690 "filtering113" : "node_24"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010691 },
10692 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010693 "action_id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010694 "action_const" : true,
10695 "action_data" : [],
10696 "action_entry_const" : true
10697 }
10698 },
10699 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010700 "name" : "tbl_filtering129",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010701 "id" : 12,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010702 "source_info" : {
10703 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010704 "line" : 129,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010705 "column" : 37,
10706 "source_fragment" : "="
10707 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010708 "key" : [],
10709 "match_type" : "exact",
10710 "type" : "simple",
10711 "max_size" : 1024,
10712 "with_counters" : false,
10713 "support_timeout" : false,
10714 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010715 "action_ids" : [62],
Wailok Shumfb7e7872021-06-18 17:30:08 +080010716 "actions" : ["filtering129"],
Daniele Moro5a2de712019-09-24 14:34:07 -070010717 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010718 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010719 "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010720 },
10721 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010722 "action_id" : 62,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010723 "action_const" : true,
10724 "action_data" : [],
10725 "action_entry_const" : true
10726 }
10727 },
10728 {
Daniele Moro7c3a0022019-07-12 13:38:34 -070010729 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010730 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010731 "source_info" : {
10732 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010733 "line" : 55,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010734 "column" : 10,
10735 "source_fragment" : "ingress_port_vlan"
10736 },
10737 "key" : [
10738 {
10739 "match_type" : "exact",
10740 "name" : "ig_port",
10741 "target" : ["standard_metadata", "ingress_port"],
10742 "mask" : null
10743 },
10744 {
10745 "match_type" : "exact",
10746 "name" : "vlan_is_valid",
10747 "target" : ["vlan_tag", "$valid$"],
10748 "mask" : null
10749 },
10750 {
10751 "match_type" : "ternary",
10752 "name" : "vlan_id",
10753 "target" : ["vlan_tag", "vlan_id"],
10754 "mask" : null
10755 }
10756 ],
10757 "match_type" : "ternary",
10758 "type" : "simple",
10759 "max_size" : 1024,
10760 "with_counters" : true,
10761 "support_timeout" : false,
10762 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010763 "action_ids" : [10, 11, 12],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010764 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
10765 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
10766 "next_tables" : {
10767 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
10768 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
10769 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
10770 },
10771 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010772 "action_id" : 10,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010773 "action_const" : true,
10774 "action_data" : [],
10775 "action_entry_const" : true
10776 }
10777 },
10778 {
10779 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010780 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010781 "source_info" : {
10782 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080010783 "line" : 94,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010784 "column" : 10,
10785 "source_fragment" : "fwd_classifier"
10786 },
10787 "key" : [
10788 {
10789 "match_type" : "exact",
10790 "name" : "ig_port",
10791 "target" : ["standard_metadata", "ingress_port"],
10792 "mask" : null
10793 },
10794 {
10795 "match_type" : "ternary",
10796 "name" : "eth_dst",
10797 "target" : ["ethernet", "dst_addr"],
10798 "mask" : null
10799 },
10800 {
Daniele Moro5a2de712019-09-24 14:34:07 -070010801 "match_type" : "ternary",
10802 "name" : "eth_type",
10803 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -070010804 "mask" : null
10805 },
10806 {
10807 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -070010808 "name" : "ip_eth_type",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010809 "target" : ["scalars", "userMetadata._ip_eth_type8"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010810 "mask" : null
10811 }
10812 ],
10813 "match_type" : "ternary",
10814 "type" : "simple",
10815 "max_size" : 1024,
10816 "with_counters" : true,
10817 "support_timeout" : false,
10818 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080010819 "action_ids" : [13],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010820 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010821 "base_default_next" : "node_28",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010822 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010823 "FabricIngress.filtering.set_forwarding_type" : "node_28"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010824 },
10825 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080010826 "action_id" : 13,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010827 "action_const" : true,
10828 "action_data" : ["0x0"],
10829 "action_entry_const" : true
10830 }
10831 },
10832 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010833 "name" : "FabricIngress.spgw.interfaces",
10834 "id" : 15,
10835 "source_info" : {
10836 "filename" : "include/control/spgw.p4",
10837 "line" : 132,
10838 "column" : 10,
10839 "source_fragment" : "interfaces"
10840 },
10841 "key" : [
10842 {
10843 "match_type" : "lpm",
10844 "name" : "ipv4_dst_addr",
10845 "target" : ["ipv4", "dst_addr"],
10846 "mask" : null
10847 },
10848 {
10849 "match_type" : "exact",
10850 "name" : "gtpu_is_valid",
10851 "target" : ["gtpu", "$valid$"],
10852 "mask" : null
10853 }
10854 ],
10855 "match_type" : "lpm",
10856 "type" : "simple",
10857 "max_size" : 128,
10858 "with_counters" : false,
10859 "support_timeout" : false,
10860 "direct_meters" : null,
10861 "action_ids" : [42, 43],
10862 "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
10863 "base_default_next" : null,
10864 "next_tables" : {
10865 "__HIT__" : "node_30",
10866 "__MISS__" : "node_41"
10867 },
10868 "default_entry" : {
10869 "action_id" : 43,
10870 "action_const" : true,
10871 "action_data" : [],
10872 "action_entry_const" : true
10873 }
10874 },
10875 {
10876 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
10877 "id" : 16,
10878 "source_info" : {
10879 "filename" : "include/control/spgw.p4",
10880 "line" : 77,
10881 "column" : 10,
10882 "source_fragment" : "decap_gtpu"
10883 },
10884 "key" : [
10885 {
10886 "match_type" : "exact",
10887 "name" : "hdr.inner_tcp.$valid$",
10888 "target" : ["inner_tcp", "$valid$"],
10889 "mask" : null
10890 },
10891 {
10892 "match_type" : "exact",
10893 "name" : "hdr.inner_udp.$valid$",
10894 "target" : ["inner_udp", "$valid$"],
10895 "mask" : null
10896 },
10897 {
10898 "match_type" : "exact",
10899 "name" : "hdr.inner_icmp.$valid$",
10900 "target" : ["inner_icmp", "$valid$"],
10901 "mask" : null
10902 }
10903 ],
10904 "match_type" : "exact",
10905 "type" : "simple",
10906 "max_size" : 1024,
10907 "with_counters" : false,
10908 "support_timeout" : false,
10909 "direct_meters" : null,
10910 "action_ids" : [34, 35, 36, 37],
10911 "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"],
10912 "base_default_next" : "node_32",
10913 "next_tables" : {
10914 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_32",
10915 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_32",
10916 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_32",
10917 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_32"
10918 },
10919 "default_entry" : {
10920 "action_id" : 37,
10921 "action_const" : true,
10922 "action_data" : [],
10923 "action_entry_const" : true
10924 },
10925 "entries" : [
10926 {
10927 "source_info" : {
10928 "filename" : "include/control/spgw.p4",
10929 "line" : 91,
10930 "column" : 12,
10931 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
10932 },
10933 "match_key" : [
10934 {
10935 "match_type" : "exact",
10936 "key" : "0x01"
10937 },
10938 {
10939 "match_type" : "exact",
10940 "key" : "0x00"
10941 },
10942 {
10943 "match_type" : "exact",
10944 "key" : "0x00"
10945 }
10946 ],
10947 "action_entry" : {
10948 "action_id" : 34,
10949 "action_data" : []
10950 },
10951 "priority" : 1
10952 },
10953 {
10954 "source_info" : {
10955 "filename" : "include/control/spgw.p4",
10956 "line" : 92,
10957 "column" : 12,
10958 "source_fragment" : "(false, true, false) : decap_inner_udp()"
10959 },
10960 "match_key" : [
10961 {
10962 "match_type" : "exact",
10963 "key" : "0x00"
10964 },
10965 {
10966 "match_type" : "exact",
10967 "key" : "0x01"
10968 },
10969 {
10970 "match_type" : "exact",
10971 "key" : "0x00"
10972 }
10973 ],
10974 "action_entry" : {
10975 "action_id" : 35,
10976 "action_data" : []
10977 },
10978 "priority" : 2
10979 },
10980 {
10981 "source_info" : {
10982 "filename" : "include/control/spgw.p4",
10983 "line" : 93,
10984 "column" : 12,
10985 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
10986 },
10987 "match_key" : [
10988 {
10989 "match_type" : "exact",
10990 "key" : "0x00"
10991 },
10992 {
10993 "match_type" : "exact",
10994 "key" : "0x00"
10995 },
10996 {
10997 "match_type" : "exact",
10998 "key" : "0x01"
10999 }
11000 ],
11001 "action_entry" : {
11002 "action_id" : 36,
11003 "action_data" : []
11004 },
11005 "priority" : 3
11006 }
11007 ]
11008 },
11009 {
11010 "name" : "FabricIngress.spgw.uplink_pdrs",
11011 "id" : 17,
11012 "source_info" : {
11013 "filename" : "include/control/spgw.p4",
11014 "line" : 184,
11015 "column" : 10,
11016 "source_fragment" : "uplink_pdrs"
11017 },
11018 "key" : [
11019 {
11020 "match_type" : "exact",
11021 "name" : "tunnel_ipv4_dst",
11022 "target" : ["ipv4", "dst_addr"],
11023 "mask" : null
11024 },
11025 {
11026 "match_type" : "exact",
11027 "name" : "teid",
11028 "target" : ["gtpu", "teid"],
11029 "mask" : null
11030 },
11031 {
11032 "match_type" : "exact",
11033 "name" : "has_qfi",
11034 "target" : ["gtpu_ext_psc", "$valid$"],
11035 "mask" : null
11036 },
11037 {
11038 "match_type" : "exact",
11039 "name" : "qfi",
11040 "target" : ["scalars", "userMetadata._spgw_qfi39"],
11041 "mask" : null
11042 }
11043 ],
11044 "match_type" : "exact",
11045 "type" : "simple",
11046 "max_size" : 1024,
11047 "with_counters" : false,
11048 "support_timeout" : false,
11049 "direct_meters" : null,
11050 "action_ids" : [45, 47, 9],
11051 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
11052 "base_default_next" : "node_35",
11053 "next_tables" : {
11054 "FabricIngress.spgw.load_pdr" : "node_35",
11055 "FabricIngress.spgw.load_pdr_qos" : "node_35",
11056 "NoAction" : "node_35"
11057 },
11058 "default_entry" : {
11059 "action_id" : 9,
11060 "action_const" : false,
11061 "action_data" : [],
11062 "action_entry_const" : false
11063 }
11064 },
11065 {
11066 "name" : "FabricIngress.spgw.downlink_pdrs",
11067 "id" : 18,
11068 "source_info" : {
11069 "filename" : "include/control/spgw.p4",
11070 "line" : 172,
11071 "column" : 10,
11072 "source_fragment" : "downlink_pdrs"
11073 },
11074 "key" : [
11075 {
11076 "match_type" : "exact",
11077 "name" : "ue_addr",
11078 "target" : ["ipv4", "dst_addr"],
11079 "mask" : null
11080 }
11081 ],
11082 "match_type" : "exact",
11083 "type" : "simple",
11084 "max_size" : 1024,
11085 "with_counters" : false,
11086 "support_timeout" : false,
11087 "direct_meters" : null,
11088 "action_ids" : [44, 46, 8],
11089 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
11090 "base_default_next" : "node_35",
11091 "next_tables" : {
11092 "FabricIngress.spgw.load_pdr" : "node_35",
11093 "FabricIngress.spgw.load_pdr_qos" : "node_35",
11094 "NoAction" : "node_35"
11095 },
11096 "default_entry" : {
11097 "action_id" : 8,
11098 "action_const" : false,
11099 "action_data" : [],
11100 "action_entry_const" : false
11101 }
11102 },
11103 {
11104 "name" : "tbl_spgw277",
11105 "id" : 19,
11106 "source_info" : {
11107 "filename" : "include/control/spgw.p4",
11108 "line" : 277,
11109 "column" : 16,
11110 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
11111 },
11112 "key" : [],
11113 "match_type" : "exact",
11114 "type" : "simple",
11115 "max_size" : 1024,
11116 "with_counters" : false,
11117 "support_timeout" : false,
11118 "direct_meters" : null,
11119 "action_ids" : [63],
11120 "actions" : ["spgw277"],
11121 "base_default_next" : "node_37",
11122 "next_tables" : {
11123 "spgw277" : "node_37"
11124 },
11125 "default_entry" : {
11126 "action_id" : 63,
11127 "action_const" : true,
11128 "action_data" : [],
11129 "action_entry_const" : true
11130 }
11131 },
11132 {
11133 "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
11134 "id" : 20,
11135 "source_info" : {
11136 "filename" : "include/control/spgw.p4",
11137 "line" : 77,
11138 "column" : 10,
11139 "source_fragment" : "decap_gtpu"
11140 },
11141 "key" : [
11142 {
11143 "match_type" : "exact",
11144 "name" : "hdr.inner_tcp.$valid$",
11145 "target" : ["inner_tcp", "$valid$"],
11146 "mask" : null
11147 },
11148 {
11149 "match_type" : "exact",
11150 "name" : "hdr.inner_udp.$valid$",
11151 "target" : ["inner_udp", "$valid$"],
11152 "mask" : null
11153 },
11154 {
11155 "match_type" : "exact",
11156 "name" : "hdr.inner_icmp.$valid$",
11157 "target" : ["inner_icmp", "$valid$"],
11158 "mask" : null
11159 }
11160 ],
11161 "match_type" : "exact",
11162 "type" : "simple",
11163 "max_size" : 1024,
11164 "with_counters" : false,
11165 "support_timeout" : false,
11166 "direct_meters" : null,
11167 "action_ids" : [38, 39, 40, 41],
11168 "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"],
11169 "base_default_next" : "FabricIngress.spgw.fars",
11170 "next_tables" : {
11171 "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
11172 "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
11173 "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
11174 "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
11175 },
11176 "default_entry" : {
11177 "action_id" : 41,
11178 "action_const" : true,
11179 "action_data" : [],
11180 "action_entry_const" : true
11181 },
11182 "entries" : [
11183 {
11184 "source_info" : {
11185 "filename" : "include/control/spgw.p4",
11186 "line" : 91,
11187 "column" : 12,
11188 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
11189 },
11190 "match_key" : [
11191 {
11192 "match_type" : "exact",
11193 "key" : "0x01"
11194 },
11195 {
11196 "match_type" : "exact",
11197 "key" : "0x00"
11198 },
11199 {
11200 "match_type" : "exact",
11201 "key" : "0x00"
11202 }
11203 ],
11204 "action_entry" : {
11205 "action_id" : 38,
11206 "action_data" : []
11207 },
11208 "priority" : 1
11209 },
11210 {
11211 "source_info" : {
11212 "filename" : "include/control/spgw.p4",
11213 "line" : 92,
11214 "column" : 12,
11215 "source_fragment" : "(false, true, false) : decap_inner_udp()"
11216 },
11217 "match_key" : [
11218 {
11219 "match_type" : "exact",
11220 "key" : "0x00"
11221 },
11222 {
11223 "match_type" : "exact",
11224 "key" : "0x01"
11225 },
11226 {
11227 "match_type" : "exact",
11228 "key" : "0x00"
11229 }
11230 ],
11231 "action_entry" : {
11232 "action_id" : 39,
11233 "action_data" : []
11234 },
11235 "priority" : 2
11236 },
11237 {
11238 "source_info" : {
11239 "filename" : "include/control/spgw.p4",
11240 "line" : 93,
11241 "column" : 12,
11242 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
11243 },
11244 "match_key" : [
11245 {
11246 "match_type" : "exact",
11247 "key" : "0x00"
11248 },
11249 {
11250 "match_type" : "exact",
11251 "key" : "0x00"
11252 },
11253 {
11254 "match_type" : "exact",
11255 "key" : "0x01"
11256 }
11257 ],
11258 "action_entry" : {
11259 "action_id" : 40,
11260 "action_data" : []
11261 },
11262 "priority" : 3
11263 }
11264 ]
11265 },
11266 {
11267 "name" : "FabricIngress.spgw.fars",
11268 "id" : 21,
11269 "source_info" : {
11270 "filename" : "include/control/spgw.p4",
11271 "line" : 245,
11272 "column" : 10,
11273 "source_fragment" : "fars"
11274 },
11275 "key" : [
11276 {
11277 "match_type" : "exact",
11278 "name" : "far_id",
11279 "target" : ["scalars", "userMetadata._spgw_far_id37"],
11280 "mask" : null
11281 }
11282 ],
11283 "match_type" : "exact",
11284 "type" : "simple",
11285 "max_size" : 2048,
11286 "with_counters" : false,
11287 "support_timeout" : false,
11288 "direct_meters" : null,
11289 "action_ids" : [48, 49, 50],
11290 "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
11291 "base_default_next" : "tbl_spgw294",
11292 "next_tables" : {
11293 "FabricIngress.spgw.load_normal_far" : "tbl_spgw294",
11294 "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw294",
11295 "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw294"
11296 },
11297 "default_entry" : {
11298 "action_id" : 48,
11299 "action_const" : true,
11300 "action_data" : ["0x1", "0x0"],
11301 "action_entry_const" : true
11302 }
11303 },
11304 {
11305 "name" : "tbl_spgw294",
11306 "id" : 22,
11307 "source_info" : {
11308 "filename" : "include/control/spgw.p4",
11309 "line" : 294,
11310 "column" : 36,
11311 "source_fragment" : "="
11312 },
11313 "key" : [],
11314 "match_type" : "exact",
11315 "type" : "simple",
11316 "max_size" : 1024,
11317 "with_counters" : false,
11318 "support_timeout" : false,
11319 "direct_meters" : null,
11320 "action_ids" : [64],
11321 "actions" : ["spgw294"],
11322 "base_default_next" : "node_41",
11323 "next_tables" : {
11324 "spgw294" : "node_41"
11325 },
11326 "default_entry" : {
11327 "action_id" : 64,
11328 "action_const" : true,
11329 "action_data" : [],
11330 "action_entry_const" : true
11331 }
11332 },
11333 {
Yi Tseng27b9bc02018-04-12 14:52:40 +080011334 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011335 "id" : 23,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011336 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020011337 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -070011338 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011339 "column" : 10,
11340 "source_fragment" : "bridging"
11341 },
11342 "key" : [
11343 {
11344 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011345 "name" : "vlan_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011346 "target" : ["scalars", "userMetadata._vlan_id9"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011347 "mask" : null
11348 },
11349 {
11350 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011351 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011352 "target" : ["ethernet", "dst_addr"],
11353 "mask" : null
11354 }
11355 ],
11356 "match_type" : "ternary",
11357 "type" : "simple",
11358 "max_size" : 1024,
11359 "with_counters" : true,
11360 "support_timeout" : false,
11361 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080011362 "action_ids" : [14, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011363 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011364 "base_default_next" : "node_48",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011365 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011366 "FabricIngress.forwarding.set_next_id_bridging" : "node_48",
11367 "nop" : "node_48"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011368 },
11369 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070011370 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011371 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011372 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011373 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011374 }
11375 },
11376 {
Yi Tseng27b9bc02018-04-12 14:52:40 +080011377 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011378 "id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011379 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020011380 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -070011381 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011382 "column" : 10,
11383 "source_fragment" : "mpls"
11384 },
11385 "key" : [
11386 {
11387 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011388 "name" : "mpls_label",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011389 "target" : ["scalars", "userMetadata._mpls_label12"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011390 "mask" : null
11391 }
11392 ],
11393 "match_type" : "exact",
11394 "type" : "simple",
11395 "max_size" : 1024,
11396 "with_counters" : true,
11397 "support_timeout" : false,
11398 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080011399 "action_ids" : [15, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011400 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011401 "base_default_next" : "node_48",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011402 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011403 "FabricIngress.forwarding.pop_mpls_and_next" : "node_48",
11404 "nop" : "node_48"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011405 },
11406 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070011407 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011408 "action_const" : true,
11409 "action_data" : [],
11410 "action_entry_const" : true
11411 }
11412 },
11413 {
Charles Chan384aea22018-08-23 22:08:02 -070011414 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011415 "id" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011416 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020011417 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -070011418 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011419 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070011420 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011421 },
11422 "key" : [
11423 {
11424 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011425 "name" : "ipv4_dst",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011426 "target" : ["scalars", "userMetadata._ipv4_dst_addr24"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011427 "mask" : null
11428 }
11429 ],
11430 "match_type" : "lpm",
11431 "type" : "simple",
11432 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -070011433 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011434 "support_timeout" : false,
11435 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080011436 "action_ids" : [16, 17, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011437 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011438 "base_default_next" : "node_48",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011439 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011440 "FabricIngress.forwarding.set_next_id_routing_v4" : "node_48",
11441 "FabricIngress.forwarding.nop_routing_v4" : "node_48",
11442 "nop" : "node_48"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011443 },
11444 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070011445 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +080011446 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011447 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +080011448 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011449 }
11450 },
11451 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080011452 "name" : "FabricIngress.pre_next.next_mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011453 "id" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011454 "source_info" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080011455 "filename" : "include/control/pre_next.p4",
11456 "line" : 36,
11457 "column" : 10,
11458 "source_fragment" : "next_mpls"
11459 },
11460 "key" : [
11461 {
11462 "match_type" : "exact",
11463 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011464 "target" : ["scalars", "userMetadata._next_id17"],
Wailok Shumfb7e7872021-06-18 17:30:08 +080011465 "mask" : null
11466 }
11467 ],
11468 "match_type" : "exact",
11469 "type" : "simple",
11470 "max_size" : 1024,
11471 "with_counters" : true,
11472 "support_timeout" : false,
11473 "direct_meters" : null,
11474 "action_ids" : [18, 3],
11475 "actions" : ["FabricIngress.pre_next.set_mpls_label", "nop"],
11476 "base_default_next" : "FabricIngress.pre_next.next_vlan",
11477 "next_tables" : {
11478 "FabricIngress.pre_next.set_mpls_label" : "FabricIngress.pre_next.next_vlan",
11479 "nop" : "FabricIngress.pre_next.next_vlan"
11480 },
11481 "default_entry" : {
11482 "action_id" : 3,
11483 "action_const" : true,
11484 "action_data" : [],
11485 "action_entry_const" : true
11486 }
11487 },
11488 {
11489 "name" : "FabricIngress.pre_next.next_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011490 "id" : 27,
Wailok Shumfb7e7872021-06-18 17:30:08 +080011491 "source_info" : {
11492 "filename" : "include/control/pre_next.p4",
11493 "line" : 73,
11494 "column" : 10,
11495 "source_fragment" : "next_vlan"
11496 },
11497 "key" : [
11498 {
11499 "match_type" : "exact",
11500 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011501 "target" : ["scalars", "userMetadata._next_id17"],
Wailok Shumfb7e7872021-06-18 17:30:08 +080011502 "mask" : null
11503 }
11504 ],
11505 "match_type" : "exact",
11506 "type" : "simple",
11507 "max_size" : 1024,
11508 "with_counters" : true,
11509 "support_timeout" : false,
11510 "direct_meters" : null,
11511 "action_ids" : [19, 4],
11512 "actions" : ["FabricIngress.pre_next.set_vlan", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011513 "base_default_next" : "FabricIngress.acl.acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +080011514 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011515 "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
11516 "nop" : "FabricIngress.acl.acl"
Wailok Shumfb7e7872021-06-18 17:30:08 +080011517 },
11518 "default_entry" : {
11519 "action_id" : 4,
11520 "action_const" : true,
11521 "action_data" : [],
11522 "action_entry_const" : true
11523 }
11524 },
11525 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080011526 "name" : "FabricIngress.acl.acl",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011527 "id" : 28,
Wailok Shum4f51bde2021-06-11 22:48:41 +080011528 "source_info" : {
11529 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011530 "line" : 59,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011531 "column" : 10,
11532 "source_fragment" : "acl"
11533 },
11534 "key" : [
11535 {
11536 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011537 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011538 "target" : ["standard_metadata", "ingress_port"],
11539 "mask" : null
11540 },
11541 {
11542 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -080011543 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011544 "target" : ["ethernet", "dst_addr"],
11545 "mask" : null
11546 },
11547 {
11548 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -080011549 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011550 "target" : ["ethernet", "src_addr"],
11551 "mask" : null
11552 },
11553 {
11554 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011555 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011556 "target" : ["vlan_tag", "vlan_id"],
11557 "mask" : null
11558 },
11559 {
11560 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011561 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -070011562 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +080011563 "mask" : null
11564 },
11565 {
11566 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011567 "name" : "ipv4_src",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011568 "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011569 "mask" : null
11570 },
11571 {
11572 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011573 "name" : "ipv4_dst",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011574 "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
Wailok Shum4f51bde2021-06-11 22:48:41 +080011575 "mask" : null
11576 },
11577 {
11578 "match_type" : "ternary",
11579 "name" : "ip_proto",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011580 "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011581 "mask" : null
11582 },
11583 {
11584 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011585 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011586 "target" : ["icmp", "icmp_type"],
11587 "mask" : null
11588 },
11589 {
11590 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011591 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011592 "target" : ["icmp", "icmp_code"],
11593 "mask" : null
Wailok Shum4f51bde2021-06-11 22:48:41 +080011594 },
11595 {
11596 "match_type" : "ternary",
11597 "name" : "l4_sport",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011598 "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
Wailok Shum4f51bde2021-06-11 22:48:41 +080011599 "mask" : null
11600 },
11601 {
11602 "match_type" : "ternary",
11603 "name" : "l4_dport",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011604 "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
Wailok Shum4f51bde2021-06-11 22:48:41 +080011605 "mask" : null
Wailok Shumfb7e7872021-06-18 17:30:08 +080011606 },
11607 {
11608 "match_type" : "ternary",
11609 "name" : "port_type",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011610 "target" : ["scalars", "userMetadata._port_type46"],
Wailok Shumfb7e7872021-06-18 17:30:08 +080011611 "mask" : null
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011612 }
11613 ],
11614 "match_type" : "ternary",
11615 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -070011616 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011617 "with_counters" : true,
11618 "support_timeout" : false,
11619 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080011620 "action_ids" : [20, 21, 22, 23, 24],
Daniele Moro01ca2ab2019-06-25 11:48:48 -070011621 "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"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011622 "base_default_next" : "node_52",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011623 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011624 "FabricIngress.acl.set_next_id_acl" : "node_52",
11625 "FabricIngress.acl.punt_to_cpu" : "node_52",
11626 "FabricIngress.acl.set_clone_session_id" : "node_52",
11627 "FabricIngress.acl.drop" : "node_52",
11628 "FabricIngress.acl.nop_acl" : "node_52"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011629 },
11630 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080011631 "action_id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011632 "action_const" : true,
11633 "action_data" : [],
11634 "action_entry_const" : true
11635 }
11636 },
11637 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011638 "name" : "FabricIngress.next.xconnect",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011639 "id" : 29,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011640 "source_info" : {
11641 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080011642 "line" : 68,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011643 "column" : 10,
11644 "source_fragment" : "xconnect"
11645 },
11646 "key" : [
11647 {
11648 "match_type" : "exact",
11649 "name" : "ig_port",
11650 "target" : ["standard_metadata", "ingress_port"],
11651 "mask" : null
11652 },
11653 {
11654 "match_type" : "exact",
11655 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011656 "target" : ["scalars", "userMetadata._next_id17"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011657 "mask" : null
11658 }
11659 ],
11660 "match_type" : "exact",
11661 "type" : "simple",
11662 "max_size" : 1024,
11663 "with_counters" : true,
11664 "support_timeout" : false,
11665 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080011666 "action_ids" : [25, 26, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011667 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
11668 "base_default_next" : "FabricIngress.next.hashed",
11669 "next_tables" : {
11670 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
11671 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
11672 "nop" : "FabricIngress.next.hashed"
11673 },
11674 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080011675 "action_id" : 5,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011676 "action_const" : true,
11677 "action_data" : [],
11678 "action_entry_const" : true
11679 }
11680 },
11681 {
11682 "name" : "FabricIngress.next.hashed",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011683 "id" : 30,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011684 "source_info" : {
11685 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080011686 "line" : 138,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011687 "column" : 10,
11688 "source_fragment" : "hashed"
11689 },
11690 "key" : [
11691 {
11692 "match_type" : "exact",
11693 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011694 "target" : ["scalars", "userMetadata._next_id17"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011695 "mask" : null
11696 }
11697 ],
11698 "match_type" : "exact",
11699 "type" : "indirect_ws",
11700 "action_profile" : "FabricIngress.next.hashed_selector",
11701 "max_size" : 1024,
11702 "with_counters" : true,
11703 "support_timeout" : false,
11704 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080011705 "action_ids" : [27, 28, 6],
11706 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "nop"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011707 "base_default_next" : "FabricIngress.next.multicast",
11708 "next_tables" : {
11709 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
11710 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011711 "nop" : "FabricIngress.next.multicast"
11712 }
11713 },
11714 {
11715 "name" : "FabricIngress.next.multicast",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011716 "id" : 31,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011717 "source_info" : {
11718 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080011719 "line" : 171,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011720 "column" : 10,
11721 "source_fragment" : "multicast"
11722 },
11723 "key" : [
11724 {
11725 "match_type" : "exact",
11726 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011727 "target" : ["scalars", "userMetadata._next_id17"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011728 "mask" : null
11729 }
11730 ],
11731 "match_type" : "exact",
11732 "type" : "simple",
11733 "max_size" : 1024,
11734 "with_counters" : true,
11735 "support_timeout" : false,
11736 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +080011737 "action_ids" : [29, 7],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011738 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011739 "base_default_next" : "node_56",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011740 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011741 "FabricIngress.next.set_mcast_group_id" : "node_56",
11742 "nop" : "node_56"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011743 },
11744 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +080011745 "action_id" : 7,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011746 "action_const" : true,
11747 "action_data" : [],
11748 "action_entry_const" : true
11749 }
11750 },
11751 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020011752 "name" : "tbl_port_counter31",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011753 "id" : 32,
Carmelo Cascone3032b872019-04-13 01:23:54 -070011754 "source_info" : {
11755 "filename" : "include/control/port_counter.p4",
11756 "line" : 31,
11757 "column" : 12,
11758 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
11759 },
Carmelo Casconea5400af2018-07-17 22:11:54 +020011760 "key" : [],
11761 "match_type" : "exact",
11762 "type" : "simple",
11763 "max_size" : 1024,
11764 "with_counters" : false,
11765 "support_timeout" : false,
11766 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011767 "action_ids" : [65],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020011768 "actions" : ["port_counter31"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011769 "base_default_next" : "node_58",
Carmelo Casconea5400af2018-07-17 22:11:54 +020011770 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011771 "port_counter31" : "node_58"
Carmelo Casconea5400af2018-07-17 22:11:54 +020011772 },
11773 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011774 "action_id" : 65,
Carmelo Casconea5400af2018-07-17 22:11:54 +020011775 "action_const" : true,
11776 "action_data" : [],
11777 "action_entry_const" : true
11778 }
11779 },
11780 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020011781 "name" : "tbl_port_counter34",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011782 "id" : 33,
Carmelo Cascone3032b872019-04-13 01:23:54 -070011783 "source_info" : {
11784 "filename" : "include/control/port_counter.p4",
11785 "line" : 34,
11786 "column" : 12,
11787 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
11788 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +080011789 "key" : [],
11790 "match_type" : "exact",
11791 "type" : "simple",
11792 "max_size" : 1024,
11793 "with_counters" : false,
11794 "support_timeout" : false,
11795 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011796 "action_ids" : [66],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020011797 "actions" : ["port_counter34"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011798 "base_default_next" : "tbl_slicing114",
Yi Tseng27b9bc02018-04-12 14:52:40 +080011799 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011800 "port_counter34" : "tbl_slicing114"
Carmelo Casconea5400af2018-07-17 22:11:54 +020011801 },
11802 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011803 "action_id" : 66,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011804 "action_const" : true,
11805 "action_data" : [],
11806 "action_entry_const" : true
11807 }
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011808 },
11809 {
11810 "name" : "tbl_slicing114",
11811 "id" : 34,
11812 "source_info" : {
11813 "filename" : "include/control/slicing.p4",
11814 "line" : 114,
11815 "column" : 8,
11816 "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color); ..."
11817 },
11818 "key" : [],
11819 "match_type" : "exact",
11820 "type" : "simple",
11821 "max_size" : 1024,
11822 "with_counters" : false,
11823 "support_timeout" : false,
11824 "direct_meters" : null,
11825 "action_ids" : [67],
11826 "actions" : ["slicing114"],
11827 "base_default_next" : "FabricIngress.qos.queues",
11828 "next_tables" : {
11829 "slicing114" : "FabricIngress.qos.queues"
11830 },
11831 "default_entry" : {
11832 "action_id" : 67,
11833 "action_const" : true,
11834 "action_data" : [],
11835 "action_entry_const" : true
11836 }
11837 },
11838 {
11839 "name" : "FabricIngress.qos.queues",
11840 "id" : 35,
11841 "source_info" : {
11842 "filename" : "include/control/slicing.p4",
11843 "line" : 93,
11844 "column" : 10,
11845 "source_fragment" : "queues"
11846 },
11847 "key" : [
11848 {
11849 "match_type" : "exact",
11850 "name" : "slice_id",
11851 "target" : ["scalars", "userMetadata._slice_id25"],
11852 "mask" : null
11853 },
11854 {
11855 "match_type" : "exact",
11856 "name" : "tc",
11857 "target" : ["scalars", "userMetadata._tc27"],
11858 "mask" : null
11859 },
11860 {
11861 "match_type" : "ternary",
11862 "name" : "color",
11863 "target" : ["scalars", "userMetadata._packet_color26"],
11864 "mask" : null
11865 }
11866 ],
11867 "match_type" : "ternary",
11868 "type" : "simple",
11869 "max_size" : 128,
11870 "with_counters" : true,
11871 "support_timeout" : false,
11872 "direct_meters" : null,
11873 "action_ids" : [32, 33],
11874 "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
11875 "base_default_next" : null,
11876 "next_tables" : {
11877 "FabricIngress.qos.set_queue" : null,
11878 "FabricIngress.qos.meter_drop" : null
11879 },
11880 "default_entry" : {
11881 "action_id" : 32,
11882 "action_const" : true,
11883 "action_data" : ["0x0"],
11884 "action_entry_const" : true
11885 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011886 }
11887 ],
11888 "action_profiles" : [
11889 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011890 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011891 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070011892 "source_info" : {
11893 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080011894 "line" : 125,
Carmelo Cascone70e816b2019-03-19 16:15:47 -070011895 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080011896 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070011897 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -070011898 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011899 "selector" : {
11900 "algo" : "crc16",
11901 "input" : [
11902 {
11903 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011904 "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011905 },
11906 {
11907 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011908 "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011909 },
11910 {
11911 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011912 "value" : ["scalars", "userMetadata._ip_proto20"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011913 },
11914 {
11915 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011916 "value" : ["scalars", "userMetadata._l4_sport21"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011917 },
11918 {
11919 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011920 "value" : ["scalars", "userMetadata._l4_dport22"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011921 }
11922 ]
11923 }
11924 }
11925 ],
11926 "conditionals" : [
11927 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011928 "name" : "node_3",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080011929 "id" : 0,
11930 "source_info" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020011931 "filename" : "include/control/lookup_md_init.p4",
11932 "line" : 31,
11933 "column" : 12,
11934 "source_fragment" : "hdr.inner_ipv4.isValid()"
11935 },
11936 "expression" : {
11937 "type" : "expression",
11938 "value" : {
11939 "op" : "d2b",
11940 "left" : null,
11941 "right" : {
11942 "type" : "field",
11943 "value" : ["inner_ipv4", "$valid$"]
11944 }
11945 }
11946 },
11947 "true_next" : "tbl_lookup_md_init32",
11948 "false_next" : "node_11"
11949 },
11950 {
11951 "name" : "node_5",
11952 "id" : 1,
11953 "source_info" : {
11954 "filename" : "include/control/lookup_md_init.p4",
11955 "line" : 36,
11956 "column" : 16,
11957 "source_fragment" : "hdr.inner_tcp.isValid()"
11958 },
11959 "expression" : {
11960 "type" : "expression",
11961 "value" : {
11962 "op" : "d2b",
11963 "left" : null,
11964 "right" : {
11965 "type" : "field",
11966 "value" : ["inner_tcp", "$valid$"]
11967 }
11968 }
11969 },
11970 "true_next" : "tbl_lookup_md_init37",
11971 "false_next" : "node_7"
11972 },
11973 {
11974 "name" : "node_7",
11975 "id" : 2,
11976 "source_info" : {
11977 "filename" : "include/control/lookup_md_init.p4",
11978 "line" : 39,
11979 "column" : 23,
11980 "source_fragment" : "hdr.inner_udp.isValid()"
11981 },
11982 "expression" : {
11983 "type" : "expression",
11984 "value" : {
11985 "op" : "d2b",
11986 "left" : null,
11987 "right" : {
11988 "type" : "field",
11989 "value" : ["inner_udp", "$valid$"]
11990 }
11991 }
11992 },
11993 "true_next" : "tbl_lookup_md_init40",
11994 "false_next" : "node_9"
11995 },
11996 {
11997 "name" : "node_9",
11998 "id" : 3,
11999 "source_info" : {
12000 "filename" : "include/control/lookup_md_init.p4",
12001 "line" : 42,
12002 "column" : 23,
12003 "source_fragment" : "hdr.inner_icmp.isValid()"
12004 },
12005 "expression" : {
12006 "type" : "expression",
12007 "value" : {
12008 "op" : "d2b",
12009 "left" : null,
12010 "right" : {
12011 "type" : "field",
12012 "value" : ["inner_icmp", "$valid$"]
12013 }
12014 }
12015 },
12016 "true_next" : "tbl_lookup_md_init43",
12017 "false_next" : "node_19"
12018 },
12019 {
12020 "name" : "node_11",
12021 "id" : 4,
12022 "source_info" : {
12023 "filename" : "include/control/lookup_md_init.p4",
12024 "line" : 46,
12025 "column" : 19,
12026 "source_fragment" : "hdr.ipv4.isValid()"
12027 },
12028 "expression" : {
12029 "type" : "expression",
12030 "value" : {
12031 "op" : "d2b",
12032 "left" : null,
12033 "right" : {
12034 "type" : "field",
12035 "value" : ["ipv4", "$valid$"]
12036 }
12037 }
12038 },
12039 "true_next" : "tbl_lookup_md_init47",
12040 "false_next" : "node_19"
12041 },
12042 {
12043 "name" : "node_13",
12044 "id" : 5,
12045 "source_info" : {
12046 "filename" : "include/control/lookup_md_init.p4",
12047 "line" : 51,
12048 "column" : 16,
12049 "source_fragment" : "hdr.tcp.isValid()"
12050 },
12051 "expression" : {
12052 "type" : "expression",
12053 "value" : {
12054 "op" : "d2b",
12055 "left" : null,
12056 "right" : {
12057 "type" : "field",
12058 "value" : ["tcp", "$valid$"]
12059 }
12060 }
12061 },
12062 "true_next" : "tbl_lookup_md_init52",
12063 "false_next" : "node_15"
12064 },
12065 {
12066 "name" : "node_15",
12067 "id" : 6,
12068 "source_info" : {
12069 "filename" : "include/control/lookup_md_init.p4",
12070 "line" : 54,
12071 "column" : 23,
12072 "source_fragment" : "hdr.udp.isValid()"
12073 },
12074 "expression" : {
12075 "type" : "expression",
12076 "value" : {
12077 "op" : "d2b",
12078 "left" : null,
12079 "right" : {
12080 "type" : "field",
12081 "value" : ["udp", "$valid$"]
12082 }
12083 }
12084 },
12085 "true_next" : "tbl_lookup_md_init55",
12086 "false_next" : "node_17"
12087 },
12088 {
12089 "name" : "node_17",
12090 "id" : 7,
12091 "source_info" : {
12092 "filename" : "include/control/lookup_md_init.p4",
12093 "line" : 57,
12094 "column" : 23,
12095 "source_fragment" : "hdr.icmp.isValid()"
12096 },
12097 "expression" : {
12098 "type" : "expression",
12099 "value" : {
12100 "op" : "d2b",
12101 "left" : null,
12102 "right" : {
12103 "type" : "field",
12104 "value" : ["icmp", "$valid$"]
12105 }
12106 }
12107 },
12108 "true_next" : "tbl_lookup_md_init58",
12109 "false_next" : "node_19"
12110 },
12111 {
12112 "name" : "node_19",
12113 "id" : 8,
12114 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020012115 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012116 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012117 "column" : 12,
12118 "source_fragment" : "hdr.packet_out.isValid()"
12119 },
12120 "expression" : {
12121 "type" : "expression",
12122 "value" : {
12123 "op" : "d2b",
12124 "left" : null,
12125 "right" : {
12126 "type" : "field",
12127 "value" : ["packet_out", "$valid$"]
12128 }
12129 }
12130 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012131 "true_next" : "tbl_packetio25",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012132 "false_next" : "FabricIngress.slice_tc_classifier.classifier"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012133 },
12134 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012135 "name" : "node_22",
12136 "id" : 9,
Robert MacDavidde12b982020-07-15 18:38:59 -070012137 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012138 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012139 "line" : 112,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012140 "column" : 12,
12141 "source_fragment" : "hdr.vlan_tag.isValid()"
12142 },
12143 "expression" : {
12144 "type" : "expression",
12145 "value" : {
12146 "op" : "d2b",
12147 "left" : null,
12148 "right" : {
12149 "type" : "field",
12150 "value" : ["vlan_tag", "$valid$"]
12151 }
12152 }
12153 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080012154 "true_next" : "tbl_filtering113",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012155 "false_next" : "node_24"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012156 },
12157 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012158 "name" : "node_24",
12159 "id" : 10,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012160 "source_info" : {
12161 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012162 "line" : 124,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012163 "column" : 12,
12164 "source_fragment" : "!hdr.mpls.isValid()"
12165 },
12166 "expression" : {
12167 "type" : "expression",
12168 "value" : {
12169 "op" : "not",
12170 "left" : null,
12171 "right" : {
12172 "type" : "expression",
12173 "value" : {
12174 "op" : "d2b",
12175 "left" : null,
12176 "right" : {
12177 "type" : "field",
12178 "value" : ["mpls", "$valid$"]
12179 }
12180 }
12181 }
12182 }
12183 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080012184 "true_next" : "tbl_filtering129",
Daniele Moro5a2de712019-09-24 14:34:07 -070012185 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012186 },
12187 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012188 "name" : "node_28",
12189 "id" : 11,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040012190 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012191 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012192 "line" : 76,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012193 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012194 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012195 },
12196 "expression" : {
12197 "type" : "expression",
12198 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012199 "op" : "not",
12200 "left" : null,
12201 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012202 "type" : "expression",
12203 "value" : {
12204 "op" : "d2b",
12205 "left" : null,
12206 "right" : {
12207 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012208 "value" : ["scalars", "userMetadata._skip_forwarding14"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012209 }
12210 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012211 }
12212 }
12213 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012214 "true_next" : "FabricIngress.spgw.interfaces",
12215 "false_next" : "node_41"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012216 },
12217 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012218 "name" : "node_30",
12219 "id" : 12,
12220 "source_info" : {
12221 "filename" : "include/control/spgw.p4",
12222 "line" : 267,
12223 "column" : 16,
12224 "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
12225 },
12226 "expression" : {
12227 "type" : "expression",
12228 "value" : {
12229 "op" : "==",
12230 "left" : {
12231 "type" : "field",
12232 "value" : ["scalars", "userMetadata._spgw_src_iface38"]
12233 },
12234 "right" : {
12235 "type" : "hexstr",
12236 "value" : "0x03"
12237 }
12238 }
12239 },
12240 "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
12241 "false_next" : "node_32"
12242 },
12243 {
12244 "name" : "node_32",
12245 "id" : 13,
12246 "source_info" : {
12247 "filename" : "include/control/spgw.p4",
12248 "line" : 271,
12249 "column" : 16,
12250 "source_fragment" : "hdr.gtpu.isValid()"
12251 },
12252 "expression" : {
12253 "type" : "expression",
12254 "value" : {
12255 "op" : "d2b",
12256 "left" : null,
12257 "right" : {
12258 "type" : "field",
12259 "value" : ["gtpu", "$valid$"]
12260 }
12261 }
12262 },
12263 "true_next" : "FabricIngress.spgw.uplink_pdrs",
12264 "false_next" : "FabricIngress.spgw.downlink_pdrs"
12265 },
12266 {
12267 "name" : "node_35",
12268 "id" : 14,
12269 "source_info" : {
12270 "filename" : "include/control/spgw.p4",
12271 "line" : 276,
12272 "column" : 16,
12273 "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
12274 },
12275 "expression" : {
12276 "type" : "expression",
12277 "value" : {
12278 "op" : "!=",
12279 "left" : {
12280 "type" : "field",
12281 "value" : ["scalars", "userMetadata._spgw_src_iface38"]
12282 },
12283 "right" : {
12284 "type" : "hexstr",
12285 "value" : "0x03"
12286 }
12287 }
12288 },
12289 "true_next" : "tbl_spgw277",
12290 "false_next" : "node_37"
12291 },
12292 {
12293 "name" : "node_37",
12294 "id" : 15,
12295 "source_info" : {
12296 "filename" : "fabric.p4",
12297 "line" : 77,
12298 "column" : 28,
12299 "source_fragment" : "fabric_metadata"
12300 },
12301 "expression" : {
12302 "type" : "expression",
12303 "value" : {
12304 "op" : "d2b",
12305 "left" : null,
12306 "right" : {
12307 "type" : "field",
12308 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
12309 }
12310 }
12311 },
12312 "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
12313 "false_next" : "FabricIngress.spgw.fars"
12314 },
12315 {
12316 "name" : "node_41",
12317 "id" : 16,
12318 "source_info" : {
12319 "filename" : "fabric.p4",
12320 "line" : 80,
12321 "column" : 12,
12322 "source_fragment" : "fabric_metadata.skip_forwarding"
12323 },
12324 "expression" : {
12325 "type" : "expression",
12326 "value" : {
12327 "op" : "not",
12328 "left" : null,
12329 "right" : {
12330 "type" : "expression",
12331 "value" : {
12332 "op" : "d2b",
12333 "left" : null,
12334 "right" : {
12335 "type" : "field",
12336 "value" : ["scalars", "userMetadata._skip_forwarding14"]
12337 }
12338 }
12339 }
12340 }
12341 },
12342 "true_next" : "node_42",
12343 "false_next" : "node_48"
12344 },
12345 {
12346 "name" : "node_42",
12347 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012348 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020012349 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -070012350 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012351 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012352 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
12353 },
12354 "expression" : {
12355 "type" : "expression",
12356 "value" : {
12357 "op" : "==",
12358 "left" : {
12359 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012360 "value" : ["scalars", "userMetadata._fwd_type16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012361 },
12362 "right" : {
12363 "type" : "hexstr",
12364 "value" : "0x00"
12365 }
12366 }
12367 },
Yi Tseng27b9bc02018-04-12 14:52:40 +080012368 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012369 "false_next" : "node_44"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012370 },
12371 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012372 "name" : "node_44",
12373 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012374 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020012375 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -070012376 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012377 "column" : 17,
12378 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
12379 },
12380 "expression" : {
12381 "type" : "expression",
12382 "value" : {
12383 "op" : "==",
12384 "left" : {
12385 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012386 "value" : ["scalars", "userMetadata._fwd_type16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012387 },
12388 "right" : {
12389 "type" : "hexstr",
12390 "value" : "0x01"
12391 }
12392 }
12393 },
Yi Tseng27b9bc02018-04-12 14:52:40 +080012394 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012395 "false_next" : "node_46"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012396 },
12397 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012398 "name" : "node_46",
12399 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012400 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020012401 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -070012402 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012403 "column" : 17,
12404 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
12405 },
12406 "expression" : {
12407 "type" : "expression",
12408 "value" : {
12409 "op" : "==",
12410 "left" : {
12411 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012412 "value" : ["scalars", "userMetadata._fwd_type16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012413 },
12414 "right" : {
12415 "type" : "hexstr",
12416 "value" : "0x02"
12417 }
12418 }
12419 },
Charles Chan384aea22018-08-23 22:08:02 -070012420 "true_next" : "FabricIngress.forwarding.routing_v4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012421 "false_next" : "node_48"
Wailok Shumfb7e7872021-06-18 17:30:08 +080012422 },
12423 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012424 "name" : "node_48",
12425 "id" : 20,
Wailok Shumfb7e7872021-06-18 17:30:08 +080012426 "source_info" : {
12427 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012428 "line" : 83,
Wailok Shumfb7e7872021-06-18 17:30:08 +080012429 "column" : 12,
12430 "source_fragment" : "fabric_metadata.skip_next"
12431 },
12432 "expression" : {
12433 "type" : "expression",
12434 "value" : {
12435 "op" : "not",
12436 "left" : null,
12437 "right" : {
12438 "type" : "expression",
12439 "value" : {
12440 "op" : "d2b",
12441 "left" : null,
12442 "right" : {
12443 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012444 "value" : ["scalars", "userMetadata._skip_next15"]
Wailok Shumfb7e7872021-06-18 17:30:08 +080012445 }
12446 }
12447 }
12448 }
12449 },
12450 "true_next" : "FabricIngress.pre_next.next_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +080012451 "false_next" : "FabricIngress.acl.acl"
12452 },
12453 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012454 "name" : "node_52",
12455 "id" : 21,
Wailok Shum4f51bde2021-06-11 22:48:41 +080012456 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012457 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012458 "line" : 87,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012459 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012460 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012461 },
12462 "expression" : {
12463 "type" : "expression",
12464 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012465 "op" : "not",
12466 "left" : null,
12467 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012468 "type" : "expression",
12469 "value" : {
12470 "op" : "d2b",
12471 "left" : null,
12472 "right" : {
12473 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012474 "value" : ["scalars", "userMetadata._skip_next15"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012475 }
12476 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012477 }
12478 }
12479 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012480 "true_next" : "FabricIngress.next.xconnect",
12481 "false_next" : "tbl_slicing114"
Yi Tseng27b9bc02018-04-12 14:52:40 +080012482 },
12483 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012484 "name" : "node_56",
12485 "id" : 22,
Yi Tseng27b9bc02018-04-12 14:52:40 +080012486 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020012487 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012488 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012489 "column" : 12,
12490 "source_fragment" : "standard_metadata.egress_spec < 511"
12491 },
12492 "expression" : {
12493 "type" : "expression",
12494 "value" : {
12495 "op" : "<",
12496 "left" : {
12497 "type" : "field",
12498 "value" : ["standard_metadata", "egress_spec"]
12499 },
12500 "right" : {
12501 "type" : "hexstr",
12502 "value" : "0x01ff"
12503 }
12504 }
12505 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012506 "true_next" : "tbl_port_counter31",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012507 "false_next" : "node_58"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012508 },
12509 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012510 "name" : "node_58",
12511 "id" : 23,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012512 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020012513 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012514 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012515 "column" : 12,
12516 "source_fragment" : "standard_metadata.ingress_port < 511"
12517 },
12518 "expression" : {
12519 "type" : "expression",
12520 "value" : {
12521 "op" : "<",
12522 "left" : {
12523 "type" : "field",
12524 "value" : ["standard_metadata", "ingress_port"]
12525 },
12526 "right" : {
12527 "type" : "hexstr",
12528 "value" : "0x01ff"
12529 }
12530 }
12531 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012532 "true_next" : "tbl_port_counter34",
12533 "false_next" : "tbl_slicing114"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012534 }
12535 ]
12536 },
12537 {
12538 "name" : "egress",
12539 "id" : 1,
12540 "source_info" : {
12541 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012542 "line" : 105,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012543 "column" : 8,
12544 "source_fragment" : "FabricEgress"
12545 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012546 "init_table" : "node_64",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012547 "tables" : [
12548 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012549 "name" : "tbl_packetio41",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012550 "id" : 36,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012551 "source_info" : {
12552 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -070012553 "line" : 41,
12554 "column" : 12,
12555 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -070012556 },
Carmelo Casconea5400af2018-07-17 22:11:54 +020012557 "key" : [],
12558 "match_type" : "exact",
12559 "type" : "simple",
12560 "max_size" : 1024,
12561 "with_counters" : false,
12562 "support_timeout" : false,
12563 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012564 "action_ids" : [78],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012565 "actions" : ["packetio41"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012566 "base_default_next" : "node_66",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012567 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012568 "packetio41" : "node_66"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012569 },
12570 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012571 "action_id" : 78,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012572 "action_const" : true,
12573 "action_data" : [],
12574 "action_entry_const" : true
12575 }
12576 },
12577 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012578 "name" : "tbl_packetio44",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012579 "id" : 37,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012580 "source_info" : {
12581 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -070012582 "line" : 44,
12583 "column" : 12,
12584 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -070012585 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012586 "key" : [],
12587 "match_type" : "exact",
12588 "type" : "simple",
12589 "max_size" : 1024,
12590 "with_counters" : false,
12591 "support_timeout" : false,
12592 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012593 "action_ids" : [79],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020012594 "actions" : ["packetio44"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012595 "base_default_next" : "node_68",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012596 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012597 "packetio44" : "node_68"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012598 },
12599 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012600 "action_id" : 79,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012601 "action_const" : true,
12602 "action_data" : [],
12603 "action_entry_const" : true
12604 }
12605 },
12606 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080012607 "name" : "tbl_next283",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012608 "id" : 38,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012609 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -070012610 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012611 "line" : 283,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012612 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -070012613 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -070012614 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012615 "key" : [],
12616 "match_type" : "exact",
12617 "type" : "simple",
12618 "max_size" : 1024,
12619 "with_counters" : false,
12620 "support_timeout" : false,
12621 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012622 "action_ids" : [80],
Wailok Shumfb7e7872021-06-18 17:30:08 +080012623 "actions" : ["next283"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012624 "base_default_next" : "node_70",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012625 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012626 "next283" : "node_70"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012627 },
12628 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012629 "action_id" : 80,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012630 "action_const" : true,
12631 "action_data" : [],
12632 "action_entry_const" : true
12633 }
12634 },
12635 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -070012636 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012637 "id" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070012638 "source_info" : {
12639 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012640 "line" : 287,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012641 "column" : 36,
12642 "source_fragment" : "pop_mpls_if_present()"
12643 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012644 "key" : [],
12645 "match_type" : "exact",
12646 "type" : "simple",
12647 "max_size" : 1024,
12648 "with_counters" : false,
12649 "support_timeout" : false,
12650 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012651 "action_ids" : [69],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012652 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
12653 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
12654 "next_tables" : {
12655 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
12656 },
12657 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012658 "action_id" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012659 "action_const" : true,
12660 "action_data" : [],
12661 "action_entry_const" : true
12662 }
12663 },
12664 {
12665 "name" : "tbl_egress_next_set_mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012666 "id" : 40,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012667 "source_info" : {
12668 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012669 "line" : 289,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012670 "column" : 12,
12671 "source_fragment" : "set_mpls()"
12672 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012673 "key" : [],
12674 "match_type" : "exact",
12675 "type" : "simple",
12676 "max_size" : 1024,
12677 "with_counters" : false,
12678 "support_timeout" : false,
12679 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012680 "action_ids" : [70],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012681 "actions" : ["FabricEgress.egress_next.set_mpls"],
12682 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
12683 "next_tables" : {
12684 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
12685 },
12686 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012687 "action_id" : 70,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070012688 "action_const" : true,
12689 "action_data" : [],
12690 "action_entry_const" : true
12691 }
12692 },
12693 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +080012694 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012695 "id" : 41,
Yi Tseng20f9e7b2018-05-24 23:27:39 +080012696 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020012697 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012698 "line" : 265,
Yi Tseng20f9e7b2018-05-24 23:27:39 +080012699 "column" : 10,
12700 "source_fragment" : "egress_vlan"
12701 },
12702 "key" : [
12703 {
12704 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012705 "name" : "vlan_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012706 "target" : ["scalars", "userMetadata._vlan_id9"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +080012707 "mask" : null
12708 },
12709 {
12710 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012711 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +080012712 "target" : ["standard_metadata", "egress_port"],
12713 "mask" : null
12714 }
12715 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080012716 "match_type" : "exact",
12717 "type" : "simple",
12718 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +080012719 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080012720 "support_timeout" : false,
12721 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012722 "action_ids" : [71, 72, 73],
pierventre48e78822020-12-15 17:34:54 +010012723 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012724 "base_default_next" : "node_75",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080012725 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012726 "FabricEgress.egress_next.push_vlan" : "node_75",
12727 "FabricEgress.egress_next.pop_vlan" : "node_75",
12728 "FabricEgress.egress_next.drop" : "node_75"
Daniele Moro7c3a0022019-07-12 13:38:34 -070012729 },
12730 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012731 "action_id" : 73,
Daniele Moro7c3a0022019-07-12 13:38:34 -070012732 "action_const" : true,
12733 "action_data" : [],
12734 "action_entry_const" : true
12735 }
12736 },
12737 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080012738 "name" : "tbl_next309",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012739 "id" : 42,
pierventre48e78822020-12-15 17:34:54 +010012740 "source_info" : {
12741 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012742 "line" : 309,
pierventre48e78822020-12-15 17:34:54 +010012743 "column" : 25,
12744 "source_fragment" : "="
Daniele Moro7c3a0022019-07-12 13:38:34 -070012745 },
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040012746 "key" : [],
12747 "match_type" : "exact",
12748 "type" : "simple",
12749 "max_size" : 1024,
12750 "with_counters" : false,
12751 "support_timeout" : false,
12752 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012753 "action_ids" : [82],
Wailok Shumfb7e7872021-06-18 17:30:08 +080012754 "actions" : ["next309"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012755 "base_default_next" : "node_77",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040012756 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012757 "next309" : "node_77"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040012758 },
12759 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012760 "action_id" : 82,
Daniele Moro7c3a0022019-07-12 13:38:34 -070012761 "action_const" : true,
12762 "action_data" : [],
12763 "action_entry_const" : true
12764 }
12765 },
12766 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080012767 "name" : "tbl_next310",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012768 "id" : 43,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012769 "source_info" : {
12770 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012771 "line" : 310,
pierventre48e78822020-12-15 17:34:54 +010012772 "column" : 35,
12773 "source_fragment" : "mark_to_drop(standard_metadata)"
Daniele Moro7c3a0022019-07-12 13:38:34 -070012774 },
12775 "key" : [],
12776 "match_type" : "exact",
12777 "type" : "simple",
12778 "max_size" : 1024,
12779 "with_counters" : false,
12780 "support_timeout" : false,
12781 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012782 "action_ids" : [81],
Wailok Shumfb7e7872021-06-18 17:30:08 +080012783 "actions" : ["next310"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012784 "base_default_next" : "node_83",
Daniele Moro7c3a0022019-07-12 13:38:34 -070012785 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012786 "next310" : "node_83"
Daniele Moro7c3a0022019-07-12 13:38:34 -070012787 },
12788 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012789 "action_id" : 81,
Daniele Moro7c3a0022019-07-12 13:38:34 -070012790 "action_const" : true,
12791 "action_data" : [],
12792 "action_entry_const" : true
12793 }
12794 },
12795 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080012796 "name" : "tbl_next313",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012797 "id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -070012798 "source_info" : {
12799 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012800 "line" : 313,
pierventre48e78822020-12-15 17:34:54 +010012801 "column" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012802 "source_fragment" : "="
12803 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012804 "key" : [],
12805 "match_type" : "exact",
12806 "type" : "simple",
12807 "max_size" : 1024,
12808 "with_counters" : false,
12809 "support_timeout" : false,
12810 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012811 "action_ids" : [84],
Wailok Shumfb7e7872021-06-18 17:30:08 +080012812 "actions" : ["next313"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012813 "base_default_next" : "node_81",
Carmelo Cascone9b607da2019-05-08 14:03:01 -070012814 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012815 "next313" : "node_81"
Carmelo Cascone9b607da2019-05-08 14:03:01 -070012816 },
12817 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012818 "action_id" : 84,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070012819 "action_const" : true,
12820 "action_data" : [],
12821 "action_entry_const" : true
12822 }
12823 },
12824 {
Wailok Shumfb7e7872021-06-18 17:30:08 +080012825 "name" : "tbl_next314",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012826 "id" : 45,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070012827 "source_info" : {
12828 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080012829 "line" : 314,
pierventre48e78822020-12-15 17:34:54 +010012830 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070012831 "source_fragment" : "mark_to_drop(standard_metadata)"
12832 },
12833 "key" : [],
12834 "match_type" : "exact",
12835 "type" : "simple",
12836 "max_size" : 1024,
12837 "with_counters" : false,
12838 "support_timeout" : false,
12839 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012840 "action_ids" : [83],
Wailok Shumfb7e7872021-06-18 17:30:08 +080012841 "actions" : ["next314"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012842 "base_default_next" : "node_83",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012843 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012844 "next314" : "node_83"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012845 },
12846 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012847 "action_id" : 83,
12848 "action_const" : true,
12849 "action_data" : [],
12850 "action_entry_const" : true
12851 }
12852 },
12853 {
12854 "name" : "tbl_spgw_gtpu_encap_qfi",
12855 "id" : 46,
12856 "source_info" : {
12857 "filename" : "include/control/spgw.p4",
12858 "line" : 371,
12859 "column" : 20,
12860 "source_fragment" : "gtpu_encap_qfi()"
12861 },
12862 "key" : [],
12863 "match_type" : "exact",
12864 "type" : "simple",
12865 "max_size" : 1024,
12866 "with_counters" : false,
12867 "support_timeout" : false,
12868 "direct_meters" : null,
12869 "action_ids" : [77],
12870 "actions" : ["FabricEgress.spgw.gtpu_encap_qfi"],
12871 "base_default_next" : "node_88",
12872 "next_tables" : {
12873 "FabricEgress.spgw.gtpu_encap_qfi" : "node_88"
12874 },
12875 "default_entry" : {
12876 "action_id" : 77,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012877 "action_const" : true,
12878 "action_data" : [],
12879 "action_entry_const" : true
12880 }
12881 },
12882 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012883 "name" : "tbl_spgw_gtpu_encap",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012884 "id" : 47,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040012885 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070012886 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012887 "line" : 373,
12888 "column" : 20,
Carmelo Cascone3032b872019-04-13 01:23:54 -070012889 "source_fragment" : "gtpu_encap()"
12890 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012891 "key" : [],
12892 "match_type" : "exact",
12893 "type" : "simple",
12894 "max_size" : 1024,
12895 "with_counters" : false,
12896 "support_timeout" : false,
12897 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012898 "action_ids" : [76],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012899 "actions" : ["FabricEgress.spgw.gtpu_encap"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012900 "base_default_next" : "node_88",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012901 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012902 "FabricEgress.spgw.gtpu_encap" : "node_88"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080012903 },
12904 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012905 "action_id" : 76,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012906 "action_const" : true,
12907 "action_data" : [],
12908 "action_entry_const" : true
12909 }
12910 },
12911 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012912 "name" : "tbl_spgw377",
12913 "id" : 48,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012914 "source_info" : {
12915 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012916 "line" : 377,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012917 "column" : 16,
12918 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
12919 },
12920 "key" : [],
12921 "match_type" : "exact",
12922 "type" : "simple",
12923 "max_size" : 1024,
12924 "with_counters" : false,
12925 "support_timeout" : false,
12926 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012927 "action_ids" : [85],
12928 "actions" : ["spgw377"],
12929 "base_default_next" : "tbl_slicing126",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012930 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012931 "spgw377" : "tbl_slicing126"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012932 },
12933 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020012934 "action_id" : 85,
12935 "action_const" : true,
12936 "action_data" : [],
12937 "action_entry_const" : true
12938 }
12939 },
12940 {
12941 "name" : "tbl_slicing126",
12942 "id" : 49,
12943 "source_info" : {
12944 "filename" : "include/control/slicing.p4",
12945 "line" : 126,
12946 "column" : 4,
12947 "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp;"
12948 },
12949 "key" : [],
12950 "match_type" : "exact",
12951 "type" : "simple",
12952 "max_size" : 1024,
12953 "with_counters" : false,
12954 "support_timeout" : false,
12955 "direct_meters" : null,
12956 "action_ids" : [88],
12957 "actions" : ["slicing126"],
12958 "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
12959 "next_tables" : {
12960 "slicing126" : "FabricEgress.dscp_rewriter.rewriter"
12961 },
12962 "default_entry" : {
12963 "action_id" : 88,
12964 "action_const" : true,
12965 "action_data" : [],
12966 "action_entry_const" : true
12967 }
12968 },
12969 {
12970 "name" : "FabricEgress.dscp_rewriter.rewriter",
12971 "id" : 50,
12972 "source_info" : {
12973 "filename" : "include/control/slicing.p4",
12974 "line" : 138,
12975 "column" : 10,
12976 "source_fragment" : "rewriter"
12977 },
12978 "key" : [
12979 {
12980 "match_type" : "exact",
12981 "name" : "eg_port",
12982 "target" : ["standard_metadata", "egress_port"],
12983 "mask" : null
12984 }
12985 ],
12986 "match_type" : "exact",
12987 "type" : "simple",
12988 "max_size" : 512,
12989 "with_counters" : false,
12990 "support_timeout" : false,
12991 "direct_meters" : null,
12992 "action_ids" : [74, 75, 68],
12993 "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
12994 "base_default_next" : null,
12995 "next_tables" : {
12996 "__MISS__" : null,
12997 "__HIT__" : "node_92"
12998 },
12999 "default_entry" : {
13000 "action_id" : 68,
13001 "action_const" : true,
13002 "action_data" : [],
13003 "action_entry_const" : true
13004 }
13005 },
13006 {
13007 "name" : "tbl_slicing155",
13008 "id" : 51,
13009 "source_info" : {
13010 "filename" : "include/control/slicing.p4",
13011 "line" : 155,
13012 "column" : 30,
13013 "source_fragment" : "="
13014 },
13015 "key" : [],
13016 "match_type" : "exact",
13017 "type" : "simple",
13018 "max_size" : 1024,
13019 "with_counters" : false,
13020 "support_timeout" : false,
13021 "direct_meters" : null,
13022 "action_ids" : [86],
13023 "actions" : ["slicing155"],
13024 "base_default_next" : null,
13025 "next_tables" : {
13026 "slicing155" : null
13027 },
13028 "default_entry" : {
13029 "action_id" : 86,
13030 "action_const" : true,
13031 "action_data" : [],
13032 "action_entry_const" : true
13033 }
13034 },
13035 {
13036 "name" : "tbl_slicing159",
13037 "id" : 52,
13038 "source_info" : {
13039 "filename" : "include/control/slicing.p4",
13040 "line" : 159,
13041 "column" : 36,
13042 "source_fragment" : "="
13043 },
13044 "key" : [],
13045 "match_type" : "exact",
13046 "type" : "simple",
13047 "max_size" : 1024,
13048 "with_counters" : false,
13049 "support_timeout" : false,
13050 "direct_meters" : null,
13051 "action_ids" : [87],
13052 "actions" : ["slicing159"],
13053 "base_default_next" : null,
13054 "next_tables" : {
13055 "slicing159" : null
13056 },
13057 "default_entry" : {
13058 "action_id" : 87,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013059 "action_const" : true,
13060 "action_data" : [],
13061 "action_entry_const" : true
13062 }
13063 }
13064 ],
13065 "action_profiles" : [],
13066 "conditionals" : [
13067 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013068 "name" : "node_64",
13069 "id" : 24,
Carmelo Casconea5400af2018-07-17 22:11:54 +020013070 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013071 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013072 "line" : 118,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013073 "column" : 33,
13074 "source_fragment" : "fabric_metadata"
Carmelo Casconea5400af2018-07-17 22:11:54 +020013075 },
13076 "expression" : {
13077 "type" : "expression",
13078 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013079 "op" : "d2b",
13080 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +020013081 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013082 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013083 "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
Carmelo Casconea5400af2018-07-17 22:11:54 +020013084 }
13085 }
13086 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013087 "true_next" : "tbl_packetio41",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013088 "false_next" : "node_66"
Carmelo Casconea5400af2018-07-17 22:11:54 +020013089 },
13090 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013091 "name" : "node_66",
13092 "id" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013093 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020013094 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013095 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013096 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -080013097 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013098 },
13099 "expression" : {
13100 "type" : "expression",
13101 "value" : {
13102 "op" : "==",
13103 "left" : {
13104 "type" : "field",
13105 "value" : ["standard_metadata", "egress_port"]
13106 },
13107 "right" : {
13108 "type" : "hexstr",
13109 "value" : "0x00ff"
13110 }
13111 }
13112 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013113 "true_next" : "tbl_packetio44",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013114 "false_next" : "node_68"
Yi Tseng20f9e7b2018-05-24 23:27:39 +080013115 },
13116 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013117 "name" : "node_68",
13118 "id" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013119 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013120 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080013121 "line" : 281,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013122 "column" : 12,
13123 "source_fragment" : "fabric_metadata.is_multicast == true ..."
13124 },
13125 "expression" : {
13126 "type" : "expression",
13127 "value" : {
13128 "op" : "and",
13129 "left" : {
13130 "type" : "expression",
13131 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013132 "op" : "d2b",
13133 "left" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013134 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013135 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013136 "value" : ["scalars", "userMetadata._is_multicast18"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013137 }
13138 }
13139 },
13140 "right" : {
13141 "type" : "expression",
13142 "value" : {
13143 "op" : "==",
13144 "left" : {
13145 "type" : "field",
13146 "value" : ["standard_metadata", "ingress_port"]
13147 },
13148 "right" : {
13149 "type" : "field",
13150 "value" : ["standard_metadata", "egress_port"]
13151 }
13152 }
13153 }
13154 }
13155 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080013156 "true_next" : "tbl_next283",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013157 "false_next" : "node_70"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013158 },
13159 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013160 "name" : "node_70",
13161 "id" : 27,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013162 "source_info" : {
13163 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080013164 "line" : 286,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013165 "column" : 12,
13166 "source_fragment" : "fabric_metadata.mpls_label == 0"
13167 },
13168 "expression" : {
13169 "type" : "expression",
13170 "value" : {
13171 "op" : "==",
13172 "left" : {
13173 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013174 "value" : ["scalars", "userMetadata._mpls_label12"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013175 },
13176 "right" : {
13177 "type" : "hexstr",
13178 "value" : "0x000000"
13179 }
13180 }
13181 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013182 "true_next" : "node_71",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013183 "false_next" : "tbl_egress_next_set_mpls"
13184 },
13185 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013186 "name" : "node_71",
13187 "id" : 28,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013188 "source_info" : {
13189 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080013190 "line" : 287,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013191 "column" : 16,
13192 "source_fragment" : "hdr.mpls.isValid()"
13193 },
13194 "expression" : {
13195 "type" : "expression",
13196 "value" : {
13197 "op" : "d2b",
13198 "left" : null,
13199 "right" : {
13200 "type" : "field",
13201 "value" : ["mpls", "$valid$"]
13202 }
13203 }
13204 },
13205 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013206 "false_next" : "FabricEgress.egress_next.egress_vlan"
13207 },
13208 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013209 "name" : "node_75",
13210 "id" : 29,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013211 "source_info" : {
13212 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080013213 "line" : 308,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013214 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013215 "source_fragment" : "hdr.mpls.isValid()"
13216 },
13217 "expression" : {
13218 "type" : "expression",
13219 "value" : {
13220 "op" : "d2b",
13221 "left" : null,
13222 "right" : {
13223 "type" : "field",
13224 "value" : ["mpls", "$valid$"]
13225 }
13226 }
13227 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080013228 "true_next" : "tbl_next309",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013229 "false_next" : "node_79"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013230 },
13231 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013232 "name" : "node_77",
13233 "id" : 30,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013234 "source_info" : {
13235 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080013236 "line" : 310,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013237 "column" : 16,
13238 "source_fragment" : "hdr.mpls.ttl == 0"
13239 },
13240 "expression" : {
13241 "type" : "expression",
13242 "value" : {
13243 "op" : "==",
13244 "left" : {
13245 "type" : "field",
13246 "value" : ["mpls", "ttl"]
13247 },
13248 "right" : {
13249 "type" : "hexstr",
13250 "value" : "0x00"
13251 }
13252 }
13253 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080013254 "true_next" : "tbl_next310",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013255 "false_next" : "node_83"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013256 },
13257 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013258 "name" : "node_79",
13259 "id" : 31,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013260 "source_info" : {
13261 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080013262 "line" : 312,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013263 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -070013264 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013265 },
13266 "expression" : {
13267 "type" : "expression",
13268 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -070013269 "op" : "and",
13270 "left" : {
13271 "type" : "expression",
13272 "value" : {
13273 "op" : "d2b",
13274 "left" : null,
13275 "right" : {
13276 "type" : "field",
13277 "value" : ["ipv4", "$valid$"]
13278 }
13279 }
13280 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013281 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -070013282 "type" : "expression",
13283 "value" : {
13284 "op" : "!=",
13285 "left" : {
13286 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013287 "value" : ["scalars", "userMetadata._fwd_type16"]
Charles Chan74ad51e2020-09-12 19:05:42 -070013288 },
13289 "right" : {
13290 "type" : "hexstr",
13291 "value" : "0x00"
13292 }
13293 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013294 }
13295 }
13296 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080013297 "true_next" : "tbl_next313",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013298 "false_next" : "node_83"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013299 },
13300 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013301 "name" : "node_81",
13302 "id" : 32,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013303 "source_info" : {
13304 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +080013305 "line" : 314,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013306 "column" : 20,
13307 "source_fragment" : "hdr.ipv4.ttl == 0"
13308 },
13309 "expression" : {
13310 "type" : "expression",
13311 "value" : {
13312 "op" : "==",
13313 "left" : {
13314 "type" : "field",
13315 "value" : ["ipv4", "ttl"]
13316 },
13317 "right" : {
13318 "type" : "hexstr",
13319 "value" : "0x00"
13320 }
13321 }
13322 },
Wailok Shumfb7e7872021-06-18 17:30:08 +080013323 "true_next" : "tbl_next314",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013324 "false_next" : "node_83"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013325 },
13326 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013327 "name" : "node_83",
13328 "id" : 33,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013329 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070013330 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013331 "line" : 368,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080013332 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013333 "source_fragment" : "fabric_md.spgw.skip_spgw"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013334 },
13335 "expression" : {
13336 "type" : "expression",
13337 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013338 "op" : "not",
13339 "left" : null,
13340 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040013341 "type" : "expression",
13342 "value" : {
13343 "op" : "d2b",
13344 "left" : null,
13345 "right" : {
13346 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013347 "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
Robert MacDavidde12b982020-07-15 18:38:59 -070013348 }
13349 }
Robert MacDavidde12b982020-07-15 18:38:59 -070013350 }
13351 }
13352 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013353 "true_next" : "node_84",
13354 "false_next" : "tbl_slicing126"
Robert MacDavidde12b982020-07-15 18:38:59 -070013355 },
13356 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013357 "name" : "node_84",
13358 "id" : 34,
Robert MacDavidde12b982020-07-15 18:38:59 -070013359 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013360 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013361 "line" : 121,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013362 "column" : 24,
13363 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -070013364 },
13365 "expression" : {
13366 "type" : "expression",
13367 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013368 "op" : "d2b",
13369 "left" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013370 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013371 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013372 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013373 }
13374 }
13375 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013376 "true_next" : "node_85",
13377 "false_next" : "node_88"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080013378 },
13379 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013380 "name" : "node_85",
13381 "id" : 35,
13382 "source_info" : {
13383 "filename" : "fabric.p4",
13384 "line" : 121,
13385 "column" : 24,
13386 "source_fragment" : "fabric_metadata"
13387 },
13388 "expression" : {
13389 "type" : "expression",
13390 "value" : {
13391 "op" : "d2b",
13392 "left" : null,
13393 "right" : {
13394 "type" : "field",
13395 "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
13396 }
13397 }
13398 },
13399 "true_next" : "tbl_spgw_gtpu_encap_qfi",
13400 "false_next" : "tbl_spgw_gtpu_encap"
13401 },
13402 {
13403 "name" : "node_88",
13404 "id" : 36,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080013405 "source_info" : {
13406 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013407 "line" : 376,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080013408 "column" : 16,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013409 "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080013410 },
13411 "expression" : {
13412 "type" : "expression",
13413 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013414 "op" : "not",
13415 "left" : null,
13416 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080013417 "type" : "expression",
13418 "value" : {
13419 "op" : "d2b",
13420 "left" : null,
13421 "right" : {
13422 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013423 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr44"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080013424 }
13425 }
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080013426 }
13427 }
13428 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013429 "true_next" : "tbl_spgw377",
13430 "false_next" : "tbl_slicing126"
13431 },
13432 {
13433 "name" : "node_92",
13434 "id" : 37,
13435 "source_info" : {
13436 "filename" : "include/control/slicing.p4",
13437 "line" : 154,
13438 "column" : 16,
13439 "source_fragment" : "hdr.gtpu_ipv4.isValid()"
13440 },
13441 "expression" : {
13442 "type" : "expression",
13443 "value" : {
13444 "op" : "d2b",
13445 "left" : null,
13446 "right" : {
13447 "type" : "field",
13448 "value" : ["gtpu_ipv4", "$valid$"]
13449 }
13450 }
13451 },
13452 "true_next" : "tbl_slicing155",
13453 "false_next" : "node_94"
13454 },
13455 {
13456 "name" : "node_94",
13457 "id" : 38,
13458 "source_info" : {
13459 "filename" : "include/control/slicing.p4",
13460 "line" : 158,
13461 "column" : 16,
13462 "source_fragment" : "hdr.ipv4.isValid()"
13463 },
13464 "expression" : {
13465 "type" : "expression",
13466 "value" : {
13467 "op" : "d2b",
13468 "left" : null,
13469 "right" : {
13470 "type" : "field",
13471 "value" : ["ipv4", "$valid$"]
13472 }
13473 }
13474 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013475 "false_next" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013476 "true_next" : "tbl_slicing159"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013477 }
13478 ]
13479 }
13480 ],
13481 "checksums" : [
13482 {
13483 "name" : "cksum",
13484 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070013485 "source_info" : {
13486 "filename" : "include/checksum.p4",
13487 "line" : 28,
13488 "column" : 8,
13489 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
13490 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013491 "target" : ["ipv4", "hdr_checksum"],
13492 "type" : "generic",
13493 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080013494 "verify" : false,
13495 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013496 "if_cond" : {
13497 "type" : "expression",
13498 "value" : {
13499 "op" : "d2b",
13500 "left" : null,
13501 "right" : {
13502 "type" : "field",
13503 "value" : ["ipv4", "$valid$"]
13504 }
13505 }
13506 }
13507 },
13508 {
13509 "name" : "cksum_0",
13510 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070013511 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070013512 "filename" : "include/control/spgw.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +020013513 "line" : 393,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070013514 "column" : 8,
13515 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
13516 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +020013517 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013518 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080013519 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080013520 "verify" : false,
13521 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013522 "if_cond" : {
13523 "type" : "expression",
13524 "value" : {
13525 "op" : "d2b",
13526 "left" : null,
13527 "right" : {
13528 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020013529 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013530 }
13531 }
13532 }
13533 },
13534 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080013535 "name" : "cksum_1",
13536 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070013537 "source_info" : {
13538 "filename" : "include/checksum.p4",
13539 "line" : 57,
13540 "column" : 8,
13541 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
13542 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +020013543 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013544 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080013545 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080013546 "verify" : true,
13547 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013548 "if_cond" : {
13549 "type" : "expression",
13550 "value" : {
13551 "op" : "d2b",
13552 "left" : null,
13553 "right" : {
13554 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020013555 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013556 }
13557 }
13558 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013559 }
13560 ],
13561 "force_arith" : [],
13562 "extern_instances" : [],
13563 "field_aliases" : [
13564 [
13565 "queueing_metadata.enq_timestamp",
13566 ["standard_metadata", "enq_timestamp"]
13567 ],
13568 [
13569 "queueing_metadata.enq_qdepth",
13570 ["standard_metadata", "enq_qdepth"]
13571 ],
13572 [
13573 "queueing_metadata.deq_timedelta",
13574 ["standard_metadata", "deq_timedelta"]
13575 ],
13576 [
13577 "queueing_metadata.deq_qdepth",
13578 ["standard_metadata", "deq_qdepth"]
13579 ],
13580 [
13581 "intrinsic_metadata.ingress_global_timestamp",
13582 ["standard_metadata", "ingress_global_timestamp"]
13583 ],
13584 [
Yi Tseng27b9bc02018-04-12 14:52:40 +080013585 "intrinsic_metadata.egress_global_timestamp",
13586 ["standard_metadata", "egress_global_timestamp"]
13587 ],
13588 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013589 "intrinsic_metadata.mcast_grp",
13590 ["standard_metadata", "mcast_grp"]
13591 ],
13592 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013593 "intrinsic_metadata.egress_rid",
13594 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +080013595 ],
13596 [
Carmelo Cascone9b607da2019-05-08 14:03:01 -070013597 "intrinsic_metadata.priority",
13598 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080013599 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020013600 ],
13601 "program" : "fabric.p4",
13602 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013603 "version" : [2, 23],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020013604 "compiler" : "https://github.com/p4lang/p4c"
13605 }
Carmelo Cascone25243d62019-02-21 15:37:31 -080013606}