blob: 8f5381e4473eab119862c9c5eb411f34034aa2a4 [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" : [
pierventre48e78822020-12-15 17:34:54 +01007 ["tmp_0", 16, false],
Robert MacDavidde12b982020-07-15 18:38:59 -07008 ["tmp_1", 16, false],
pierventre48e78822020-12-15 17:34:54 +01009 ["tmp_2", 4, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070010 ["tmp", 32, false],
pierventre48e78822020-12-15 17:34:54 +010011 ["tmp_3", 32, false],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012 ["spgw_tmp", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070013 ["fabric_metadata_t._ip_eth_type0", 16, false],
14 ["fabric_metadata_t._vlan_id1", 12, false],
15 ["fabric_metadata_t._vlan_pri2", 3, false],
16 ["fabric_metadata_t._vlan_cfi3", 1, false],
17 ["fabric_metadata_t._mpls_label4", 20, false],
18 ["fabric_metadata_t._mpls_ttl5", 8, false],
19 ["fabric_metadata_t._skip_forwarding6", 1, false],
20 ["fabric_metadata_t._skip_next7", 1, false],
21 ["fabric_metadata_t._fwd_type8", 3, false],
22 ["fabric_metadata_t._next_id9", 32, false],
23 ["fabric_metadata_t._is_multicast10", 1, false],
24 ["fabric_metadata_t._is_controller_packet_out11", 1, false],
25 ["fabric_metadata_t._ip_proto12", 8, false],
26 ["fabric_metadata_t._l4_sport13", 16, false],
27 ["fabric_metadata_t._l4_dport14", 16, false],
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040028 ["fabric_metadata_t._ipv4_src_addr15", 32, false],
29 ["fabric_metadata_t._ipv4_dst_addr16", 32, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070030 ["fabric_metadata_t._inner_l4_sport17", 16, false],
31 ["fabric_metadata_t._inner_l4_dport18", 16, false],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080032 ["fabric_metadata_t._spgw_ipv4_len19", 16, false],
33 ["fabric_metadata_t._spgw_teid20", 32, false],
34 ["fabric_metadata_t._spgw_tunnel_src_port21", 16, false],
35 ["fabric_metadata_t._spgw_tunnel_src_addr22", 32, false],
36 ["fabric_metadata_t._spgw_tunnel_dst_addr23", 32, false],
37 ["fabric_metadata_t._spgw_ctr_id24", 32, false],
38 ["fabric_metadata_t._spgw_far_id25", 32, false],
39 ["fabric_metadata_t._spgw_src_iface26", 8, false],
40 ["fabric_metadata_t._spgw_skip_spgw27", 1, false],
41 ["fabric_metadata_t._spgw_notify_spgwc28", 1, false],
42 ["fabric_metadata_t._spgw_needs_gtpu_encap29", 1, false],
43 ["fabric_metadata_t._spgw_needs_gtpu_decap30", 1, false],
44 ["fabric_metadata_t._spgw_skip_egress_pdr_ctr31", 1, false],
pierventre48e78822020-12-15 17:34:54 +010045 ["_padding_0", 3, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080046 ]
47 },
48 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +020049 "name" : "standard_metadata",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080050 "id" : 1,
51 "fields" : [
Carmelo Cascone6af4e172018-06-15 16:01:30 +020052 ["ingress_port", 9, false],
53 ["egress_spec", 9, false],
54 ["egress_port", 9, false],
55 ["clone_spec", 32, false],
56 ["instance_type", 32, false],
57 ["drop", 1, false],
58 ["recirculate_port", 16, false],
59 ["packet_length", 32, false],
60 ["enq_timestamp", 32, false],
61 ["enq_qdepth", 19, false],
62 ["deq_timedelta", 32, false],
63 ["deq_qdepth", 19, false],
64 ["ingress_global_timestamp", 48, false],
65 ["egress_global_timestamp", 48, false],
66 ["lf_field_list", 32, false],
67 ["mcast_grp", 16, false],
68 ["resubmit_flag", 32, false],
69 ["egress_rid", 16, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020070 ["recirculate_flag", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070071 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070072 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070073 ["priority", 3, false],
74 ["_padding", 2, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020075 ]
76 },
77 {
78 "name" : "ethernet_t",
79 "id" : 2,
80 "fields" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080081 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070082 ["src_addr", 48, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080083 ]
84 },
85 {
86 "name" : "vlan_tag_t",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020087 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080088 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -070089 ["eth_type", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080090 ["pri", 3, false],
91 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070092 ["vlan_id", 12, false]
93 ]
94 },
95 {
96 "name" : "eth_type_t",
97 "id" : 4,
98 "fields" : [
99 ["value", 16, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800100 ]
101 },
102 {
103 "name" : "mpls_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700104 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800105 "fields" : [
106 ["label", 20, false],
107 ["tc", 3, false],
108 ["bos", 1, false],
109 ["ttl", 8, false]
110 ]
111 },
112 {
113 "name" : "ipv4_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700114 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800115 "fields" : [
116 ["version", 4, false],
117 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900118 ["dscp", 6, false],
119 ["ecn", 2, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800120 ["total_len", 16, false],
121 ["identification", 16, false],
122 ["flags", 3, false],
123 ["frag_offset", 13, false],
124 ["ttl", 8, false],
125 ["protocol", 8, false],
126 ["hdr_checksum", 16, false],
127 ["src_addr", 32, false],
128 ["dst_addr", 32, false]
129 ]
130 },
131 {
132 "name" : "udp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700133 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800134 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800135 ["sport", 16, false],
136 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800137 ["len", 16, false],
138 ["checksum", 16, false]
139 ]
140 },
141 {
142 "name" : "gtpu_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700143 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800144 "fields" : [
145 ["version", 3, false],
146 ["pt", 1, false],
147 ["spare", 1, false],
148 ["ex_flag", 1, false],
149 ["seq_flag", 1, false],
150 ["npdu_flag", 1, false],
151 ["msgtype", 8, false],
152 ["msglen", 16, false],
153 ["teid", 32, false]
154 ]
155 },
156 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800157 "name" : "tcp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700158 "id" : 9,
Yi Tseng27b9bc02018-04-12 14:52:40 +0800159 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800160 ["sport", 16, false],
161 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800162 ["seq_no", 32, false],
163 ["ack_no", 32, false],
164 ["data_offset", 4, false],
165 ["res", 3, false],
166 ["ecn", 3, false],
167 ["ctrl", 6, false],
168 ["window", 16, false],
169 ["checksum", 16, false],
170 ["urgent_ptr", 16, false]
171 ]
172 },
173 {
174 "name" : "icmp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700175 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800176 "fields" : [
177 ["icmp_type", 8, false],
178 ["icmp_code", 8, false],
179 ["checksum", 16, false],
180 ["identifier", 16, false],
181 ["sequence_number", 16, false],
182 ["timestamp", 64, false]
183 ]
184 },
185 {
186 "name" : "packet_out_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700187 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800188 "fields" : [
189 ["egress_port", 9, false],
190 ["_pad", 7, false]
191 ]
192 },
193 {
194 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700195 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800196 "fields" : [
197 ["ingress_port", 9, false],
198 ["_pad", 7, false]
199 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800200 }
201 ],
202 "headers" : [
203 {
204 "name" : "scalars",
205 "id" : 0,
206 "header_type" : "scalars_0",
207 "metadata" : true,
208 "pi_omit" : true
209 },
210 {
211 "name" : "standard_metadata",
212 "id" : 1,
213 "header_type" : "standard_metadata",
214 "metadata" : true,
215 "pi_omit" : true
216 },
217 {
218 "name" : "ethernet",
219 "id" : 2,
220 "header_type" : "ethernet_t",
221 "metadata" : false,
222 "pi_omit" : true
223 },
224 {
225 "name" : "vlan_tag",
226 "id" : 3,
227 "header_type" : "vlan_tag_t",
228 "metadata" : false,
229 "pi_omit" : true
230 },
231 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800232 "name" : "inner_vlan_tag",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800233 "id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800234 "header_type" : "vlan_tag_t",
235 "metadata" : false,
236 "pi_omit" : true
237 },
238 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700239 "name" : "eth_type",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800240 "id" : 5,
Daniele Moro5a2de712019-09-24 14:34:07 -0700241 "header_type" : "eth_type_t",
242 "metadata" : false,
243 "pi_omit" : true
244 },
245 {
246 "name" : "mpls",
247 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800248 "header_type" : "mpls_t",
249 "metadata" : false,
250 "pi_omit" : true
251 },
252 {
253 "name" : "gtpu_ipv4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700254 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800255 "header_type" : "ipv4_t",
256 "metadata" : false,
257 "pi_omit" : true
258 },
259 {
260 "name" : "gtpu_udp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700261 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800262 "header_type" : "udp_t",
263 "metadata" : false,
264 "pi_omit" : true
265 },
266 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700267 "name" : "outer_gtpu",
Daniele Moro5a2de712019-09-24 14:34:07 -0700268 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800269 "header_type" : "gtpu_t",
270 "metadata" : false,
271 "pi_omit" : true
272 },
273 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700274 "name" : "gtpu",
Daniele Moro5a2de712019-09-24 14:34:07 -0700275 "id" : 10,
Robert MacDavidde12b982020-07-15 18:38:59 -0700276 "header_type" : "gtpu_t",
277 "metadata" : false,
278 "pi_omit" : true
279 },
280 {
281 "name" : "inner_ipv4",
282 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800283 "header_type" : "ipv4_t",
284 "metadata" : false,
285 "pi_omit" : true
286 },
287 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700288 "name" : "inner_udp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700289 "id" : 12,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700290 "header_type" : "udp_t",
291 "metadata" : false,
292 "pi_omit" : true
293 },
294 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700295 "name" : "inner_tcp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700296 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800297 "header_type" : "tcp_t",
298 "metadata" : false,
299 "pi_omit" : true
300 },
301 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700302 "name" : "inner_icmp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700303 "id" : 14,
Robert MacDavidde12b982020-07-15 18:38:59 -0700304 "header_type" : "icmp_t",
305 "metadata" : false,
306 "pi_omit" : true
307 },
308 {
309 "name" : "ipv4",
310 "id" : 15,
311 "header_type" : "ipv4_t",
312 "metadata" : false,
313 "pi_omit" : true
314 },
315 {
316 "name" : "tcp",
317 "id" : 16,
318 "header_type" : "tcp_t",
319 "metadata" : false,
320 "pi_omit" : true
321 },
322 {
323 "name" : "udp",
324 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800325 "header_type" : "udp_t",
326 "metadata" : false,
327 "pi_omit" : true
328 },
329 {
330 "name" : "icmp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700331 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800332 "header_type" : "icmp_t",
333 "metadata" : false,
334 "pi_omit" : true
335 },
336 {
337 "name" : "packet_out",
Robert MacDavidde12b982020-07-15 18:38:59 -0700338 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800339 "header_type" : "packet_out_header_t",
340 "metadata" : false,
341 "pi_omit" : true
342 },
343 {
344 "name" : "packet_in",
Robert MacDavidde12b982020-07-15 18:38:59 -0700345 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800346 "header_type" : "packet_in_header_t",
347 "metadata" : false,
348 "pi_omit" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800349 }
350 ],
351 "header_stacks" : [],
352 "header_union_types" : [],
353 "header_unions" : [],
354 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700355 "field_lists" : [
356 {
357 "id" : 1,
358 "name" : "fl",
359 "source_info" : {
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700360 "filename" : "include/control/acl.p4",
361 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700362 "column" : 40,
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700363 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700364 },
365 "elements" : [
366 {
367 "type" : "field",
368 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700369 }
370 ]
371 }
372 ],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700373 "errors" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700374 ["NoError", 1],
375 ["PacketTooShort", 2],
376 ["NoMatch", 3],
377 ["StackOutOfBounds", 4],
378 ["HeaderTooShort", 5],
379 ["ParserTimeout", 6],
380 ["ParserInvalidArgument", 7]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700381 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800382 "enums" : [],
383 "parsers" : [
384 {
385 "name" : "parser",
386 "id" : 0,
387 "init_state" : "start",
388 "parse_states" : [
389 {
390 "name" : "start",
391 "id" : 0,
392 "parser_ops" : [],
393 "transitions" : [
394 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800395 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800396 "value" : "0x00ff",
397 "mask" : null,
398 "next_state" : "parse_packet_out"
399 },
400 {
401 "value" : "default",
402 "mask" : null,
403 "next_state" : "parse_ethernet"
404 }
405 ],
406 "transition_key" : [
407 {
408 "type" : "field",
409 "value" : ["standard_metadata", "ingress_port"]
410 }
411 ]
412 },
413 {
414 "name" : "parse_packet_out",
415 "id" : 1,
416 "parser_ops" : [
417 {
418 "parameters" : [
419 {
420 "type" : "regular",
421 "value" : "packet_out"
422 }
423 ],
424 "op" : "extract"
425 }
426 ],
427 "transitions" : [
428 {
429 "value" : "default",
430 "mask" : null,
431 "next_state" : "parse_ethernet"
432 }
433 ],
434 "transition_key" : []
435 },
436 {
437 "name" : "parse_ethernet",
438 "id" : 2,
439 "parser_ops" : [
440 {
441 "parameters" : [
442 {
443 "type" : "regular",
444 "value" : "ethernet"
445 }
446 ],
447 "op" : "extract"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800448 },
449 {
450 "parameters" : [
451 {
452 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700453 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800454 },
455 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700456 "type" : "hexstr",
457 "value" : "0x0ffe"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800458 }
459 ],
460 "op" : "set"
461 },
462 {
463 "parameters" : [
464 {
465 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100466 "value" : ["scalars", "tmp_0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800467 },
468 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700469 "type" : "lookahead",
470 "value" : [0, 16]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800471 }
472 ],
473 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800474 }
475 ],
476 "transitions" : [
477 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800478 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700479 "value" : "0x88a8",
480 "mask" : null,
481 "next_state" : "parse_vlan_tag"
482 },
483 {
484 "type" : "hexstr",
485 "value" : "0x9100",
486 "mask" : null,
487 "next_state" : "parse_vlan_tag"
488 },
489 {
490 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800491 "value" : "0x8100",
492 "mask" : null,
493 "next_state" : "parse_vlan_tag"
494 },
495 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800496 "value" : "default",
497 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700498 "next_state" : "parse_eth_type"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800499 }
500 ],
501 "transition_key" : [
502 {
503 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100504 "value" : ["scalars", "tmp_0"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800505 }
506 ]
507 },
508 {
509 "name" : "parse_vlan_tag",
510 "id" : 3,
511 "parser_ops" : [
512 {
513 "parameters" : [
514 {
515 "type" : "regular",
516 "value" : "vlan_tag"
517 }
518 ],
519 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700520 },
521 {
522 "parameters" : [
523 {
524 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100525 "value" : ["scalars", "tmp_1"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700526 },
527 {
528 "type" : "lookahead",
529 "value" : [0, 16]
530 }
531 ],
532 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800533 }
534 ],
535 "transitions" : [
536 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800537 "type" : "hexstr",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800538 "value" : "0x8100",
539 "mask" : null,
540 "next_state" : "parse_inner_vlan_tag"
541 },
542 {
543 "value" : "default",
544 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700545 "next_state" : "parse_eth_type"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800546 }
547 ],
548 "transition_key" : [
549 {
550 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100551 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800552 }
553 ]
554 },
555 {
556 "name" : "parse_inner_vlan_tag",
557 "id" : 4,
558 "parser_ops" : [
559 {
560 "parameters" : [
561 {
562 "type" : "regular",
563 "value" : "inner_vlan_tag"
564 }
565 ],
566 "op" : "extract"
567 }
568 ],
569 "transitions" : [
570 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700571 "value" : "default",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800572 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700573 "next_state" : "parse_eth_type"
574 }
575 ],
576 "transition_key" : []
577 },
578 {
579 "name" : "parse_eth_type",
580 "id" : 5,
581 "parser_ops" : [
582 {
583 "parameters" : [
584 {
585 "type" : "regular",
586 "value" : "eth_type"
587 }
588 ],
589 "op" : "extract"
590 }
591 ],
592 "transitions" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800593 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800594 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800595 "value" : "0x8847",
596 "mask" : null,
597 "next_state" : "parse_mpls"
598 },
599 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700600 "type" : "hexstr",
601 "value" : "0x0800",
602 "mask" : null,
603 "next_state" : "parse_ipv4"
604 },
605 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800606 "value" : "default",
607 "mask" : null,
608 "next_state" : null
609 }
610 ],
611 "transition_key" : [
612 {
613 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700614 "value" : ["eth_type", "value"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800615 }
616 ]
617 },
618 {
619 "name" : "parse_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700620 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800621 "parser_ops" : [
622 {
623 "parameters" : [
624 {
625 "type" : "regular",
626 "value" : "mpls"
627 }
628 ],
629 "op" : "extract"
630 },
631 {
632 "parameters" : [
633 {
634 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700635 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800636 },
637 {
638 "type" : "field",
639 "value" : ["mpls", "label"]
640 }
641 ],
642 "op" : "set"
643 },
644 {
645 "parameters" : [
646 {
647 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700648 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800649 },
650 {
651 "type" : "field",
652 "value" : ["mpls", "ttl"]
653 }
654 ],
655 "op" : "set"
656 },
657 {
658 "parameters" : [
659 {
660 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100661 "value" : ["scalars", "tmp_2"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800662 },
663 {
664 "type" : "lookahead",
665 "value" : [0, 4]
666 }
667 ],
668 "op" : "set"
669 }
670 ],
671 "transitions" : [
672 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800673 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800674 "value" : "0x04",
675 "mask" : null,
676 "next_state" : "parse_ipv4"
677 },
678 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800679 "value" : "default",
680 "mask" : null,
681 "next_state" : "parse_ethernet"
682 }
683 ],
684 "transition_key" : [
685 {
686 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100687 "value" : ["scalars", "tmp_2"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800688 }
689 ]
690 },
691 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700692 "name" : "parse_ipv4",
693 "id" : 7,
694 "parser_ops" : [
695 {
696 "parameters" : [
697 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800698 "type" : "regular",
699 "value" : "ipv4"
700 }
701 ],
702 "op" : "extract"
703 },
704 {
705 "parameters" : [
706 {
707 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700708 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800709 },
710 {
711 "type" : "field",
712 "value" : ["ipv4", "protocol"]
713 }
714 ],
715 "op" : "set"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800716 },
717 {
718 "parameters" : [
719 {
720 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700721 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800722 },
723 {
724 "type" : "hexstr",
725 "value" : "0x0800"
726 }
727 ],
728 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400729 },
730 {
731 "parameters" : [
732 {
733 "type" : "field",
734 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
735 },
736 {
737 "type" : "field",
738 "value" : ["ipv4", "src_addr"]
739 }
740 ],
741 "op" : "set"
742 },
743 {
744 "parameters" : [
745 {
746 "type" : "field",
747 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
748 },
749 {
750 "type" : "field",
751 "value" : ["ipv4", "dst_addr"]
752 }
753 ],
754 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800755 }
756 ],
757 "transitions" : [
758 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800759 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800760 "value" : "0x06",
761 "mask" : null,
762 "next_state" : "parse_tcp"
763 },
764 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800765 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800766 "value" : "0x11",
767 "mask" : null,
768 "next_state" : "parse_udp"
769 },
770 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800771 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800772 "value" : "0x01",
773 "mask" : null,
774 "next_state" : "parse_icmp"
775 },
776 {
777 "value" : "default",
778 "mask" : null,
779 "next_state" : null
780 }
781 ],
782 "transition_key" : [
783 {
784 "type" : "field",
785 "value" : ["ipv4", "protocol"]
786 }
787 ]
788 },
789 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800790 "name" : "parse_tcp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700791 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800792 "parser_ops" : [
793 {
794 "parameters" : [
795 {
796 "type" : "regular",
797 "value" : "tcp"
798 }
799 ],
800 "op" : "extract"
801 },
802 {
803 "parameters" : [
804 {
805 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700806 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800807 },
808 {
809 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800810 "value" : ["tcp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800811 }
812 ],
813 "op" : "set"
814 },
815 {
816 "parameters" : [
817 {
818 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700819 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800820 },
821 {
822 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800823 "value" : ["tcp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800824 }
825 ],
826 "op" : "set"
827 }
828 ],
829 "transitions" : [
830 {
831 "value" : "default",
832 "mask" : null,
833 "next_state" : null
834 }
835 ],
836 "transition_key" : []
837 },
838 {
839 "name" : "parse_udp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700840 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800841 "parser_ops" : [
842 {
843 "parameters" : [
844 {
845 "type" : "regular",
846 "value" : "udp"
847 }
848 ],
849 "op" : "extract"
850 },
851 {
852 "parameters" : [
853 {
854 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700855 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800856 },
857 {
858 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800859 "value" : ["udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800860 }
861 ],
862 "op" : "set"
863 },
864 {
865 "parameters" : [
866 {
867 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700868 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800869 },
870 {
871 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800872 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800873 }
874 ],
875 "op" : "set"
876 }
877 ],
878 "transitions" : [
879 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800880 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800881 "value" : "0x0868",
882 "mask" : null,
883 "next_state" : "parse_gtpu"
884 },
885 {
886 "value" : "default",
887 "mask" : null,
888 "next_state" : null
889 }
890 ],
891 "transition_key" : [
892 {
893 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800894 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800895 }
896 ]
897 },
898 {
899 "name" : "parse_icmp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700900 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800901 "parser_ops" : [
902 {
903 "parameters" : [
904 {
905 "type" : "regular",
906 "value" : "icmp"
907 }
908 ],
909 "op" : "extract"
910 }
911 ],
912 "transitions" : [
913 {
914 "value" : "default",
915 "mask" : null,
916 "next_state" : null
917 }
918 ],
919 "transition_key" : []
920 },
921 {
922 "name" : "parse_gtpu",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700923 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800924 "parser_ops" : [
925 {
926 "parameters" : [
927 {
928 "type" : "regular",
929 "value" : "gtpu"
930 }
931 ],
932 "op" : "extract"
933 },
934 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800935 "parameters" : [
936 {
937 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700938 "value" : "inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800939 }
940 ],
941 "op" : "extract"
942 }
943 ],
944 "transitions" : [
945 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800946 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800947 "value" : "0x06",
948 "mask" : null,
949 "next_state" : "parse_tcp"
950 },
951 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800952 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800953 "value" : "0x11",
954 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700955 "next_state" : "parse_inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800956 },
957 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800958 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800959 "value" : "0x01",
960 "mask" : null,
961 "next_state" : "parse_icmp"
962 },
963 {
964 "value" : "default",
965 "mask" : null,
966 "next_state" : null
967 }
968 ],
969 "transition_key" : [
970 {
971 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700972 "value" : ["inner_ipv4", "protocol"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800973 }
974 ]
975 },
976 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700977 "name" : "parse_inner_udp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700978 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800979 "parser_ops" : [
980 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800981 "parameters" : [
982 {
983 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700984 "value" : "inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800985 }
986 ],
987 "op" : "extract"
988 },
989 {
990 "parameters" : [
991 {
992 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700993 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800994 },
995 {
996 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800997 "value" : ["inner_udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800998 }
999 ],
1000 "op" : "set"
1001 },
1002 {
1003 "parameters" : [
1004 {
1005 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07001006 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001007 },
1008 {
1009 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001010 "value" : ["inner_udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001011 }
1012 ],
1013 "op" : "set"
1014 }
1015 ],
1016 "transitions" : [
1017 {
1018 "value" : "default",
1019 "mask" : null,
1020 "next_state" : null
1021 }
1022 ],
1023 "transition_key" : []
1024 }
1025 ]
1026 }
1027 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08001028 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001029 "deparsers" : [
1030 {
1031 "name" : "deparser",
1032 "id" : 0,
1033 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001034 "filename" : "include/parser.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001035 "line" : 268,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001036 "column" : 8,
1037 "source_fragment" : "FabricDeparser"
1038 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001039 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001040 }
1041 ],
1042 "meter_arrays" : [],
1043 "counter_arrays" : [
1044 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001045 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001046 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001047 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001048 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1049 "source_info" : {
1050 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001051 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001052 "column" : 50,
1053 "source_fragment" : "ingress_port_vlan_counter"
1054 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001055 },
1056 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001057 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001058 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001059 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001060 "binding" : "FabricIngress.filtering.fwd_classifier",
1061 "source_info" : {
1062 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001063 "line" : 85,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001064 "column" : 50,
1065 "source_fragment" : "fwd_classifier_counter"
1066 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001067 },
1068 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001069 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001070 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001071 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001072 "binding" : "FabricIngress.forwarding.bridging",
1073 "source_info" : {
1074 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001075 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001076 "column" : 50,
1077 "source_fragment" : "bridging_counter"
1078 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001079 },
1080 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001081 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001082 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001083 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001084 "binding" : "FabricIngress.forwarding.mpls",
1085 "source_info" : {
1086 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001087 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001088 "column" : 50,
1089 "source_fragment" : "mpls_counter"
1090 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001091 },
1092 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001093 "name" : "FabricIngress.acl.acl_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001094 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001095 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001096 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001097 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001098 "filename" : "include/control/acl.p4",
1099 "line" : 30,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001100 "column" : 50,
1101 "source_fragment" : "acl_counter"
1102 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001103 },
1104 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001105 "name" : "FabricIngress.next.next_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001106 "id" : 5,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001107 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001108 "binding" : "FabricIngress.next.next_vlan",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001109 "source_info" : {
1110 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001111 "line" : 67,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001112 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001113 "source_fragment" : "next_vlan_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001114 }
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001115 },
1116 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001117 "name" : "FabricIngress.next.xconnect_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001118 "id" : 6,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001119 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001120 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001121 "source_info" : {
1122 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001123 "line" : 107,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001124 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001125 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001126 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001127 },
1128 {
1129 "name" : "FabricIngress.next.hashed_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001130 "id" : 7,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001131 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001132 "binding" : "FabricIngress.next.hashed",
1133 "source_info" : {
1134 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001135 "line" : 184,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001136 "column" : 50,
1137 "source_fragment" : "hashed_counter"
1138 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001139 },
1140 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00001141 "name" : "FabricIngress.next.multicast_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001142 "id" : 8,
Esin Karaman971fb7f2017-12-28 13:44:52 +00001143 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001144 "binding" : "FabricIngress.next.multicast",
1145 "source_info" : {
1146 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001147 "line" : 228,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001148 "column" : 50,
1149 "source_fragment" : "multicast_counter"
1150 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00001151 },
1152 {
1153 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001154 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001155 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001156 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001157 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001158 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001159 "source_fragment" : "egress_port_counter"
1160 },
1161 "size" : 511,
1162 "is_direct" : false
1163 },
1164 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001165 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001166 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001167 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001168 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001169 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001170 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001171 "source_fragment" : "ingress_port_counter"
1172 },
1173 "size" : 511,
1174 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08001175 },
1176 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001177 "name" : "FabricIngress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001178 "id" : 11,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001179 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001180 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001181 "line" : 109,
Robert MacDavidde12b982020-07-15 18:38:59 -07001182 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001183 "source_fragment" : "pdr_counter"
1184 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001185 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001186 "is_direct" : false
1187 },
1188 {
1189 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001190 "id" : 12,
Yi Tseng47eac892018-07-11 02:17:04 +08001191 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001192 "binding" : "FabricEgress.egress_next.egress_vlan",
1193 "source_info" : {
1194 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01001195 "line" : 314,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001196 "column" : 50,
1197 "source_fragment" : "egress_vlan_counter"
1198 }
Robert MacDavidde12b982020-07-15 18:38:59 -07001199 },
1200 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001201 "name" : "FabricEgress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001202 "id" : 13,
1203 "source_info" : {
1204 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001205 "line" : 286,
Robert MacDavidde12b982020-07-15 18:38:59 -07001206 "column" : 53,
1207 "source_fragment" : "pdr_counter"
1208 },
1209 "size" : 2048,
1210 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001211 }
1212 ],
1213 "register_arrays" : [],
1214 "calculations" : [
1215 {
1216 "name" : "calc",
1217 "id" : 0,
1218 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001219 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001220 "line" : 28,
1221 "column" : 8,
1222 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1223 },
1224 "algo" : "csum16",
1225 "input" : [
1226 {
1227 "type" : "field",
1228 "value" : ["ipv4", "version"]
1229 },
1230 {
1231 "type" : "field",
1232 "value" : ["ipv4", "ihl"]
1233 },
1234 {
1235 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001236 "value" : ["ipv4", "dscp"]
1237 },
1238 {
1239 "type" : "field",
1240 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001241 },
1242 {
1243 "type" : "field",
1244 "value" : ["ipv4", "total_len"]
1245 },
1246 {
1247 "type" : "field",
1248 "value" : ["ipv4", "identification"]
1249 },
1250 {
1251 "type" : "field",
1252 "value" : ["ipv4", "flags"]
1253 },
1254 {
1255 "type" : "field",
1256 "value" : ["ipv4", "frag_offset"]
1257 },
1258 {
1259 "type" : "field",
1260 "value" : ["ipv4", "ttl"]
1261 },
1262 {
1263 "type" : "field",
1264 "value" : ["ipv4", "protocol"]
1265 },
1266 {
1267 "type" : "field",
1268 "value" : ["ipv4", "src_addr"]
1269 },
1270 {
1271 "type" : "field",
1272 "value" : ["ipv4", "dst_addr"]
1273 }
1274 ]
1275 },
1276 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001277 "name" : "calc_0",
1278 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001279 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001280 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001281 "line" : 349,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001282 "column" : 8,
1283 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1284 },
1285 "algo" : "csum16",
1286 "input" : [
1287 {
1288 "type" : "field",
1289 "value" : ["gtpu_ipv4", "version"]
1290 },
1291 {
1292 "type" : "field",
1293 "value" : ["gtpu_ipv4", "ihl"]
1294 },
1295 {
1296 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001297 "value" : ["gtpu_ipv4", "dscp"]
1298 },
1299 {
1300 "type" : "field",
1301 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001302 },
1303 {
1304 "type" : "field",
1305 "value" : ["gtpu_ipv4", "total_len"]
1306 },
1307 {
1308 "type" : "field",
1309 "value" : ["gtpu_ipv4", "identification"]
1310 },
1311 {
1312 "type" : "field",
1313 "value" : ["gtpu_ipv4", "flags"]
1314 },
1315 {
1316 "type" : "field",
1317 "value" : ["gtpu_ipv4", "frag_offset"]
1318 },
1319 {
1320 "type" : "field",
1321 "value" : ["gtpu_ipv4", "ttl"]
1322 },
1323 {
1324 "type" : "field",
1325 "value" : ["gtpu_ipv4", "protocol"]
1326 },
1327 {
1328 "type" : "field",
1329 "value" : ["gtpu_ipv4", "src_addr"]
1330 },
1331 {
1332 "type" : "field",
1333 "value" : ["gtpu_ipv4", "dst_addr"]
1334 }
1335 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001336 },
1337 {
1338 "name" : "calc_1",
1339 "id" : 2,
1340 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001341 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001342 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001343 "column" : 8,
1344 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1345 },
1346 "algo" : "csum16",
1347 "input" : [
1348 {
1349 "type" : "field",
1350 "value" : ["ipv4", "version"]
1351 },
1352 {
1353 "type" : "field",
1354 "value" : ["ipv4", "ihl"]
1355 },
1356 {
1357 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001358 "value" : ["ipv4", "dscp"]
1359 },
1360 {
1361 "type" : "field",
1362 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001363 },
1364 {
1365 "type" : "field",
1366 "value" : ["ipv4", "total_len"]
1367 },
1368 {
1369 "type" : "field",
1370 "value" : ["ipv4", "identification"]
1371 },
1372 {
1373 "type" : "field",
1374 "value" : ["ipv4", "flags"]
1375 },
1376 {
1377 "type" : "field",
1378 "value" : ["ipv4", "frag_offset"]
1379 },
1380 {
1381 "type" : "field",
1382 "value" : ["ipv4", "ttl"]
1383 },
1384 {
1385 "type" : "field",
1386 "value" : ["ipv4", "protocol"]
1387 },
1388 {
1389 "type" : "field",
1390 "value" : ["ipv4", "src_addr"]
1391 },
1392 {
1393 "type" : "field",
1394 "value" : ["ipv4", "dst_addr"]
1395 }
1396 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001397 }
1398 ],
1399 "learn_lists" : [],
1400 "actions" : [
1401 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001402 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001403 "id" : 0,
1404 "runtime_data" : [],
1405 "primitives" : []
1406 },
1407 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001408 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001409 "id" : 1,
1410 "runtime_data" : [],
1411 "primitives" : []
1412 },
1413 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001414 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001415 "id" : 2,
1416 "runtime_data" : [],
1417 "primitives" : []
1418 },
1419 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001420 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001421 "id" : 3,
1422 "runtime_data" : [],
1423 "primitives" : []
1424 },
1425 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001426 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001427 "id" : 4,
1428 "runtime_data" : [],
1429 "primitives" : []
1430 },
1431 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001432 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001433 "id" : 5,
1434 "runtime_data" : [],
1435 "primitives" : []
1436 },
1437 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001438 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001439 "id" : 6,
1440 "runtime_data" : [],
1441 "primitives" : []
1442 },
1443 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001444 "name" : "NoAction",
Robert MacDavidde12b982020-07-15 18:38:59 -07001445 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001446 "runtime_data" : [],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001447 "primitives" : []
1448 },
1449 {
1450 "name" : "NoAction",
1451 "id" : 8,
1452 "runtime_data" : [],
1453 "primitives" : []
1454 },
1455 {
1456 "name" : "FabricIngress.filtering.deny",
1457 "id" : 9,
1458 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001459 "primitives" : [
1460 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001461 "op" : "assign",
1462 "parameters" : [
1463 {
1464 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001465 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001466 },
1467 {
1468 "type" : "expression",
1469 "value" : {
1470 "type" : "expression",
1471 "value" : {
1472 "op" : "b2d",
1473 "left" : null,
1474 "right" : {
1475 "type" : "bool",
1476 "value" : true
1477 }
1478 }
1479 }
1480 }
1481 ],
1482 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001483 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001484 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001485 "column" : 40,
1486 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001487 }
1488 },
1489 {
1490 "op" : "assign",
1491 "parameters" : [
1492 {
1493 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001494 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001495 },
1496 {
1497 "type" : "expression",
1498 "value" : {
1499 "type" : "expression",
1500 "value" : {
1501 "op" : "b2d",
1502 "left" : null,
1503 "right" : {
1504 "type" : "bool",
1505 "value" : true
1506 }
1507 }
1508 }
1509 }
1510 ],
1511 "source_info" : {
1512 "filename" : "include/control/filtering.p4",
1513 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001514 "column" : 34,
1515 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001516 }
1517 }
1518 ]
1519 },
1520 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001521 "name" : "FabricIngress.filtering.permit",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001522 "id" : 10,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07001523 "runtime_data" : [],
1524 "primitives" : []
1525 },
1526 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001527 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001528 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001529 "runtime_data" : [
1530 {
1531 "name" : "vlan_id",
1532 "bitwidth" : 12
1533 }
1534 ],
1535 "primitives" : [
1536 {
1537 "op" : "assign",
1538 "parameters" : [
1539 {
1540 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001541 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001542 },
1543 {
1544 "type" : "runtime_data",
1545 "value" : 0
1546 }
1547 ],
1548 "source_info" : {
1549 "filename" : "include/control/filtering.p4",
1550 "line" : 47,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001551 "column" : 32,
1552 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001553 }
1554 }
1555 ]
1556 },
1557 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001558 "name" : "FabricIngress.filtering.set_forwarding_type",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001559 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001560 "runtime_data" : [
1561 {
1562 "name" : "fwd_type",
1563 "bitwidth" : 3
1564 }
1565 ],
1566 "primitives" : [
1567 {
1568 "op" : "assign",
1569 "parameters" : [
1570 {
1571 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001572 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001573 },
1574 {
1575 "type" : "runtime_data",
1576 "value" : 0
1577 }
1578 ],
1579 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001580 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001581 "line" : 88,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001582 "column" : 33,
1583 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001584 }
1585 }
1586 ]
1587 },
1588 {
Yi Tseng47eac892018-07-11 02:17:04 +08001589 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001590 "id" : 13,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001591 "runtime_data" : [
1592 {
1593 "name" : "next_id",
1594 "bitwidth" : 32
1595 }
1596 ],
1597 "primitives" : [
1598 {
1599 "op" : "assign",
1600 "parameters" : [
1601 {
1602 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001603 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001604 },
1605 {
1606 "type" : "runtime_data",
1607 "value" : 0
1608 }
1609 ],
1610 "source_info" : {
1611 "filename" : "include/control/forwarding.p4",
1612 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001613 "column" : 32,
1614 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001615 }
1616 }
1617 ]
1618 },
1619 {
1620 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001621 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001622 "runtime_data" : [
1623 {
1624 "name" : "next_id",
1625 "bitwidth" : 32
1626 }
1627 ],
1628 "primitives" : [
1629 {
1630 "op" : "assign",
1631 "parameters" : [
1632 {
1633 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001634 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001635 },
1636 {
1637 "type" : "hexstr",
1638 "value" : "0x000000"
1639 }
1640 ],
1641 "source_info" : {
1642 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001643 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001644 "column" : 35,
1645 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001646 }
1647 },
1648 {
1649 "op" : "assign",
1650 "parameters" : [
1651 {
1652 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001653 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001654 },
1655 {
1656 "type" : "runtime_data",
1657 "value" : 0
1658 }
1659 ],
1660 "source_info" : {
1661 "filename" : "include/control/forwarding.p4",
1662 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001663 "column" : 32,
1664 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001665 }
1666 }
1667 ]
1668 },
1669 {
1670 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001671 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001672 "runtime_data" : [
1673 {
1674 "name" : "next_id",
1675 "bitwidth" : 32
1676 }
1677 ],
1678 "primitives" : [
1679 {
1680 "op" : "assign",
1681 "parameters" : [
1682 {
1683 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001684 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001685 },
1686 {
1687 "type" : "runtime_data",
1688 "value" : 0
1689 }
1690 ],
1691 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001692 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001693 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001694 "column" : 32,
1695 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001696 }
1697 }
1698 ]
1699 },
1700 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001701 "name" : "FabricIngress.forwarding.nop_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001702 "id" : 16,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001703 "runtime_data" : [],
1704 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08001705 },
1706 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001707 "name" : "FabricIngress.acl.set_next_id_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001708 "id" : 17,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001709 "runtime_data" : [
1710 {
1711 "name" : "next_id",
1712 "bitwidth" : 32
1713 }
1714 ],
1715 "primitives" : [
1716 {
1717 "op" : "assign",
1718 "parameters" : [
1719 {
1720 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001721 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08001722 },
1723 {
1724 "type" : "runtime_data",
1725 "value" : 0
1726 }
1727 ],
1728 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001729 "filename" : "include/control/acl.p4",
1730 "line" : 33,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001731 "column" : 32,
1732 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001733 }
1734 }
1735 ]
1736 },
1737 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001738 "name" : "FabricIngress.acl.punt_to_cpu",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001739 "id" : 18,
Charles Chancd03f072018-08-31 17:46:37 -07001740 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001741 "primitives" : [
1742 {
1743 "op" : "assign",
1744 "parameters" : [
1745 {
1746 "type" : "field",
1747 "value" : ["standard_metadata", "egress_spec"]
1748 },
1749 {
1750 "type" : "hexstr",
1751 "value" : "0x00ff"
1752 }
1753 ],
1754 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001755 "filename" : "include/control/acl.p4",
1756 "line" : 39,
Carmelo Casconeb531b682018-01-30 17:55:56 -08001757 "column" : 8,
1758 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001759 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001760 },
1761 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001762 "op" : "assign",
1763 "parameters" : [
1764 {
1765 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001766 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001767 },
1768 {
1769 "type" : "expression",
1770 "value" : {
1771 "type" : "expression",
1772 "value" : {
1773 "op" : "b2d",
1774 "left" : null,
1775 "right" : {
1776 "type" : "bool",
1777 "value" : true
1778 }
1779 }
1780 }
1781 }
1782 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001783 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001784 "filename" : "include/control/acl.p4",
1785 "line" : 40,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001786 "column" : 34,
1787 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001788 }
1789 }
1790 ]
1791 },
1792 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001793 "name" : "FabricIngress.acl.set_clone_session_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001794 "id" : 19,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001795 "runtime_data" : [
1796 {
1797 "name" : "clone_id",
1798 "bitwidth" : 32
1799 }
1800 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001801 "primitives" : [
1802 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001803 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001804 "parameters" : [
1805 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001806 "type" : "runtime_data",
1807 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001808 },
1809 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001810 "type" : "hexstr",
1811 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001812 }
1813 ],
1814 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001815 "filename" : "include/control/acl.p4",
1816 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001817 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07001818 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001819 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001820 }
1821 ]
1822 },
1823 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001824 "name" : "FabricIngress.acl.drop",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001825 "id" : 20,
Yi Tseng47eac892018-07-11 02:17:04 +08001826 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001827 "primitives" : [
1828 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001829 "op" : "mark_to_drop",
1830 "parameters" : [
1831 {
1832 "type" : "header",
1833 "value" : "standard_metadata"
1834 }
1835 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001836 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001837 "filename" : "include/control/acl.p4",
1838 "line" : 51,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001839 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001840 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001841 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001842 },
1843 {
1844 "op" : "assign",
1845 "parameters" : [
1846 {
1847 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001848 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001849 },
1850 {
1851 "type" : "expression",
1852 "value" : {
1853 "type" : "expression",
1854 "value" : {
1855 "op" : "b2d",
1856 "left" : null,
1857 "right" : {
1858 "type" : "bool",
1859 "value" : true
1860 }
1861 }
1862 }
1863 }
1864 ],
1865 "source_info" : {
1866 "filename" : "include/control/acl.p4",
1867 "line" : 52,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001868 "column" : 34,
1869 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001870 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001871 }
1872 ]
1873 },
1874 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001875 "name" : "FabricIngress.acl.nop_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001876 "id" : 21,
Charles Chancf696e52018-08-16 16:25:13 -07001877 "runtime_data" : [],
1878 "primitives" : []
1879 },
1880 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001881 "name" : "FabricIngress.next.set_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001882 "id" : 22,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001883 "runtime_data" : [
1884 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001885 "name" : "vlan_id",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001886 "bitwidth" : 12
1887 }
1888 ],
1889 "primitives" : [
1890 {
1891 "op" : "assign",
1892 "parameters" : [
1893 {
1894 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001895 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001896 },
1897 {
1898 "type" : "runtime_data",
1899 "value" : 0
1900 }
1901 ],
1902 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001903 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001904 "line" : 70,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001905 "column" : 32,
1906 "source_fragment" : "= vlan_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001907 }
1908 }
1909 ]
1910 },
1911 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001912 "name" : "FabricIngress.next.output_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07001913 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08001914 "runtime_data" : [
1915 {
1916 "name" : "port_num",
1917 "bitwidth" : 9
1918 }
1919 ],
1920 "primitives" : [
1921 {
1922 "op" : "assign",
1923 "parameters" : [
1924 {
1925 "type" : "field",
1926 "value" : ["standard_metadata", "egress_spec"]
1927 },
1928 {
1929 "type" : "runtime_data",
1930 "value" : 0
1931 }
1932 ],
1933 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001934 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001935 "line" : 31,
1936 "column" : 5,
1937 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
Yi Tseng47eac892018-07-11 02:17:04 +08001938 }
1939 }
1940 ]
1941 },
1942 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001943 "name" : "FabricIngress.next.set_next_id_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07001944 "id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001945 "runtime_data" : [
1946 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001947 "name" : "next_id",
1948 "bitwidth" : 32
1949 }
1950 ],
1951 "primitives" : [
1952 {
1953 "op" : "assign",
1954 "parameters" : [
1955 {
1956 "type" : "field",
1957 "value" : ["scalars", "fabric_metadata_t._next_id9"]
1958 },
1959 {
1960 "type" : "runtime_data",
1961 "value" : 0
1962 }
1963 ],
1964 "source_info" : {
1965 "filename" : "include/control/next.p4",
1966 "line" : 115,
1967 "column" : 32,
1968 "source_fragment" : "= next_id; ..."
1969 }
1970 }
1971 ]
1972 },
1973 {
1974 "name" : "FabricIngress.next.output_hashed",
1975 "id" : 25,
1976 "runtime_data" : [
1977 {
1978 "name" : "port_num",
1979 "bitwidth" : 9
1980 }
1981 ],
1982 "primitives" : [
1983 {
1984 "op" : "assign",
1985 "parameters" : [
1986 {
1987 "type" : "field",
1988 "value" : ["standard_metadata", "egress_spec"]
1989 },
1990 {
1991 "type" : "runtime_data",
1992 "value" : 0
1993 }
1994 ],
1995 "source_info" : {
1996 "filename" : "include/control/next.p4",
1997 "line" : 31,
1998 "column" : 5,
1999 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2000 }
2001 }
2002 ]
2003 },
2004 {
2005 "name" : "FabricIngress.next.routing_hashed",
2006 "id" : 26,
2007 "runtime_data" : [
2008 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002009 "name" : "port_num",
2010 "bitwidth" : 9
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002011 },
2012 {
2013 "name" : "smac",
2014 "bitwidth" : 48
2015 },
2016 {
2017 "name" : "dmac",
2018 "bitwidth" : 48
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002019 }
2020 ],
2021 "primitives" : [
2022 {
2023 "op" : "assign",
2024 "parameters" : [
2025 {
2026 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002027 "value" : ["ethernet", "src_addr"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002028 },
2029 {
2030 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002031 "value" : 1
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002032 }
2033 ],
2034 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002035 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002036 "line" : 36,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002037 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002038 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2039 }
2040 },
2041 {
2042 "op" : "assign",
2043 "parameters" : [
2044 {
2045 "type" : "field",
2046 "value" : ["ethernet", "dst_addr"]
2047 },
2048 {
2049 "type" : "runtime_data",
2050 "value" : 2
2051 }
2052 ],
2053 "source_info" : {
2054 "filename" : "include/control/next.p4",
2055 "line" : 41,
2056 "column" : 8,
2057 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002058 }
2059 },
2060 {
2061 "op" : "assign",
2062 "parameters" : [
2063 {
2064 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002065 "value" : ["standard_metadata", "egress_spec"]
2066 },
2067 {
2068 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002069 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002070 }
2071 ],
2072 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002073 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002074 "line" : 31,
2075 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002076 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2077 }
2078 }
2079 ]
2080 },
2081 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002082 "name" : "FabricIngress.next.mpls_routing_hashed",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002083 "id" : 27,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002084 "runtime_data" : [
2085 {
2086 "name" : "port_num",
2087 "bitwidth" : 9
2088 },
2089 {
2090 "name" : "smac",
2091 "bitwidth" : 48
2092 },
2093 {
2094 "name" : "dmac",
2095 "bitwidth" : 48
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002096 },
2097 {
2098 "name" : "label",
2099 "bitwidth" : 20
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002100 }
2101 ],
2102 "primitives" : [
2103 {
2104 "op" : "assign",
2105 "parameters" : [
2106 {
2107 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002108 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002109 },
2110 {
2111 "type" : "runtime_data",
2112 "value" : 3
2113 }
2114 ],
2115 "source_info" : {
2116 "filename" : "include/control/next.p4",
2117 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002118 "column" : 35,
2119 "source_fragment" : "= label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002120 }
2121 },
2122 {
2123 "op" : "assign",
2124 "parameters" : [
2125 {
2126 "type" : "field",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002127 "value" : ["ethernet", "src_addr"]
2128 },
2129 {
2130 "type" : "runtime_data",
2131 "value" : 1
2132 }
2133 ],
2134 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002135 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002136 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002137 "column" : 8,
2138 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2139 }
2140 },
2141 {
2142 "op" : "assign",
2143 "parameters" : [
2144 {
2145 "type" : "field",
2146 "value" : ["ethernet", "dst_addr"]
2147 },
2148 {
2149 "type" : "runtime_data",
2150 "value" : 2
2151 }
2152 ],
2153 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002154 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08002155 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002156 "column" : 8,
2157 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2158 }
2159 },
2160 {
2161 "op" : "assign",
2162 "parameters" : [
2163 {
2164 "type" : "field",
2165 "value" : ["standard_metadata", "egress_spec"]
2166 },
2167 {
2168 "type" : "runtime_data",
2169 "value" : 0
2170 }
2171 ],
2172 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002173 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002174 "line" : 31,
2175 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002176 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2177 }
2178 }
2179 ]
2180 },
2181 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002182 "name" : "FabricIngress.next.set_mcast_group_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002183 "id" : 28,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002184 "runtime_data" : [
2185 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002186 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00002187 "bitwidth" : 16
2188 }
2189 ],
2190 "primitives" : [
2191 {
2192 "op" : "assign",
2193 "parameters" : [
2194 {
2195 "type" : "field",
2196 "value" : ["standard_metadata", "mcast_grp"]
2197 },
2198 {
2199 "type" : "runtime_data",
2200 "value" : 0
2201 }
2202 ],
2203 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002204 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002205 "line" : 231,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002206 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002207 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00002208 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02002209 },
2210 {
2211 "op" : "assign",
2212 "parameters" : [
2213 {
2214 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002215 "value" : ["scalars", "fabric_metadata_t._is_multicast10"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02002216 },
2217 {
2218 "type" : "expression",
2219 "value" : {
2220 "type" : "expression",
2221 "value" : {
2222 "op" : "b2d",
2223 "left" : null,
2224 "right" : {
2225 "type" : "bool",
2226 "value" : true
2227 }
2228 }
2229 }
2230 }
2231 ],
2232 "source_info" : {
2233 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002234 "line" : 232,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002235 "column" : 37,
2236 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02002237 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00002238 }
2239 ]
2240 },
2241 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002242 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
2243 "id" : 29,
2244 "runtime_data" : [],
2245 "primitives" : [
2246 {
2247 "op" : "assign",
2248 "parameters" : [
2249 {
2250 "type" : "field",
2251 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2252 },
2253 {
2254 "type" : "hexstr",
2255 "value" : "0x0800"
2256 }
2257 ],
2258 "source_info" : {
2259 "filename" : "include/control/../define.p4",
2260 "line" : 118,
2261 "column" : 31,
2262 "source_fragment" : "0x0800; ..."
2263 }
2264 },
2265 {
2266 "op" : "assign",
2267 "parameters" : [
2268 {
2269 "type" : "field",
2270 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2271 },
2272 {
2273 "type" : "field",
2274 "value" : ["inner_ipv4", "protocol"]
2275 }
2276 ],
2277 "source_info" : {
2278 "filename" : "include/control/spgw.p4",
2279 "line" : 39,
2280 "column" : 27,
2281 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2282 }
2283 },
2284 {
2285 "op" : "assign",
2286 "parameters" : [
2287 {
2288 "type" : "field",
2289 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2290 },
2291 {
2292 "type" : "field",
2293 "value" : ["inner_ipv4", "src_addr"]
2294 }
2295 ],
2296 "source_info" : {
2297 "filename" : "include/control/spgw.p4",
2298 "line" : 40,
2299 "column" : 32,
2300 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2301 }
2302 },
2303 {
2304 "op" : "assign",
2305 "parameters" : [
2306 {
2307 "type" : "field",
2308 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2309 },
2310 {
2311 "type" : "field",
2312 "value" : ["inner_ipv4", "dst_addr"]
2313 }
2314 ],
2315 "source_info" : {
2316 "filename" : "include/control/spgw.p4",
2317 "line" : 41,
2318 "column" : 32,
2319 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2320 }
2321 },
2322 {
2323 "op" : "assign",
2324 "parameters" : [
2325 {
2326 "type" : "field",
2327 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2328 },
2329 {
2330 "type" : "field",
2331 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
2332 }
2333 ],
2334 "source_info" : {
2335 "filename" : "include/control/spgw.p4",
2336 "line" : 42,
2337 "column" : 27,
2338 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2339 }
2340 },
2341 {
2342 "op" : "assign",
2343 "parameters" : [
2344 {
2345 "type" : "field",
2346 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2347 },
2348 {
2349 "type" : "field",
2350 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
2351 }
2352 ],
2353 "source_info" : {
2354 "filename" : "include/control/spgw.p4",
2355 "line" : 43,
2356 "column" : 27,
2357 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
2358 }
2359 },
2360 {
2361 "op" : "assign_header",
2362 "parameters" : [
2363 {
2364 "type" : "header",
2365 "value" : "ipv4"
2366 },
2367 {
2368 "type" : "header",
2369 "value" : "inner_ipv4"
2370 }
2371 ],
2372 "source_info" : {
2373 "filename" : "include/control/spgw.p4",
2374 "line" : 45,
2375 "column" : 8,
2376 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
2377 }
2378 },
2379 {
2380 "op" : "remove_header",
2381 "parameters" : [
2382 {
2383 "type" : "header",
2384 "value" : "inner_ipv4"
2385 }
2386 ],
2387 "source_info" : {
2388 "filename" : "include/control/spgw.p4",
2389 "line" : 46,
2390 "column" : 8,
2391 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
2392 }
2393 },
2394 {
2395 "op" : "remove_header",
2396 "parameters" : [
2397 {
2398 "type" : "header",
2399 "value" : "gtpu"
2400 }
2401 ],
2402 "source_info" : {
2403 "filename" : "include/control/spgw.p4",
2404 "line" : 47,
2405 "column" : 8,
2406 "source_fragment" : "hdr.gtpu.setInvalid()"
2407 }
2408 },
2409 {
2410 "op" : "remove_header",
2411 "parameters" : [
2412 {
2413 "type" : "header",
2414 "value" : "udp"
2415 }
2416 ],
2417 "source_info" : {
2418 "filename" : "include/control/spgw.p4",
2419 "line" : 52,
2420 "column" : 8,
2421 "source_fragment" : "hdr.udp.setInvalid()"
2422 }
2423 },
2424 {
2425 "op" : "assign_header",
2426 "parameters" : [
2427 {
2428 "type" : "header",
2429 "value" : "tcp"
2430 },
2431 {
2432 "type" : "header",
2433 "value" : "inner_tcp"
2434 }
2435 ],
2436 "source_info" : {
2437 "filename" : "include/control/spgw.p4",
2438 "line" : 53,
2439 "column" : 8,
2440 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
2441 }
2442 },
2443 {
2444 "op" : "remove_header",
2445 "parameters" : [
2446 {
2447 "type" : "header",
2448 "value" : "inner_tcp"
2449 }
2450 ],
2451 "source_info" : {
2452 "filename" : "include/control/spgw.p4",
2453 "line" : 54,
2454 "column" : 8,
2455 "source_fragment" : "hdr.inner_tcp.setInvalid()"
2456 }
2457 }
2458 ]
2459 },
2460 {
2461 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
2462 "id" : 30,
2463 "runtime_data" : [],
2464 "primitives" : [
2465 {
2466 "op" : "assign",
2467 "parameters" : [
2468 {
2469 "type" : "field",
2470 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2471 },
2472 {
2473 "type" : "hexstr",
2474 "value" : "0x0800"
2475 }
2476 ],
2477 "source_info" : {
2478 "filename" : "include/control/../define.p4",
2479 "line" : 118,
2480 "column" : 31,
2481 "source_fragment" : "0x0800; ..."
2482 }
2483 },
2484 {
2485 "op" : "assign",
2486 "parameters" : [
2487 {
2488 "type" : "field",
2489 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2490 },
2491 {
2492 "type" : "field",
2493 "value" : ["inner_ipv4", "protocol"]
2494 }
2495 ],
2496 "source_info" : {
2497 "filename" : "include/control/spgw.p4",
2498 "line" : 39,
2499 "column" : 27,
2500 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2501 }
2502 },
2503 {
2504 "op" : "assign",
2505 "parameters" : [
2506 {
2507 "type" : "field",
2508 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2509 },
2510 {
2511 "type" : "field",
2512 "value" : ["inner_ipv4", "src_addr"]
2513 }
2514 ],
2515 "source_info" : {
2516 "filename" : "include/control/spgw.p4",
2517 "line" : 40,
2518 "column" : 32,
2519 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2520 }
2521 },
2522 {
2523 "op" : "assign",
2524 "parameters" : [
2525 {
2526 "type" : "field",
2527 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2528 },
2529 {
2530 "type" : "field",
2531 "value" : ["inner_ipv4", "dst_addr"]
2532 }
2533 ],
2534 "source_info" : {
2535 "filename" : "include/control/spgw.p4",
2536 "line" : 41,
2537 "column" : 32,
2538 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2539 }
2540 },
2541 {
2542 "op" : "assign",
2543 "parameters" : [
2544 {
2545 "type" : "field",
2546 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2547 },
2548 {
2549 "type" : "field",
2550 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
2551 }
2552 ],
2553 "source_info" : {
2554 "filename" : "include/control/spgw.p4",
2555 "line" : 42,
2556 "column" : 27,
2557 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2558 }
2559 },
2560 {
2561 "op" : "assign",
2562 "parameters" : [
2563 {
2564 "type" : "field",
2565 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2566 },
2567 {
2568 "type" : "field",
2569 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
2570 }
2571 ],
2572 "source_info" : {
2573 "filename" : "include/control/spgw.p4",
2574 "line" : 43,
2575 "column" : 27,
2576 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
2577 }
2578 },
2579 {
2580 "op" : "assign_header",
2581 "parameters" : [
2582 {
2583 "type" : "header",
2584 "value" : "ipv4"
2585 },
2586 {
2587 "type" : "header",
2588 "value" : "inner_ipv4"
2589 }
2590 ],
2591 "source_info" : {
2592 "filename" : "include/control/spgw.p4",
2593 "line" : 45,
2594 "column" : 8,
2595 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
2596 }
2597 },
2598 {
2599 "op" : "remove_header",
2600 "parameters" : [
2601 {
2602 "type" : "header",
2603 "value" : "inner_ipv4"
2604 }
2605 ],
2606 "source_info" : {
2607 "filename" : "include/control/spgw.p4",
2608 "line" : 46,
2609 "column" : 8,
2610 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
2611 }
2612 },
2613 {
2614 "op" : "remove_header",
2615 "parameters" : [
2616 {
2617 "type" : "header",
2618 "value" : "gtpu"
2619 }
2620 ],
2621 "source_info" : {
2622 "filename" : "include/control/spgw.p4",
2623 "line" : 47,
2624 "column" : 8,
2625 "source_fragment" : "hdr.gtpu.setInvalid()"
2626 }
2627 },
2628 {
2629 "op" : "assign_header",
2630 "parameters" : [
2631 {
2632 "type" : "header",
2633 "value" : "udp"
2634 },
2635 {
2636 "type" : "header",
2637 "value" : "inner_udp"
2638 }
2639 ],
2640 "source_info" : {
2641 "filename" : "include/control/spgw.p4",
2642 "line" : 59,
2643 "column" : 8,
2644 "source_fragment" : "hdr.udp = hdr.inner_udp"
2645 }
2646 },
2647 {
2648 "op" : "remove_header",
2649 "parameters" : [
2650 {
2651 "type" : "header",
2652 "value" : "inner_udp"
2653 }
2654 ],
2655 "source_info" : {
2656 "filename" : "include/control/spgw.p4",
2657 "line" : 60,
2658 "column" : 8,
2659 "source_fragment" : "hdr.inner_udp.setInvalid()"
2660 }
2661 }
2662 ]
2663 },
2664 {
2665 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
2666 "id" : 31,
2667 "runtime_data" : [],
2668 "primitives" : [
2669 {
2670 "op" : "assign",
2671 "parameters" : [
2672 {
2673 "type" : "field",
2674 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2675 },
2676 {
2677 "type" : "hexstr",
2678 "value" : "0x0800"
2679 }
2680 ],
2681 "source_info" : {
2682 "filename" : "include/control/../define.p4",
2683 "line" : 118,
2684 "column" : 31,
2685 "source_fragment" : "0x0800; ..."
2686 }
2687 },
2688 {
2689 "op" : "assign",
2690 "parameters" : [
2691 {
2692 "type" : "field",
2693 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2694 },
2695 {
2696 "type" : "field",
2697 "value" : ["inner_ipv4", "protocol"]
2698 }
2699 ],
2700 "source_info" : {
2701 "filename" : "include/control/spgw.p4",
2702 "line" : 39,
2703 "column" : 27,
2704 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2705 }
2706 },
2707 {
2708 "op" : "assign",
2709 "parameters" : [
2710 {
2711 "type" : "field",
2712 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2713 },
2714 {
2715 "type" : "field",
2716 "value" : ["inner_ipv4", "src_addr"]
2717 }
2718 ],
2719 "source_info" : {
2720 "filename" : "include/control/spgw.p4",
2721 "line" : 40,
2722 "column" : 32,
2723 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2724 }
2725 },
2726 {
2727 "op" : "assign",
2728 "parameters" : [
2729 {
2730 "type" : "field",
2731 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2732 },
2733 {
2734 "type" : "field",
2735 "value" : ["inner_ipv4", "dst_addr"]
2736 }
2737 ],
2738 "source_info" : {
2739 "filename" : "include/control/spgw.p4",
2740 "line" : 41,
2741 "column" : 32,
2742 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2743 }
2744 },
2745 {
2746 "op" : "assign",
2747 "parameters" : [
2748 {
2749 "type" : "field",
2750 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2751 },
2752 {
2753 "type" : "field",
2754 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
2755 }
2756 ],
2757 "source_info" : {
2758 "filename" : "include/control/spgw.p4",
2759 "line" : 42,
2760 "column" : 27,
2761 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2762 }
2763 },
2764 {
2765 "op" : "assign",
2766 "parameters" : [
2767 {
2768 "type" : "field",
2769 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2770 },
2771 {
2772 "type" : "field",
2773 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
2774 }
2775 ],
2776 "source_info" : {
2777 "filename" : "include/control/spgw.p4",
2778 "line" : 43,
2779 "column" : 27,
2780 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
2781 }
2782 },
2783 {
2784 "op" : "assign_header",
2785 "parameters" : [
2786 {
2787 "type" : "header",
2788 "value" : "ipv4"
2789 },
2790 {
2791 "type" : "header",
2792 "value" : "inner_ipv4"
2793 }
2794 ],
2795 "source_info" : {
2796 "filename" : "include/control/spgw.p4",
2797 "line" : 45,
2798 "column" : 8,
2799 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
2800 }
2801 },
2802 {
2803 "op" : "remove_header",
2804 "parameters" : [
2805 {
2806 "type" : "header",
2807 "value" : "inner_ipv4"
2808 }
2809 ],
2810 "source_info" : {
2811 "filename" : "include/control/spgw.p4",
2812 "line" : 46,
2813 "column" : 8,
2814 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
2815 }
2816 },
2817 {
2818 "op" : "remove_header",
2819 "parameters" : [
2820 {
2821 "type" : "header",
2822 "value" : "gtpu"
2823 }
2824 ],
2825 "source_info" : {
2826 "filename" : "include/control/spgw.p4",
2827 "line" : 47,
2828 "column" : 8,
2829 "source_fragment" : "hdr.gtpu.setInvalid()"
2830 }
2831 },
2832 {
2833 "op" : "remove_header",
2834 "parameters" : [
2835 {
2836 "type" : "header",
2837 "value" : "udp"
2838 }
2839 ],
2840 "source_info" : {
2841 "filename" : "include/control/spgw.p4",
2842 "line" : 65,
2843 "column" : 8,
2844 "source_fragment" : "hdr.udp.setInvalid()"
2845 }
2846 },
2847 {
2848 "op" : "assign_header",
2849 "parameters" : [
2850 {
2851 "type" : "header",
2852 "value" : "icmp"
2853 },
2854 {
2855 "type" : "header",
2856 "value" : "inner_icmp"
2857 }
2858 ],
2859 "source_info" : {
2860 "filename" : "include/control/spgw.p4",
2861 "line" : 66,
2862 "column" : 8,
2863 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
2864 }
2865 },
2866 {
2867 "op" : "remove_header",
2868 "parameters" : [
2869 {
2870 "type" : "header",
2871 "value" : "inner_icmp"
2872 }
2873 ],
2874 "source_info" : {
2875 "filename" : "include/control/spgw.p4",
2876 "line" : 67,
2877 "column" : 8,
2878 "source_fragment" : "hdr.inner_icmp.setInvalid()"
2879 }
2880 }
2881 ]
2882 },
2883 {
2884 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
2885 "id" : 32,
2886 "runtime_data" : [],
2887 "primitives" : [
2888 {
2889 "op" : "assign",
2890 "parameters" : [
2891 {
2892 "type" : "field",
2893 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2894 },
2895 {
2896 "type" : "hexstr",
2897 "value" : "0x0800"
2898 }
2899 ],
2900 "source_info" : {
2901 "filename" : "include/control/../define.p4",
2902 "line" : 118,
2903 "column" : 31,
2904 "source_fragment" : "0x0800; ..."
2905 }
2906 },
2907 {
2908 "op" : "assign",
2909 "parameters" : [
2910 {
2911 "type" : "field",
2912 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2913 },
2914 {
2915 "type" : "field",
2916 "value" : ["inner_ipv4", "protocol"]
2917 }
2918 ],
2919 "source_info" : {
2920 "filename" : "include/control/spgw.p4",
2921 "line" : 39,
2922 "column" : 27,
2923 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2924 }
2925 },
2926 {
2927 "op" : "assign",
2928 "parameters" : [
2929 {
2930 "type" : "field",
2931 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2932 },
2933 {
2934 "type" : "field",
2935 "value" : ["inner_ipv4", "src_addr"]
2936 }
2937 ],
2938 "source_info" : {
2939 "filename" : "include/control/spgw.p4",
2940 "line" : 40,
2941 "column" : 32,
2942 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2943 }
2944 },
2945 {
2946 "op" : "assign",
2947 "parameters" : [
2948 {
2949 "type" : "field",
2950 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2951 },
2952 {
2953 "type" : "field",
2954 "value" : ["inner_ipv4", "dst_addr"]
2955 }
2956 ],
2957 "source_info" : {
2958 "filename" : "include/control/spgw.p4",
2959 "line" : 41,
2960 "column" : 32,
2961 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2962 }
2963 },
2964 {
2965 "op" : "assign",
2966 "parameters" : [
2967 {
2968 "type" : "field",
2969 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2970 },
2971 {
2972 "type" : "field",
2973 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
2974 }
2975 ],
2976 "source_info" : {
2977 "filename" : "include/control/spgw.p4",
2978 "line" : 42,
2979 "column" : 27,
2980 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2981 }
2982 },
2983 {
2984 "op" : "assign",
2985 "parameters" : [
2986 {
2987 "type" : "field",
2988 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2989 },
2990 {
2991 "type" : "field",
2992 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
2993 }
2994 ],
2995 "source_info" : {
2996 "filename" : "include/control/spgw.p4",
2997 "line" : 43,
2998 "column" : 27,
2999 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3000 }
3001 },
3002 {
3003 "op" : "assign_header",
3004 "parameters" : [
3005 {
3006 "type" : "header",
3007 "value" : "ipv4"
3008 },
3009 {
3010 "type" : "header",
3011 "value" : "inner_ipv4"
3012 }
3013 ],
3014 "source_info" : {
3015 "filename" : "include/control/spgw.p4",
3016 "line" : 45,
3017 "column" : 8,
3018 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3019 }
3020 },
3021 {
3022 "op" : "remove_header",
3023 "parameters" : [
3024 {
3025 "type" : "header",
3026 "value" : "inner_ipv4"
3027 }
3028 ],
3029 "source_info" : {
3030 "filename" : "include/control/spgw.p4",
3031 "line" : 46,
3032 "column" : 8,
3033 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3034 }
3035 },
3036 {
3037 "op" : "remove_header",
3038 "parameters" : [
3039 {
3040 "type" : "header",
3041 "value" : "gtpu"
3042 }
3043 ],
3044 "source_info" : {
3045 "filename" : "include/control/spgw.p4",
3046 "line" : 47,
3047 "column" : 8,
3048 "source_fragment" : "hdr.gtpu.setInvalid()"
3049 }
3050 },
3051 {
3052 "op" : "remove_header",
3053 "parameters" : [
3054 {
3055 "type" : "header",
3056 "value" : "udp"
3057 }
3058 ],
3059 "source_info" : {
3060 "filename" : "include/control/spgw.p4",
3061 "line" : 72,
3062 "column" : 8,
3063 "source_fragment" : "hdr.udp.setInvalid()"
3064 }
3065 }
3066 ]
3067 },
3068 {
3069 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
3070 "id" : 33,
3071 "runtime_data" : [],
3072 "primitives" : [
3073 {
3074 "op" : "assign",
3075 "parameters" : [
3076 {
3077 "type" : "field",
3078 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3079 },
3080 {
3081 "type" : "hexstr",
3082 "value" : "0x0800"
3083 }
3084 ],
3085 "source_info" : {
3086 "filename" : "include/control/../define.p4",
3087 "line" : 118,
3088 "column" : 31,
3089 "source_fragment" : "0x0800; ..."
3090 }
3091 },
3092 {
3093 "op" : "assign",
3094 "parameters" : [
3095 {
3096 "type" : "field",
3097 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3098 },
3099 {
3100 "type" : "field",
3101 "value" : ["inner_ipv4", "protocol"]
3102 }
3103 ],
3104 "source_info" : {
3105 "filename" : "include/control/spgw.p4",
3106 "line" : 39,
3107 "column" : 27,
3108 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3109 }
3110 },
3111 {
3112 "op" : "assign",
3113 "parameters" : [
3114 {
3115 "type" : "field",
3116 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3117 },
3118 {
3119 "type" : "field",
3120 "value" : ["inner_ipv4", "src_addr"]
3121 }
3122 ],
3123 "source_info" : {
3124 "filename" : "include/control/spgw.p4",
3125 "line" : 40,
3126 "column" : 32,
3127 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3128 }
3129 },
3130 {
3131 "op" : "assign",
3132 "parameters" : [
3133 {
3134 "type" : "field",
3135 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3136 },
3137 {
3138 "type" : "field",
3139 "value" : ["inner_ipv4", "dst_addr"]
3140 }
3141 ],
3142 "source_info" : {
3143 "filename" : "include/control/spgw.p4",
3144 "line" : 41,
3145 "column" : 32,
3146 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3147 }
3148 },
3149 {
3150 "op" : "assign",
3151 "parameters" : [
3152 {
3153 "type" : "field",
3154 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3155 },
3156 {
3157 "type" : "field",
3158 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3159 }
3160 ],
3161 "source_info" : {
3162 "filename" : "include/control/spgw.p4",
3163 "line" : 42,
3164 "column" : 27,
3165 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3166 }
3167 },
3168 {
3169 "op" : "assign",
3170 "parameters" : [
3171 {
3172 "type" : "field",
3173 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3174 },
3175 {
3176 "type" : "field",
3177 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3178 }
3179 ],
3180 "source_info" : {
3181 "filename" : "include/control/spgw.p4",
3182 "line" : 43,
3183 "column" : 27,
3184 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3185 }
3186 },
3187 {
3188 "op" : "assign_header",
3189 "parameters" : [
3190 {
3191 "type" : "header",
3192 "value" : "ipv4"
3193 },
3194 {
3195 "type" : "header",
3196 "value" : "inner_ipv4"
3197 }
3198 ],
3199 "source_info" : {
3200 "filename" : "include/control/spgw.p4",
3201 "line" : 45,
3202 "column" : 8,
3203 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3204 }
3205 },
3206 {
3207 "op" : "remove_header",
3208 "parameters" : [
3209 {
3210 "type" : "header",
3211 "value" : "inner_ipv4"
3212 }
3213 ],
3214 "source_info" : {
3215 "filename" : "include/control/spgw.p4",
3216 "line" : 46,
3217 "column" : 8,
3218 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3219 }
3220 },
3221 {
3222 "op" : "remove_header",
3223 "parameters" : [
3224 {
3225 "type" : "header",
3226 "value" : "gtpu"
3227 }
3228 ],
3229 "source_info" : {
3230 "filename" : "include/control/spgw.p4",
3231 "line" : 47,
3232 "column" : 8,
3233 "source_fragment" : "hdr.gtpu.setInvalid()"
3234 }
3235 },
3236 {
3237 "op" : "remove_header",
3238 "parameters" : [
3239 {
3240 "type" : "header",
3241 "value" : "udp"
3242 }
3243 ],
3244 "source_info" : {
3245 "filename" : "include/control/spgw.p4",
3246 "line" : 52,
3247 "column" : 8,
3248 "source_fragment" : "hdr.udp.setInvalid()"
3249 }
3250 },
3251 {
3252 "op" : "assign_header",
3253 "parameters" : [
3254 {
3255 "type" : "header",
3256 "value" : "tcp"
3257 },
3258 {
3259 "type" : "header",
3260 "value" : "inner_tcp"
3261 }
3262 ],
3263 "source_info" : {
3264 "filename" : "include/control/spgw.p4",
3265 "line" : 53,
3266 "column" : 8,
3267 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3268 }
3269 },
3270 {
3271 "op" : "remove_header",
3272 "parameters" : [
3273 {
3274 "type" : "header",
3275 "value" : "inner_tcp"
3276 }
3277 ],
3278 "source_info" : {
3279 "filename" : "include/control/spgw.p4",
3280 "line" : 54,
3281 "column" : 8,
3282 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3283 }
3284 }
3285 ]
3286 },
3287 {
3288 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
3289 "id" : 34,
3290 "runtime_data" : [],
3291 "primitives" : [
3292 {
3293 "op" : "assign",
3294 "parameters" : [
3295 {
3296 "type" : "field",
3297 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3298 },
3299 {
3300 "type" : "hexstr",
3301 "value" : "0x0800"
3302 }
3303 ],
3304 "source_info" : {
3305 "filename" : "include/control/../define.p4",
3306 "line" : 118,
3307 "column" : 31,
3308 "source_fragment" : "0x0800; ..."
3309 }
3310 },
3311 {
3312 "op" : "assign",
3313 "parameters" : [
3314 {
3315 "type" : "field",
3316 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3317 },
3318 {
3319 "type" : "field",
3320 "value" : ["inner_ipv4", "protocol"]
3321 }
3322 ],
3323 "source_info" : {
3324 "filename" : "include/control/spgw.p4",
3325 "line" : 39,
3326 "column" : 27,
3327 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3328 }
3329 },
3330 {
3331 "op" : "assign",
3332 "parameters" : [
3333 {
3334 "type" : "field",
3335 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3336 },
3337 {
3338 "type" : "field",
3339 "value" : ["inner_ipv4", "src_addr"]
3340 }
3341 ],
3342 "source_info" : {
3343 "filename" : "include/control/spgw.p4",
3344 "line" : 40,
3345 "column" : 32,
3346 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3347 }
3348 },
3349 {
3350 "op" : "assign",
3351 "parameters" : [
3352 {
3353 "type" : "field",
3354 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3355 },
3356 {
3357 "type" : "field",
3358 "value" : ["inner_ipv4", "dst_addr"]
3359 }
3360 ],
3361 "source_info" : {
3362 "filename" : "include/control/spgw.p4",
3363 "line" : 41,
3364 "column" : 32,
3365 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3366 }
3367 },
3368 {
3369 "op" : "assign",
3370 "parameters" : [
3371 {
3372 "type" : "field",
3373 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3374 },
3375 {
3376 "type" : "field",
3377 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3378 }
3379 ],
3380 "source_info" : {
3381 "filename" : "include/control/spgw.p4",
3382 "line" : 42,
3383 "column" : 27,
3384 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3385 }
3386 },
3387 {
3388 "op" : "assign",
3389 "parameters" : [
3390 {
3391 "type" : "field",
3392 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3393 },
3394 {
3395 "type" : "field",
3396 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3397 }
3398 ],
3399 "source_info" : {
3400 "filename" : "include/control/spgw.p4",
3401 "line" : 43,
3402 "column" : 27,
3403 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3404 }
3405 },
3406 {
3407 "op" : "assign_header",
3408 "parameters" : [
3409 {
3410 "type" : "header",
3411 "value" : "ipv4"
3412 },
3413 {
3414 "type" : "header",
3415 "value" : "inner_ipv4"
3416 }
3417 ],
3418 "source_info" : {
3419 "filename" : "include/control/spgw.p4",
3420 "line" : 45,
3421 "column" : 8,
3422 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3423 }
3424 },
3425 {
3426 "op" : "remove_header",
3427 "parameters" : [
3428 {
3429 "type" : "header",
3430 "value" : "inner_ipv4"
3431 }
3432 ],
3433 "source_info" : {
3434 "filename" : "include/control/spgw.p4",
3435 "line" : 46,
3436 "column" : 8,
3437 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3438 }
3439 },
3440 {
3441 "op" : "remove_header",
3442 "parameters" : [
3443 {
3444 "type" : "header",
3445 "value" : "gtpu"
3446 }
3447 ],
3448 "source_info" : {
3449 "filename" : "include/control/spgw.p4",
3450 "line" : 47,
3451 "column" : 8,
3452 "source_fragment" : "hdr.gtpu.setInvalid()"
3453 }
3454 },
3455 {
3456 "op" : "assign_header",
3457 "parameters" : [
3458 {
3459 "type" : "header",
3460 "value" : "udp"
3461 },
3462 {
3463 "type" : "header",
3464 "value" : "inner_udp"
3465 }
3466 ],
3467 "source_info" : {
3468 "filename" : "include/control/spgw.p4",
3469 "line" : 59,
3470 "column" : 8,
3471 "source_fragment" : "hdr.udp = hdr.inner_udp"
3472 }
3473 },
3474 {
3475 "op" : "remove_header",
3476 "parameters" : [
3477 {
3478 "type" : "header",
3479 "value" : "inner_udp"
3480 }
3481 ],
3482 "source_info" : {
3483 "filename" : "include/control/spgw.p4",
3484 "line" : 60,
3485 "column" : 8,
3486 "source_fragment" : "hdr.inner_udp.setInvalid()"
3487 }
3488 }
3489 ]
3490 },
3491 {
3492 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
3493 "id" : 35,
3494 "runtime_data" : [],
3495 "primitives" : [
3496 {
3497 "op" : "assign",
3498 "parameters" : [
3499 {
3500 "type" : "field",
3501 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3502 },
3503 {
3504 "type" : "hexstr",
3505 "value" : "0x0800"
3506 }
3507 ],
3508 "source_info" : {
3509 "filename" : "include/control/../define.p4",
3510 "line" : 118,
3511 "column" : 31,
3512 "source_fragment" : "0x0800; ..."
3513 }
3514 },
3515 {
3516 "op" : "assign",
3517 "parameters" : [
3518 {
3519 "type" : "field",
3520 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3521 },
3522 {
3523 "type" : "field",
3524 "value" : ["inner_ipv4", "protocol"]
3525 }
3526 ],
3527 "source_info" : {
3528 "filename" : "include/control/spgw.p4",
3529 "line" : 39,
3530 "column" : 27,
3531 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3532 }
3533 },
3534 {
3535 "op" : "assign",
3536 "parameters" : [
3537 {
3538 "type" : "field",
3539 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3540 },
3541 {
3542 "type" : "field",
3543 "value" : ["inner_ipv4", "src_addr"]
3544 }
3545 ],
3546 "source_info" : {
3547 "filename" : "include/control/spgw.p4",
3548 "line" : 40,
3549 "column" : 32,
3550 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3551 }
3552 },
3553 {
3554 "op" : "assign",
3555 "parameters" : [
3556 {
3557 "type" : "field",
3558 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3559 },
3560 {
3561 "type" : "field",
3562 "value" : ["inner_ipv4", "dst_addr"]
3563 }
3564 ],
3565 "source_info" : {
3566 "filename" : "include/control/spgw.p4",
3567 "line" : 41,
3568 "column" : 32,
3569 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3570 }
3571 },
3572 {
3573 "op" : "assign",
3574 "parameters" : [
3575 {
3576 "type" : "field",
3577 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3578 },
3579 {
3580 "type" : "field",
3581 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3582 }
3583 ],
3584 "source_info" : {
3585 "filename" : "include/control/spgw.p4",
3586 "line" : 42,
3587 "column" : 27,
3588 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3589 }
3590 },
3591 {
3592 "op" : "assign",
3593 "parameters" : [
3594 {
3595 "type" : "field",
3596 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3597 },
3598 {
3599 "type" : "field",
3600 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3601 }
3602 ],
3603 "source_info" : {
3604 "filename" : "include/control/spgw.p4",
3605 "line" : 43,
3606 "column" : 27,
3607 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3608 }
3609 },
3610 {
3611 "op" : "assign_header",
3612 "parameters" : [
3613 {
3614 "type" : "header",
3615 "value" : "ipv4"
3616 },
3617 {
3618 "type" : "header",
3619 "value" : "inner_ipv4"
3620 }
3621 ],
3622 "source_info" : {
3623 "filename" : "include/control/spgw.p4",
3624 "line" : 45,
3625 "column" : 8,
3626 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3627 }
3628 },
3629 {
3630 "op" : "remove_header",
3631 "parameters" : [
3632 {
3633 "type" : "header",
3634 "value" : "inner_ipv4"
3635 }
3636 ],
3637 "source_info" : {
3638 "filename" : "include/control/spgw.p4",
3639 "line" : 46,
3640 "column" : 8,
3641 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3642 }
3643 },
3644 {
3645 "op" : "remove_header",
3646 "parameters" : [
3647 {
3648 "type" : "header",
3649 "value" : "gtpu"
3650 }
3651 ],
3652 "source_info" : {
3653 "filename" : "include/control/spgw.p4",
3654 "line" : 47,
3655 "column" : 8,
3656 "source_fragment" : "hdr.gtpu.setInvalid()"
3657 }
3658 },
3659 {
3660 "op" : "remove_header",
3661 "parameters" : [
3662 {
3663 "type" : "header",
3664 "value" : "udp"
3665 }
3666 ],
3667 "source_info" : {
3668 "filename" : "include/control/spgw.p4",
3669 "line" : 65,
3670 "column" : 8,
3671 "source_fragment" : "hdr.udp.setInvalid()"
3672 }
3673 },
3674 {
3675 "op" : "assign_header",
3676 "parameters" : [
3677 {
3678 "type" : "header",
3679 "value" : "icmp"
3680 },
3681 {
3682 "type" : "header",
3683 "value" : "inner_icmp"
3684 }
3685 ],
3686 "source_info" : {
3687 "filename" : "include/control/spgw.p4",
3688 "line" : 66,
3689 "column" : 8,
3690 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3691 }
3692 },
3693 {
3694 "op" : "remove_header",
3695 "parameters" : [
3696 {
3697 "type" : "header",
3698 "value" : "inner_icmp"
3699 }
3700 ],
3701 "source_info" : {
3702 "filename" : "include/control/spgw.p4",
3703 "line" : 67,
3704 "column" : 8,
3705 "source_fragment" : "hdr.inner_icmp.setInvalid()"
3706 }
3707 }
3708 ]
3709 },
3710 {
3711 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
3712 "id" : 36,
3713 "runtime_data" : [],
3714 "primitives" : [
3715 {
3716 "op" : "assign",
3717 "parameters" : [
3718 {
3719 "type" : "field",
3720 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3721 },
3722 {
3723 "type" : "hexstr",
3724 "value" : "0x0800"
3725 }
3726 ],
3727 "source_info" : {
3728 "filename" : "include/control/../define.p4",
3729 "line" : 118,
3730 "column" : 31,
3731 "source_fragment" : "0x0800; ..."
3732 }
3733 },
3734 {
3735 "op" : "assign",
3736 "parameters" : [
3737 {
3738 "type" : "field",
3739 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3740 },
3741 {
3742 "type" : "field",
3743 "value" : ["inner_ipv4", "protocol"]
3744 }
3745 ],
3746 "source_info" : {
3747 "filename" : "include/control/spgw.p4",
3748 "line" : 39,
3749 "column" : 27,
3750 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3751 }
3752 },
3753 {
3754 "op" : "assign",
3755 "parameters" : [
3756 {
3757 "type" : "field",
3758 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3759 },
3760 {
3761 "type" : "field",
3762 "value" : ["inner_ipv4", "src_addr"]
3763 }
3764 ],
3765 "source_info" : {
3766 "filename" : "include/control/spgw.p4",
3767 "line" : 40,
3768 "column" : 32,
3769 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3770 }
3771 },
3772 {
3773 "op" : "assign",
3774 "parameters" : [
3775 {
3776 "type" : "field",
3777 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3778 },
3779 {
3780 "type" : "field",
3781 "value" : ["inner_ipv4", "dst_addr"]
3782 }
3783 ],
3784 "source_info" : {
3785 "filename" : "include/control/spgw.p4",
3786 "line" : 41,
3787 "column" : 32,
3788 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3789 }
3790 },
3791 {
3792 "op" : "assign",
3793 "parameters" : [
3794 {
3795 "type" : "field",
3796 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3797 },
3798 {
3799 "type" : "field",
3800 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3801 }
3802 ],
3803 "source_info" : {
3804 "filename" : "include/control/spgw.p4",
3805 "line" : 42,
3806 "column" : 27,
3807 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3808 }
3809 },
3810 {
3811 "op" : "assign",
3812 "parameters" : [
3813 {
3814 "type" : "field",
3815 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3816 },
3817 {
3818 "type" : "field",
3819 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3820 }
3821 ],
3822 "source_info" : {
3823 "filename" : "include/control/spgw.p4",
3824 "line" : 43,
3825 "column" : 27,
3826 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3827 }
3828 },
3829 {
3830 "op" : "assign_header",
3831 "parameters" : [
3832 {
3833 "type" : "header",
3834 "value" : "ipv4"
3835 },
3836 {
3837 "type" : "header",
3838 "value" : "inner_ipv4"
3839 }
3840 ],
3841 "source_info" : {
3842 "filename" : "include/control/spgw.p4",
3843 "line" : 45,
3844 "column" : 8,
3845 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3846 }
3847 },
3848 {
3849 "op" : "remove_header",
3850 "parameters" : [
3851 {
3852 "type" : "header",
3853 "value" : "inner_ipv4"
3854 }
3855 ],
3856 "source_info" : {
3857 "filename" : "include/control/spgw.p4",
3858 "line" : 46,
3859 "column" : 8,
3860 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3861 }
3862 },
3863 {
3864 "op" : "remove_header",
3865 "parameters" : [
3866 {
3867 "type" : "header",
3868 "value" : "gtpu"
3869 }
3870 ],
3871 "source_info" : {
3872 "filename" : "include/control/spgw.p4",
3873 "line" : 47,
3874 "column" : 8,
3875 "source_fragment" : "hdr.gtpu.setInvalid()"
3876 }
3877 },
3878 {
3879 "op" : "remove_header",
3880 "parameters" : [
3881 {
3882 "type" : "header",
3883 "value" : "udp"
3884 }
3885 ],
3886 "source_info" : {
3887 "filename" : "include/control/spgw.p4",
3888 "line" : 72,
3889 "column" : 8,
3890 "source_fragment" : "hdr.udp.setInvalid()"
3891 }
3892 }
3893 ]
3894 },
3895 {
3896 "name" : "FabricIngress.spgw.load_iface",
3897 "id" : 37,
Robert MacDavidde12b982020-07-15 18:38:59 -07003898 "runtime_data" : [
3899 {
3900 "name" : "src_iface",
3901 "bitwidth" : 8
Robert MacDavidde12b982020-07-15 18:38:59 -07003902 }
3903 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003904 "primitives" : [
3905 {
3906 "op" : "assign",
3907 "parameters" : [
3908 {
3909 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003910 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07003911 },
3912 {
3913 "type" : "runtime_data",
3914 "value" : 0
3915 }
3916 ],
3917 "source_info" : {
3918 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003919 "line" : 121,
Robert MacDavidde12b982020-07-15 18:38:59 -07003920 "column" : 33,
3921 "source_fragment" : "= src_iface; ..."
3922 }
3923 },
3924 {
3925 "op" : "assign",
3926 "parameters" : [
3927 {
3928 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003929 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07003930 },
3931 {
3932 "type" : "expression",
3933 "value" : {
3934 "type" : "expression",
3935 "value" : {
3936 "op" : "b2d",
3937 "left" : null,
3938 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003939 "type" : "bool",
3940 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07003941 }
3942 }
3943 }
3944 }
3945 ],
3946 "source_info" : {
3947 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003948 "line" : 122,
Robert MacDavidde12b982020-07-15 18:38:59 -07003949 "column" : 33,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003950 "source_fragment" : "= false; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07003951 }
3952 }
3953 ]
3954 },
3955 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003956 "name" : "FabricIngress.spgw.iface_miss",
3957 "id" : 38,
3958 "runtime_data" : [],
3959 "primitives" : [
3960 {
3961 "op" : "assign",
3962 "parameters" : [
3963 {
3964 "type" : "field",
3965 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface26"]
3966 },
3967 {
3968 "type" : "hexstr",
3969 "value" : "0x00"
3970 }
3971 ],
3972 "source_info" : {
3973 "filename" : "include/control/../define.p4",
3974 "line" : 108,
3975 "column" : 44,
3976 "source_fragment" : "8w0; ..."
3977 }
3978 },
3979 {
3980 "op" : "assign",
3981 "parameters" : [
3982 {
3983 "type" : "field",
3984 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw27"]
3985 },
3986 {
3987 "type" : "expression",
3988 "value" : {
3989 "type" : "expression",
3990 "value" : {
3991 "op" : "b2d",
3992 "left" : null,
3993 "right" : {
3994 "type" : "bool",
3995 "value" : true
3996 }
3997 }
3998 }
3999 }
4000 ],
4001 "source_info" : {
4002 "filename" : "include/control/spgw.p4",
4003 "line" : 126,
4004 "column" : 33,
4005 "source_fragment" : "= true; ..."
4006 }
4007 }
4008 ]
4009 },
4010 {
4011 "name" : "FabricIngress.spgw.load_pdr",
4012 "id" : 39,
Robert MacDavidde12b982020-07-15 18:38:59 -07004013 "runtime_data" : [
4014 {
4015 "name" : "ctr_id",
4016 "bitwidth" : 32
4017 },
4018 {
4019 "name" : "far_id",
4020 "bitwidth" : 32
4021 },
4022 {
4023 "name" : "needs_gtpu_decap",
4024 "bitwidth" : 1
4025 }
4026 ],
4027 "primitives" : [
4028 {
4029 "op" : "assign",
4030 "parameters" : [
4031 {
4032 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004033 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004034 },
4035 {
4036 "type" : "runtime_data",
4037 "value" : 0
4038 }
4039 ],
4040 "source_info" : {
4041 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004042 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004043 "column" : 30,
4044 "source_fragment" : "= ctr_id; ..."
4045 }
4046 },
4047 {
4048 "op" : "assign",
4049 "parameters" : [
4050 {
4051 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004052 "value" : ["scalars", "fabric_metadata_t._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004053 },
4054 {
4055 "type" : "runtime_data",
4056 "value" : 1
4057 }
4058 ],
4059 "source_info" : {
4060 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004061 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004062 "column" : 30,
4063 "source_fragment" : "= far_id; ..."
4064 }
4065 },
4066 {
4067 "op" : "assign",
4068 "parameters" : [
4069 {
4070 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004071 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004072 },
4073 {
4074 "type" : "expression",
4075 "value" : {
4076 "type" : "expression",
4077 "value" : {
4078 "op" : "b2d",
4079 "left" : null,
4080 "right" : {
4081 "type" : "expression",
4082 "value" : {
4083 "op" : "!=",
4084 "left" : {
4085 "type" : "local",
4086 "value" : 2
4087 },
4088 "right" : {
4089 "type" : "hexstr",
4090 "value" : "0x00"
4091 }
4092 }
4093 }
4094 }
4095 }
4096 }
4097 ],
4098 "source_info" : {
4099 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004100 "line" : 153,
Robert MacDavidde12b982020-07-15 18:38:59 -07004101 "column" : 40,
4102 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
4103 }
4104 }
4105 ]
4106 },
4107 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004108 "name" : "FabricIngress.spgw.load_pdr",
4109 "id" : 40,
Robert MacDavidde12b982020-07-15 18:38:59 -07004110 "runtime_data" : [
4111 {
4112 "name" : "ctr_id",
4113 "bitwidth" : 32
4114 },
4115 {
4116 "name" : "far_id",
4117 "bitwidth" : 32
4118 },
4119 {
4120 "name" : "needs_gtpu_decap",
4121 "bitwidth" : 1
4122 }
4123 ],
4124 "primitives" : [
4125 {
4126 "op" : "assign",
4127 "parameters" : [
4128 {
4129 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004130 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004131 },
4132 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004133 "type" : "runtime_data",
4134 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004135 }
4136 ],
4137 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004138 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004139 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004140 "column" : 30,
4141 "source_fragment" : "= ctr_id; ..."
4142 }
4143 },
4144 {
4145 "op" : "assign",
4146 "parameters" : [
4147 {
4148 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004149 "value" : ["scalars", "fabric_metadata_t._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004150 },
4151 {
4152 "type" : "runtime_data",
4153 "value" : 1
4154 }
4155 ],
4156 "source_info" : {
4157 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004158 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004159 "column" : 30,
4160 "source_fragment" : "= far_id; ..."
4161 }
4162 },
4163 {
4164 "op" : "assign",
4165 "parameters" : [
4166 {
4167 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004168 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004169 },
4170 {
4171 "type" : "expression",
4172 "value" : {
4173 "type" : "expression",
4174 "value" : {
4175 "op" : "b2d",
4176 "left" : null,
4177 "right" : {
4178 "type" : "expression",
4179 "value" : {
4180 "op" : "!=",
4181 "left" : {
4182 "type" : "local",
4183 "value" : 2
4184 },
4185 "right" : {
4186 "type" : "hexstr",
4187 "value" : "0x00"
4188 }
4189 }
4190 }
4191 }
4192 }
4193 }
4194 ],
4195 "source_info" : {
4196 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004197 "line" : 153,
Robert MacDavidde12b982020-07-15 18:38:59 -07004198 "column" : 40,
4199 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004200 }
4201 }
4202 ]
4203 },
4204 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004205 "name" : "FabricIngress.spgw.load_normal_far",
4206 "id" : 41,
Robert MacDavidde12b982020-07-15 18:38:59 -07004207 "runtime_data" : [
4208 {
4209 "name" : "drop",
4210 "bitwidth" : 1
4211 },
4212 {
4213 "name" : "notify_cp",
4214 "bitwidth" : 1
4215 }
4216 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004217 "primitives" : [
4218 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004219 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004220 "parameters" : [
4221 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004222 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004223 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004224 },
4225 {
4226 "type" : "expression",
4227 "value" : {
4228 "type" : "expression",
4229 "value" : {
4230 "op" : "b2d",
4231 "left" : null,
4232 "right" : {
4233 "type" : "expression",
4234 "value" : {
4235 "op" : "!=",
4236 "left" : {
4237 "type" : "local",
4238 "value" : 0
4239 },
4240 "right" : {
4241 "type" : "hexstr",
4242 "value" : "0x00"
4243 }
4244 }
4245 }
4246 }
4247 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004248 }
4249 ],
4250 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004251 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004252 "line" : 186,
4253 "column" : 34,
Robert MacDavidde12b982020-07-15 18:38:59 -07004254 "source_fragment" : "= (bool)drop; ..."
4255 }
4256 },
4257 {
4258 "op" : "assign",
4259 "parameters" : [
4260 {
4261 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004262 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
4263 },
4264 {
4265 "type" : "expression",
4266 "value" : {
4267 "type" : "expression",
4268 "value" : {
4269 "op" : "b2d",
4270 "left" : null,
4271 "right" : {
4272 "type" : "expression",
4273 "value" : {
4274 "op" : "!=",
4275 "left" : {
4276 "type" : "local",
4277 "value" : 0
4278 },
4279 "right" : {
4280 "type" : "hexstr",
4281 "value" : "0x00"
4282 }
4283 }
4284 }
4285 }
4286 }
4287 }
4288 ],
4289 "source_info" : {
4290 "filename" : "include/control/spgw.p4",
4291 "line" : 187,
4292 "column" : 28,
4293 "source_fragment" : "= (bool)drop; ..."
4294 }
4295 },
4296 {
4297 "op" : "assign",
4298 "parameters" : [
4299 {
4300 "type" : "field",
4301 "value" : ["scalars", "fabric_metadata_t._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004302 },
4303 {
4304 "type" : "expression",
4305 "value" : {
4306 "type" : "expression",
4307 "value" : {
4308 "op" : "b2d",
4309 "left" : null,
4310 "right" : {
4311 "type" : "expression",
4312 "value" : {
4313 "op" : "!=",
4314 "left" : {
4315 "type" : "local",
4316 "value" : 1
4317 },
4318 "right" : {
4319 "type" : "hexstr",
4320 "value" : "0x00"
4321 }
4322 }
4323 }
4324 }
4325 }
4326 }
4327 ],
4328 "source_info" : {
4329 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004330 "line" : 188,
Robert MacDavidde12b982020-07-15 18:38:59 -07004331 "column" : 36,
4332 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004333 }
4334 }
4335 ]
4336 },
4337 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004338 "name" : "FabricIngress.spgw.load_tunnel_far",
4339 "id" : 42,
Robert MacDavidde12b982020-07-15 18:38:59 -07004340 "runtime_data" : [
4341 {
4342 "name" : "drop",
4343 "bitwidth" : 1
4344 },
4345 {
4346 "name" : "notify_cp",
4347 "bitwidth" : 1
4348 },
4349 {
4350 "name" : "tunnel_src_port",
4351 "bitwidth" : 16
4352 },
4353 {
4354 "name" : "tunnel_src_addr",
4355 "bitwidth" : 32
4356 },
4357 {
4358 "name" : "tunnel_dst_addr",
4359 "bitwidth" : 32
4360 },
4361 {
4362 "name" : "teid",
4363 "bitwidth" : 32
4364 }
4365 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004366 "primitives" : [
4367 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004368 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004369 "parameters" : [
4370 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004371 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004372 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004373 },
4374 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004375 "type" : "expression",
4376 "value" : {
4377 "type" : "expression",
4378 "value" : {
4379 "op" : "b2d",
4380 "left" : null,
4381 "right" : {
4382 "type" : "expression",
4383 "value" : {
4384 "op" : "!=",
4385 "left" : {
4386 "type" : "local",
4387 "value" : 0
4388 },
4389 "right" : {
4390 "type" : "hexstr",
4391 "value" : "0x00"
4392 }
4393 }
4394 }
4395 }
4396 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004397 }
4398 ],
4399 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004400 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004401 "line" : 197,
4402 "column" : 34,
Robert MacDavidde12b982020-07-15 18:38:59 -07004403 "source_fragment" : "= (bool)drop; ..."
4404 }
4405 },
4406 {
4407 "op" : "assign",
4408 "parameters" : [
4409 {
4410 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004411 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
4412 },
4413 {
4414 "type" : "expression",
4415 "value" : {
4416 "type" : "expression",
4417 "value" : {
4418 "op" : "b2d",
4419 "left" : null,
4420 "right" : {
4421 "type" : "expression",
4422 "value" : {
4423 "op" : "!=",
4424 "left" : {
4425 "type" : "local",
4426 "value" : 0
4427 },
4428 "right" : {
4429 "type" : "hexstr",
4430 "value" : "0x00"
4431 }
4432 }
4433 }
4434 }
4435 }
4436 }
4437 ],
4438 "source_info" : {
4439 "filename" : "include/control/spgw.p4",
4440 "line" : 198,
4441 "column" : 28,
4442 "source_fragment" : "= (bool)drop; ..."
4443 }
4444 },
4445 {
4446 "op" : "assign",
4447 "parameters" : [
4448 {
4449 "type" : "field",
4450 "value" : ["scalars", "fabric_metadata_t._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004451 },
4452 {
4453 "type" : "expression",
4454 "value" : {
4455 "type" : "expression",
4456 "value" : {
4457 "op" : "b2d",
4458 "left" : null,
4459 "right" : {
4460 "type" : "expression",
4461 "value" : {
4462 "op" : "!=",
4463 "left" : {
4464 "type" : "local",
4465 "value" : 1
4466 },
4467 "right" : {
4468 "type" : "hexstr",
4469 "value" : "0x00"
4470 }
4471 }
4472 }
4473 }
4474 }
4475 }
4476 ],
4477 "source_info" : {
4478 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004479 "line" : 199,
Robert MacDavidde12b982020-07-15 18:38:59 -07004480 "column" : 36,
4481 "source_fragment" : "= (bool)notify_cp; ..."
4482 }
4483 },
4484 {
4485 "op" : "assign",
4486 "parameters" : [
4487 {
4488 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004489 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_encap29"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004490 },
4491 {
4492 "type" : "expression",
4493 "value" : {
4494 "type" : "expression",
4495 "value" : {
4496 "op" : "b2d",
4497 "left" : null,
4498 "right" : {
4499 "type" : "bool",
4500 "value" : true
4501 }
4502 }
4503 }
4504 }
4505 ],
4506 "source_info" : {
4507 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004508 "line" : 201,
Robert MacDavidde12b982020-07-15 18:38:59 -07004509 "column" : 40,
4510 "source_fragment" : "= true; ..."
4511 }
4512 },
4513 {
4514 "op" : "assign",
4515 "parameters" : [
4516 {
4517 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004518 "value" : ["scalars", "fabric_metadata_t._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004519 },
4520 {
4521 "type" : "runtime_data",
4522 "value" : 5
4523 }
4524 ],
4525 "source_info" : {
4526 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004527 "line" : 202,
Robert MacDavidde12b982020-07-15 18:38:59 -07004528 "column" : 28,
4529 "source_fragment" : "= teid; ..."
4530 }
4531 },
4532 {
4533 "op" : "assign",
4534 "parameters" : [
4535 {
4536 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004537 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004538 },
4539 {
4540 "type" : "runtime_data",
4541 "value" : 2
4542 }
4543 ],
4544 "source_info" : {
4545 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004546 "line" : 203,
Robert MacDavidde12b982020-07-15 18:38:59 -07004547 "column" : 39,
4548 "source_fragment" : "= tunnel_src_port; ..."
4549 }
4550 },
4551 {
4552 "op" : "assign",
4553 "parameters" : [
4554 {
4555 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004556 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004557 },
4558 {
4559 "type" : "runtime_data",
4560 "value" : 3
4561 }
4562 ],
4563 "source_info" : {
4564 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004565 "line" : 204,
Robert MacDavidde12b982020-07-15 18:38:59 -07004566 "column" : 39,
4567 "source_fragment" : "= tunnel_src_addr; ..."
4568 }
4569 },
4570 {
4571 "op" : "assign",
4572 "parameters" : [
4573 {
4574 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004575 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004576 },
4577 {
4578 "type" : "runtime_data",
4579 "value" : 4
4580 }
4581 ],
4582 "source_info" : {
4583 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004584 "line" : 205,
Robert MacDavidde12b982020-07-15 18:38:59 -07004585 "column" : 39,
4586 "source_fragment" : "= tunnel_dst_addr; ..."
4587 }
4588 },
4589 {
4590 "op" : "assign",
4591 "parameters" : [
4592 {
4593 "type" : "field",
4594 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
4595 },
4596 {
4597 "type" : "runtime_data",
4598 "value" : 3
4599 }
4600 ],
4601 "source_info" : {
4602 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004603 "line" : 207,
Robert MacDavidde12b982020-07-15 18:38:59 -07004604 "column" : 32,
4605 "source_fragment" : "= tunnel_src_addr; ..."
4606 }
4607 },
4608 {
4609 "op" : "assign",
4610 "parameters" : [
4611 {
4612 "type" : "field",
4613 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
4614 },
4615 {
4616 "type" : "runtime_data",
4617 "value" : 4
4618 }
4619 ],
4620 "source_info" : {
4621 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004622 "line" : 208,
Robert MacDavidde12b982020-07-15 18:38:59 -07004623 "column" : 32,
4624 "source_fragment" : "= tunnel_dst_addr; ..."
4625 }
4626 },
4627 {
4628 "op" : "assign",
4629 "parameters" : [
4630 {
4631 "type" : "field",
4632 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
4633 },
4634 {
4635 "type" : "runtime_data",
4636 "value" : 2
4637 }
4638 ],
4639 "source_info" : {
4640 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004641 "line" : 209,
Robert MacDavidde12b982020-07-15 18:38:59 -07004642 "column" : 27,
4643 "source_fragment" : "= tunnel_src_port; ..."
4644 }
4645 },
4646 {
4647 "op" : "assign",
4648 "parameters" : [
4649 {
4650 "type" : "field",
4651 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
4652 },
4653 {
4654 "type" : "hexstr",
4655 "value" : "0x0868"
4656 }
4657 ],
4658 "source_info" : {
4659 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004660 "line" : 210,
Robert MacDavidde12b982020-07-15 18:38:59 -07004661 "column" : 27,
4662 "source_fragment" : "= 2152; ..."
4663 }
4664 }
4665 ]
4666 },
4667 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004668 "name" : "FabricIngress.spgw.load_dbuf_far",
4669 "id" : 43,
4670 "runtime_data" : [
4671 {
4672 "name" : "drop",
4673 "bitwidth" : 1
4674 },
4675 {
4676 "name" : "notify_cp",
4677 "bitwidth" : 1
4678 },
4679 {
4680 "name" : "tunnel_src_port",
4681 "bitwidth" : 16
4682 },
4683 {
4684 "name" : "tunnel_src_addr",
4685 "bitwidth" : 32
4686 },
4687 {
4688 "name" : "tunnel_dst_addr",
4689 "bitwidth" : 32
4690 },
4691 {
4692 "name" : "teid",
4693 "bitwidth" : 32
4694 }
4695 ],
Robert MacDavidde12b982020-07-15 18:38:59 -07004696 "primitives" : [
4697 {
4698 "op" : "assign",
4699 "parameters" : [
4700 {
4701 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004702 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004703 },
4704 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004705 "type" : "expression",
4706 "value" : {
4707 "type" : "expression",
4708 "value" : {
4709 "op" : "b2d",
4710 "left" : null,
4711 "right" : {
4712 "type" : "expression",
4713 "value" : {
4714 "op" : "!=",
4715 "left" : {
4716 "type" : "local",
4717 "value" : 0
4718 },
4719 "right" : {
4720 "type" : "hexstr",
4721 "value" : "0x00"
4722 }
4723 }
4724 }
4725 }
4726 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004727 }
4728 ],
4729 "source_info" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004730 "filename" : "include/control/spgw.p4",
4731 "line" : 197,
4732 "column" : 34,
4733 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004734 }
4735 },
4736 {
4737 "op" : "assign",
4738 "parameters" : [
4739 {
4740 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004741 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004742 },
4743 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004744 "type" : "expression",
4745 "value" : {
4746 "type" : "expression",
4747 "value" : {
4748 "op" : "b2d",
4749 "left" : null,
4750 "right" : {
4751 "type" : "expression",
4752 "value" : {
4753 "op" : "!=",
4754 "left" : {
4755 "type" : "local",
4756 "value" : 0
4757 },
4758 "right" : {
4759 "type" : "hexstr",
4760 "value" : "0x00"
4761 }
4762 }
4763 }
4764 }
4765 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004766 }
4767 ],
4768 "source_info" : {
4769 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004770 "line" : 198,
4771 "column" : 28,
4772 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004773 }
4774 },
4775 {
4776 "op" : "assign",
4777 "parameters" : [
4778 {
4779 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004780 "value" : ["scalars", "fabric_metadata_t._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004781 },
4782 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004783 "type" : "expression",
4784 "value" : {
4785 "type" : "expression",
4786 "value" : {
4787 "op" : "b2d",
4788 "left" : null,
4789 "right" : {
4790 "type" : "expression",
4791 "value" : {
4792 "op" : "!=",
4793 "left" : {
4794 "type" : "local",
4795 "value" : 1
4796 },
4797 "right" : {
4798 "type" : "hexstr",
4799 "value" : "0x00"
4800 }
4801 }
4802 }
4803 }
4804 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004805 }
4806 ],
4807 "source_info" : {
4808 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004809 "line" : 199,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004810 "column" : 36,
4811 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004812 }
4813 },
4814 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004815 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004816 "parameters" : [
4817 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004818 "type" : "field",
4819 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_encap29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004820 },
4821 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004822 "type" : "expression",
4823 "value" : {
4824 "type" : "expression",
4825 "value" : {
4826 "op" : "b2d",
4827 "left" : null,
4828 "right" : {
4829 "type" : "bool",
4830 "value" : true
4831 }
4832 }
4833 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004834 }
4835 ],
4836 "source_info" : {
4837 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004838 "line" : 201,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004839 "column" : 40,
4840 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004841 }
4842 },
4843 {
4844 "op" : "assign",
4845 "parameters" : [
4846 {
4847 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004848 "value" : ["scalars", "fabric_metadata_t._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004849 },
4850 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004851 "type" : "runtime_data",
4852 "value" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07004853 }
4854 ],
4855 "source_info" : {
4856 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004857 "line" : 202,
4858 "column" : 28,
4859 "source_fragment" : "= teid; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004860 }
4861 },
4862 {
4863 "op" : "assign",
4864 "parameters" : [
4865 {
4866 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004867 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004868 },
4869 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004870 "type" : "runtime_data",
4871 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004872 }
4873 ],
4874 "source_info" : {
4875 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004876 "line" : 203,
4877 "column" : 39,
4878 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004879 }
4880 },
4881 {
4882 "op" : "assign",
4883 "parameters" : [
4884 {
4885 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004886 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004887 },
4888 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004889 "type" : "runtime_data",
4890 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07004891 }
4892 ],
4893 "source_info" : {
4894 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004895 "line" : 204,
4896 "column" : 39,
4897 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004898 }
4899 },
4900 {
4901 "op" : "assign",
4902 "parameters" : [
4903 {
4904 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004905 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004906 },
4907 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004908 "type" : "runtime_data",
4909 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07004910 }
4911 ],
4912 "source_info" : {
4913 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004914 "line" : 205,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004915 "column" : 39,
4916 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004917 }
4918 },
4919 {
4920 "op" : "assign",
4921 "parameters" : [
4922 {
4923 "type" : "field",
4924 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
4925 },
4926 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004927 "type" : "runtime_data",
4928 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07004929 }
4930 ],
4931 "source_info" : {
4932 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004933 "line" : 207,
Robert MacDavidde12b982020-07-15 18:38:59 -07004934 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004935 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004936 }
4937 },
4938 {
4939 "op" : "assign",
4940 "parameters" : [
4941 {
4942 "type" : "field",
4943 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
4944 },
4945 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004946 "type" : "runtime_data",
4947 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07004948 }
4949 ],
4950 "source_info" : {
4951 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004952 "line" : 208,
Robert MacDavidde12b982020-07-15 18:38:59 -07004953 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004954 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004955 }
4956 },
4957 {
4958 "op" : "assign",
4959 "parameters" : [
4960 {
4961 "type" : "field",
4962 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
4963 },
4964 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004965 "type" : "runtime_data",
4966 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004967 }
4968 ],
4969 "source_info" : {
4970 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004971 "line" : 209,
Robert MacDavidde12b982020-07-15 18:38:59 -07004972 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004973 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004974 }
4975 },
4976 {
4977 "op" : "assign",
4978 "parameters" : [
4979 {
4980 "type" : "field",
4981 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
4982 },
4983 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004984 "type" : "hexstr",
4985 "value" : "0x0868"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004986 }
4987 ],
4988 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004989 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004990 "line" : 210,
Robert MacDavidde12b982020-07-15 18:38:59 -07004991 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004992 "source_fragment" : "= 2152; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004993 }
4994 },
4995 {
4996 "op" : "assign",
4997 "parameters" : [
4998 {
4999 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005000 "value" : ["scalars", "fabric_metadata_t._spgw_skip_egress_pdr_ctr31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005001 },
5002 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005003 "type" : "expression",
5004 "value" : {
5005 "type" : "expression",
5006 "value" : {
5007 "op" : "b2d",
5008 "left" : null,
5009 "right" : {
5010 "type" : "bool",
5011 "value" : true
5012 }
5013 }
5014 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005015 }
5016 ],
5017 "source_info" : {
5018 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005019 "line" : 221,
5020 "column" : 43,
5021 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005022 }
5023 }
5024 ]
5025 },
5026 {
5027 "name" : "act",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005028 "id" : 44,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005029 "runtime_data" : [],
5030 "primitives" : [
5031 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005032 "op" : "assign",
5033 "parameters" : [
5034 {
5035 "type" : "field",
5036 "value" : ["standard_metadata", "egress_spec"]
5037 },
5038 {
5039 "type" : "field",
5040 "value" : ["packet_out", "egress_port"]
5041 }
5042 ],
5043 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005044 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005045 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005046 "column" : 12,
5047 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
5048 }
5049 },
5050 {
5051 "op" : "remove_header",
5052 "parameters" : [
5053 {
5054 "type" : "header",
5055 "value" : "packet_out"
5056 }
5057 ],
5058 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005059 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005060 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005061 "column" : 12,
5062 "source_fragment" : "hdr.packet_out.setInvalid()"
5063 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005064 },
5065 {
5066 "op" : "assign",
5067 "parameters" : [
5068 {
5069 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005070 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out11"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005071 },
5072 {
5073 "type" : "expression",
5074 "value" : {
5075 "type" : "expression",
5076 "value" : {
5077 "op" : "b2d",
5078 "left" : null,
5079 "right" : {
5080 "type" : "bool",
5081 "value" : true
5082 }
5083 }
5084 }
5085 }
5086 ],
5087 "source_info" : {
5088 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005089 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005090 "column" : 53,
5091 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005092 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005093 },
5094 {
5095 "op" : "exit",
5096 "parameters" : [],
5097 "source_info" : {
5098 "filename" : "include/control/packetio.p4",
5099 "line" : 29,
5100 "column" : 12,
5101 "source_fragment" : "exit"
5102 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005103 }
5104 ]
5105 },
5106 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005107 "name" : "act_0",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005108 "id" : 45,
Robert MacDavidde12b982020-07-15 18:38:59 -07005109 "runtime_data" : [],
5110 "primitives" : [
5111 {
5112 "op" : "assign",
5113 "parameters" : [
5114 {
5115 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005116 "value" : ["scalars", "spgw_tmp"]
5117 },
5118 {
5119 "type" : "expression",
5120 "value" : {
5121 "type" : "expression",
5122 "value" : {
5123 "op" : "b2d",
5124 "left" : null,
5125 "right" : {
5126 "type" : "bool",
5127 "value" : true
5128 }
5129 }
5130 }
5131 }
5132 ]
5133 }
5134 ]
5135 },
5136 {
5137 "name" : "act_1",
5138 "id" : 46,
5139 "runtime_data" : [],
5140 "primitives" : [
5141 {
5142 "op" : "assign",
5143 "parameters" : [
5144 {
5145 "type" : "field",
5146 "value" : ["scalars", "spgw_tmp"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005147 },
5148 {
5149 "type" : "expression",
5150 "value" : {
5151 "type" : "expression",
5152 "value" : {
5153 "op" : "b2d",
5154 "left" : null,
5155 "right" : {
5156 "type" : "bool",
5157 "value" : false
5158 }
5159 }
5160 }
5161 }
5162 ]
5163 }
5164 ]
5165 },
5166 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005167 "name" : "act_2",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005168 "id" : 47,
Robert MacDavidde12b982020-07-15 18:38:59 -07005169 "runtime_data" : [],
5170 "primitives" : [
5171 {
5172 "op" : "count",
5173 "parameters" : [
5174 {
5175 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005176 "value" : "FabricIngress.spgw.pdr_counter"
Robert MacDavidde12b982020-07-15 18:38:59 -07005177 },
5178 {
5179 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005180 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005181 }
5182 ],
5183 "source_info" : {
5184 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005185 "line" : 256,
5186 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07005187 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
5188 }
5189 }
5190 ]
5191 },
5192 {
5193 "name" : "act_3",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005194 "id" : 48,
Robert MacDavidde12b982020-07-15 18:38:59 -07005195 "runtime_data" : [],
5196 "primitives" : [
5197 {
5198 "op" : "assign",
5199 "parameters" : [
5200 {
5201 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005202 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005203 },
5204 {
5205 "type" : "field",
5206 "value" : ["ipv4", "total_len"]
5207 }
5208 ],
5209 "source_info" : {
5210 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005211 "line" : 273,
5212 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07005213 "source_fragment" : "= hdr.ipv4.total_len; ..."
5214 }
5215 }
5216 ]
5217 },
5218 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005219 "name" : "act_4",
5220 "id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005221 "runtime_data" : [],
5222 "primitives" : [
5223 {
5224 "op" : "assign",
5225 "parameters" : [
5226 {
5227 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005228 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005229 },
5230 {
5231 "type" : "field",
5232 "value" : ["vlan_tag", "vlan_id"]
5233 }
5234 ],
5235 "source_info" : {
5236 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005237 "line" : 111,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005238 "column" : 36,
5239 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005240 }
5241 },
5242 {
5243 "op" : "assign",
5244 "parameters" : [
5245 {
5246 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005247 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005248 },
5249 {
5250 "type" : "field",
5251 "value" : ["vlan_tag", "pri"]
5252 }
5253 ],
5254 "source_info" : {
5255 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005256 "line" : 112,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005257 "column" : 37,
5258 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005259 }
5260 },
5261 {
5262 "op" : "assign",
5263 "parameters" : [
5264 {
5265 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005266 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005267 },
5268 {
5269 "type" : "field",
5270 "value" : ["vlan_tag", "cfi"]
5271 }
5272 ],
5273 "source_info" : {
5274 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005275 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005276 "column" : 37,
5277 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005278 }
5279 }
5280 ]
5281 },
5282 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005283 "name" : "act_5",
5284 "id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005285 "runtime_data" : [],
5286 "primitives" : [
5287 {
5288 "op" : "assign",
5289 "parameters" : [
5290 {
5291 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005292 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005293 },
5294 {
5295 "type" : "hexstr",
5296 "value" : "0x41"
5297 }
5298 ],
5299 "source_info" : {
5300 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005301 "line" : 127,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005302 "column" : 37,
5303 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005304 }
5305 }
5306 ]
5307 },
5308 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005309 "name" : "act_6",
5310 "id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005311 "runtime_data" : [],
5312 "primitives" : [
5313 {
5314 "op" : "assign",
5315 "parameters" : [
5316 {
5317 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07005318 "value" : ["scalars", "tmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005319 },
5320 {
5321 "type" : "expression",
5322 "value" : {
5323 "type" : "expression",
5324 "value" : {
5325 "op" : "&",
5326 "left" : {
5327 "type" : "field",
5328 "value" : ["standard_metadata", "egress_spec"]
5329 },
5330 "right" : {
5331 "type" : "hexstr",
5332 "value" : "0xffffffff"
5333 }
5334 }
5335 }
5336 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005337 ],
5338 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005339 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005340 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005341 "column" : 38,
5342 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5343 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005344 },
5345 {
5346 "op" : "count",
5347 "parameters" : [
5348 {
5349 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08005350 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005351 },
5352 {
5353 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07005354 "value" : ["scalars", "tmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005355 }
5356 ],
5357 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005358 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005359 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005360 "column" : 12,
5361 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5362 }
5363 }
5364 ]
5365 },
5366 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005367 "name" : "act_7",
5368 "id" : 52,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005369 "runtime_data" : [],
5370 "primitives" : [
5371 {
5372 "op" : "assign",
5373 "parameters" : [
5374 {
5375 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +01005376 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005377 },
5378 {
5379 "type" : "expression",
5380 "value" : {
5381 "type" : "expression",
5382 "value" : {
5383 "op" : "&",
5384 "left" : {
5385 "type" : "field",
5386 "value" : ["standard_metadata", "ingress_port"]
5387 },
5388 "right" : {
5389 "type" : "hexstr",
5390 "value" : "0xffffffff"
5391 }
5392 }
5393 }
5394 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005395 ],
5396 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005397 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005398 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005399 "column" : 39,
5400 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5401 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005402 },
5403 {
5404 "op" : "count",
5405 "parameters" : [
5406 {
5407 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08005408 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005409 },
5410 {
5411 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +01005412 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005413 }
5414 ],
5415 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005416 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005417 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005418 "column" : 12,
5419 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5420 }
5421 }
5422 ]
5423 },
5424 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005425 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
pierventre48e78822020-12-15 17:34:54 +01005426 "id" : 53,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005427 "runtime_data" : [],
5428 "primitives" : [
5429 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005430 "op" : "remove_header",
5431 "parameters" : [
5432 {
5433 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005434 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005435 }
5436 ],
5437 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005438 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005439 "line" : 270,
Yi Tseng47eac892018-07-11 02:17:04 +08005440 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005441 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08005442 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005443 },
Yi Tseng47eac892018-07-11 02:17:04 +08005444 {
5445 "op" : "assign",
5446 "parameters" : [
5447 {
5448 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005449 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08005450 },
5451 {
5452 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005453 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005454 }
5455 ],
5456 "source_info" : {
5457 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005458 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07005459 "column" : 8,
5460 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005461 }
5462 }
5463 ]
5464 },
5465 {
5466 "name" : "FabricEgress.egress_next.set_mpls",
pierventre48e78822020-12-15 17:34:54 +01005467 "id" : 54,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005468 "runtime_data" : [],
5469 "primitives" : [
5470 {
5471 "op" : "add_header",
5472 "parameters" : [
5473 {
5474 "type" : "header",
5475 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08005476 }
5477 ],
5478 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005479 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005480 "line" : 277,
Yi Tseng47eac892018-07-11 02:17:04 +08005481 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005482 "source_fragment" : "hdr.mpls.setValid()"
5483 }
5484 },
5485 {
5486 "op" : "assign",
5487 "parameters" : [
5488 {
5489 "type" : "field",
5490 "value" : ["mpls", "label"]
5491 },
5492 {
5493 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005494 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005495 }
5496 ],
5497 "source_info" : {
5498 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005499 "line" : 278,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005500 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005501 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005502 }
5503 },
5504 {
5505 "op" : "assign",
5506 "parameters" : [
5507 {
5508 "type" : "field",
5509 "value" : ["mpls", "tc"]
5510 },
5511 {
5512 "type" : "hexstr",
5513 "value" : "0x00"
5514 }
5515 ],
5516 "source_info" : {
5517 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005518 "line" : 279,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005519 "column" : 8,
5520 "source_fragment" : "hdr.mpls.tc = 3w0"
5521 }
5522 },
5523 {
5524 "op" : "assign",
5525 "parameters" : [
5526 {
5527 "type" : "field",
5528 "value" : ["mpls", "bos"]
5529 },
5530 {
5531 "type" : "hexstr",
5532 "value" : "0x01"
5533 }
5534 ],
5535 "source_info" : {
5536 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005537 "line" : 280,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005538 "column" : 8,
5539 "source_fragment" : "hdr.mpls.bos = 1w1"
5540 }
5541 },
5542 {
5543 "op" : "assign",
5544 "parameters" : [
5545 {
5546 "type" : "field",
5547 "value" : ["mpls", "ttl"]
5548 },
5549 {
5550 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005551 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005552 }
5553 ],
5554 "source_info" : {
5555 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005556 "line" : 281,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005557 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005558 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005559 }
5560 },
5561 {
5562 "op" : "assign",
5563 "parameters" : [
5564 {
5565 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005566 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005567 },
5568 {
5569 "type" : "hexstr",
5570 "value" : "0x8847"
5571 }
5572 ],
5573 "source_info" : {
5574 "filename" : "include/control/../define.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005575 "line" : 116,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005576 "column" : 31,
5577 "source_fragment" : "0x8847; ..."
5578 }
5579 }
5580 ]
5581 },
5582 {
5583 "name" : "FabricEgress.egress_next.push_vlan",
pierventre48e78822020-12-15 17:34:54 +01005584 "id" : 55,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005585 "runtime_data" : [],
5586 "primitives" : [
5587 {
5588 "op" : "add_header",
5589 "parameters" : [
5590 {
5591 "type" : "header",
5592 "value" : "vlan_tag"
5593 }
5594 ],
5595 "source_info" : {
5596 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005597 "line" : 289,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005598 "column" : 8,
5599 "source_fragment" : "hdr.vlan_tag.setValid()"
5600 }
5601 },
5602 {
5603 "op" : "assign",
5604 "parameters" : [
5605 {
5606 "type" : "field",
5607 "value" : ["vlan_tag", "cfi"]
5608 },
5609 {
5610 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005611 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005612 }
5613 ],
5614 "source_info" : {
5615 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005616 "line" : 290,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005617 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005618 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005619 }
5620 },
5621 {
5622 "op" : "assign",
5623 "parameters" : [
5624 {
5625 "type" : "field",
5626 "value" : ["vlan_tag", "pri"]
5627 },
5628 {
5629 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005630 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005631 }
5632 ],
5633 "source_info" : {
5634 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005635 "line" : 291,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005636 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005637 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005638 }
5639 },
5640 {
5641 "op" : "assign",
5642 "parameters" : [
5643 {
5644 "type" : "field",
5645 "value" : ["vlan_tag", "eth_type"]
5646 },
5647 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005648 "type" : "hexstr",
5649 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005650 }
5651 ],
5652 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005653 "filename" : "include/control/../define.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005654 "line" : 115,
Daniele Moro5a2de712019-09-24 14:34:07 -07005655 "column" : 31,
5656 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005657 }
5658 },
5659 {
5660 "op" : "assign",
5661 "parameters" : [
5662 {
5663 "type" : "field",
5664 "value" : ["vlan_tag", "vlan_id"]
5665 },
5666 {
5667 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005668 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005669 }
5670 ],
5671 "source_info" : {
5672 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005673 "line" : 293,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005674 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005675 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005676 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005677 }
5678 ]
5679 },
5680 {
5681 "name" : "FabricEgress.egress_next.pop_vlan",
pierventre48e78822020-12-15 17:34:54 +01005682 "id" : 56,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005683 "runtime_data" : [],
5684 "primitives" : [
5685 {
Yi Tseng47eac892018-07-11 02:17:04 +08005686 "op" : "remove_header",
5687 "parameters" : [
5688 {
5689 "type" : "header",
5690 "value" : "vlan_tag"
5691 }
5692 ],
5693 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005694 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005695 "line" : 322,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005696 "column" : 8,
5697 "source_fragment" : "hdr.vlan_tag.setInvalid()"
5698 }
5699 }
5700 ]
5701 },
5702 {
pierventre48e78822020-12-15 17:34:54 +01005703 "name" : "FabricEgress.egress_next.drop",
5704 "id" : 57,
5705 "runtime_data" : [],
5706 "primitives" : [
5707 {
5708 "op" : "mark_to_drop",
5709 "parameters" : [
5710 {
5711 "type" : "header",
5712 "value" : "standard_metadata"
5713 }
5714 ],
5715 "source_info" : {
5716 "filename" : "include/control/next.p4",
5717 "line" : 327,
5718 "column" : 8,
5719 "source_fragment" : "mark_to_drop(standard_metadata)"
5720 }
5721 }
5722 ]
5723 },
5724 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005725 "name" : "FabricEgress.spgw.gtpu_encap",
5726 "id" : 58,
Robert MacDavidde12b982020-07-15 18:38:59 -07005727 "runtime_data" : [],
5728 "primitives" : [
5729 {
5730 "op" : "add_header",
5731 "parameters" : [
5732 {
5733 "type" : "header",
5734 "value" : "gtpu_ipv4"
5735 }
5736 ],
5737 "source_info" : {
5738 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005739 "line" : 291,
Robert MacDavidde12b982020-07-15 18:38:59 -07005740 "column" : 8,
5741 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
5742 }
5743 },
5744 {
5745 "op" : "assign",
5746 "parameters" : [
5747 {
5748 "type" : "field",
5749 "value" : ["gtpu_ipv4", "version"]
5750 },
5751 {
5752 "type" : "hexstr",
5753 "value" : "0x04"
5754 }
5755 ],
5756 "source_info" : {
5757 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005758 "line" : 292,
Robert MacDavidde12b982020-07-15 18:38:59 -07005759 "column" : 8,
5760 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
5761 }
5762 },
5763 {
5764 "op" : "assign",
5765 "parameters" : [
5766 {
5767 "type" : "field",
5768 "value" : ["gtpu_ipv4", "ihl"]
5769 },
5770 {
5771 "type" : "hexstr",
5772 "value" : "0x05"
5773 }
5774 ],
5775 "source_info" : {
5776 "filename" : "include/control/../define.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005777 "line" : 133,
Robert MacDavidde12b982020-07-15 18:38:59 -07005778 "column" : 28,
5779 "source_fragment" : "5; ..."
5780 }
5781 },
5782 {
5783 "op" : "assign",
5784 "parameters" : [
5785 {
5786 "type" : "field",
5787 "value" : ["gtpu_ipv4", "dscp"]
5788 },
5789 {
5790 "type" : "hexstr",
5791 "value" : "0x00"
5792 }
5793 ],
5794 "source_info" : {
5795 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005796 "line" : 294,
Robert MacDavidde12b982020-07-15 18:38:59 -07005797 "column" : 8,
5798 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
5799 }
5800 },
5801 {
5802 "op" : "assign",
5803 "parameters" : [
5804 {
5805 "type" : "field",
5806 "value" : ["gtpu_ipv4", "ecn"]
5807 },
5808 {
5809 "type" : "hexstr",
5810 "value" : "0x00"
5811 }
5812 ],
5813 "source_info" : {
5814 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005815 "line" : 295,
Robert MacDavidde12b982020-07-15 18:38:59 -07005816 "column" : 8,
5817 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
5818 }
5819 },
5820 {
5821 "op" : "assign",
5822 "parameters" : [
5823 {
5824 "type" : "field",
5825 "value" : ["gtpu_ipv4", "total_len"]
5826 },
5827 {
5828 "type" : "expression",
5829 "value" : {
5830 "type" : "expression",
5831 "value" : {
5832 "op" : "&",
5833 "left" : {
5834 "type" : "expression",
5835 "value" : {
5836 "op" : "+",
5837 "left" : {
5838 "type" : "field",
5839 "value" : ["ipv4", "total_len"]
5840 },
5841 "right" : {
5842 "type" : "hexstr",
5843 "value" : "0x0024"
5844 }
5845 }
5846 },
5847 "right" : {
5848 "type" : "hexstr",
5849 "value" : "0xffff"
5850 }
5851 }
5852 }
5853 }
5854 ],
5855 "source_info" : {
5856 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005857 "line" : 296,
Robert MacDavidde12b982020-07-15 18:38:59 -07005858 "column" : 8,
5859 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
5860 }
5861 },
5862 {
5863 "op" : "assign",
5864 "parameters" : [
5865 {
5866 "type" : "field",
5867 "value" : ["gtpu_ipv4", "identification"]
5868 },
5869 {
5870 "type" : "hexstr",
5871 "value" : "0x1513"
5872 }
5873 ],
5874 "source_info" : {
5875 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005876 "line" : 298,
Robert MacDavidde12b982020-07-15 18:38:59 -07005877 "column" : 8,
5878 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
5879 }
5880 },
5881 {
5882 "op" : "assign",
5883 "parameters" : [
5884 {
5885 "type" : "field",
5886 "value" : ["gtpu_ipv4", "flags"]
5887 },
5888 {
5889 "type" : "hexstr",
5890 "value" : "0x00"
5891 }
5892 ],
5893 "source_info" : {
5894 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005895 "line" : 299,
Robert MacDavidde12b982020-07-15 18:38:59 -07005896 "column" : 8,
5897 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
5898 }
5899 },
5900 {
5901 "op" : "assign",
5902 "parameters" : [
5903 {
5904 "type" : "field",
5905 "value" : ["gtpu_ipv4", "frag_offset"]
5906 },
5907 {
5908 "type" : "hexstr",
5909 "value" : "0x0000"
5910 }
5911 ],
5912 "source_info" : {
5913 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005914 "line" : 300,
Robert MacDavidde12b982020-07-15 18:38:59 -07005915 "column" : 8,
5916 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
5917 }
5918 },
5919 {
5920 "op" : "assign",
5921 "parameters" : [
5922 {
5923 "type" : "field",
5924 "value" : ["gtpu_ipv4", "ttl"]
5925 },
5926 {
5927 "type" : "hexstr",
5928 "value" : "0x40"
5929 }
5930 ],
5931 "source_info" : {
5932 "filename" : "include/control/../define.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005933 "line" : 146,
Robert MacDavidde12b982020-07-15 18:38:59 -07005934 "column" : 32,
5935 "source_fragment" : "64; ..."
5936 }
5937 },
5938 {
5939 "op" : "assign",
5940 "parameters" : [
5941 {
5942 "type" : "field",
5943 "value" : ["gtpu_ipv4", "protocol"]
5944 },
5945 {
5946 "type" : "hexstr",
5947 "value" : "0x11"
5948 }
5949 ],
5950 "source_info" : {
5951 "filename" : "include/control/../define.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005952 "line" : 130,
Robert MacDavidde12b982020-07-15 18:38:59 -07005953 "column" : 25,
5954 "source_fragment" : "17; ..."
5955 }
5956 },
5957 {
5958 "op" : "assign",
5959 "parameters" : [
5960 {
5961 "type" : "field",
5962 "value" : ["gtpu_ipv4", "src_addr"]
5963 },
5964 {
5965 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005966 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005967 }
5968 ],
5969 "source_info" : {
5970 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005971 "line" : 303,
Robert MacDavidde12b982020-07-15 18:38:59 -07005972 "column" : 8,
5973 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
5974 }
5975 },
5976 {
5977 "op" : "assign",
5978 "parameters" : [
5979 {
5980 "type" : "field",
5981 "value" : ["gtpu_ipv4", "dst_addr"]
5982 },
5983 {
5984 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005985 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005986 }
5987 ],
5988 "source_info" : {
5989 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005990 "line" : 304,
Robert MacDavidde12b982020-07-15 18:38:59 -07005991 "column" : 8,
5992 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
5993 }
5994 },
5995 {
5996 "op" : "assign",
5997 "parameters" : [
5998 {
5999 "type" : "field",
6000 "value" : ["gtpu_ipv4", "hdr_checksum"]
6001 },
6002 {
6003 "type" : "hexstr",
6004 "value" : "0x0000"
6005 }
6006 ],
6007 "source_info" : {
6008 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006009 "line" : 305,
Robert MacDavidde12b982020-07-15 18:38:59 -07006010 "column" : 8,
6011 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
6012 }
6013 },
6014 {
6015 "op" : "add_header",
6016 "parameters" : [
6017 {
6018 "type" : "header",
6019 "value" : "gtpu_udp"
6020 }
6021 ],
6022 "source_info" : {
6023 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006024 "line" : 307,
Robert MacDavidde12b982020-07-15 18:38:59 -07006025 "column" : 8,
6026 "source_fragment" : "hdr.gtpu_udp.setValid()"
6027 }
6028 },
6029 {
6030 "op" : "assign",
6031 "parameters" : [
6032 {
6033 "type" : "field",
6034 "value" : ["gtpu_udp", "sport"]
6035 },
6036 {
6037 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006038 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006039 }
6040 ],
6041 "source_info" : {
6042 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006043 "line" : 308,
Robert MacDavidde12b982020-07-15 18:38:59 -07006044 "column" : 8,
6045 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
6046 }
6047 },
6048 {
6049 "op" : "assign",
6050 "parameters" : [
6051 {
6052 "type" : "field",
6053 "value" : ["gtpu_udp", "dport"]
6054 },
6055 {
6056 "type" : "hexstr",
6057 "value" : "0x0868"
6058 }
6059 ],
6060 "source_info" : {
6061 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006062 "line" : 309,
Robert MacDavidde12b982020-07-15 18:38:59 -07006063 "column" : 8,
6064 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
6065 }
6066 },
6067 {
6068 "op" : "assign",
6069 "parameters" : [
6070 {
6071 "type" : "field",
6072 "value" : ["gtpu_udp", "len"]
6073 },
6074 {
6075 "type" : "expression",
6076 "value" : {
6077 "type" : "expression",
6078 "value" : {
6079 "op" : "&",
6080 "left" : {
6081 "type" : "expression",
6082 "value" : {
6083 "op" : "+",
6084 "left" : {
6085 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006086 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006087 },
6088 "right" : {
6089 "type" : "hexstr",
6090 "value" : "0x0010"
6091 }
6092 }
6093 },
6094 "right" : {
6095 "type" : "hexstr",
6096 "value" : "0xffff"
6097 }
6098 }
6099 }
6100 }
6101 ],
6102 "source_info" : {
6103 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006104 "line" : 310,
Robert MacDavidde12b982020-07-15 18:38:59 -07006105 "column" : 8,
6106 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
6107 }
6108 },
6109 {
6110 "op" : "assign",
6111 "parameters" : [
6112 {
6113 "type" : "field",
6114 "value" : ["gtpu_udp", "checksum"]
6115 },
6116 {
6117 "type" : "hexstr",
6118 "value" : "0x0000"
6119 }
6120 ],
6121 "source_info" : {
6122 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006123 "line" : 312,
Robert MacDavidde12b982020-07-15 18:38:59 -07006124 "column" : 8,
6125 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
6126 }
6127 },
6128 {
6129 "op" : "add_header",
6130 "parameters" : [
6131 {
6132 "type" : "header",
6133 "value" : "outer_gtpu"
6134 }
6135 ],
6136 "source_info" : {
6137 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006138 "line" : 315,
Robert MacDavidde12b982020-07-15 18:38:59 -07006139 "column" : 8,
6140 "source_fragment" : "hdr.outer_gtpu.setValid()"
6141 }
6142 },
6143 {
6144 "op" : "assign",
6145 "parameters" : [
6146 {
6147 "type" : "field",
6148 "value" : ["outer_gtpu", "version"]
6149 },
6150 {
6151 "type" : "hexstr",
6152 "value" : "0x01"
6153 }
6154 ],
6155 "source_info" : {
6156 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006157 "line" : 316,
Robert MacDavidde12b982020-07-15 18:38:59 -07006158 "column" : 8,
6159 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
6160 }
6161 },
6162 {
6163 "op" : "assign",
6164 "parameters" : [
6165 {
6166 "type" : "field",
6167 "value" : ["outer_gtpu", "pt"]
6168 },
6169 {
6170 "type" : "hexstr",
6171 "value" : "0x01"
6172 }
6173 ],
6174 "source_info" : {
6175 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006176 "line" : 317,
Robert MacDavidde12b982020-07-15 18:38:59 -07006177 "column" : 8,
6178 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
6179 }
6180 },
6181 {
6182 "op" : "assign",
6183 "parameters" : [
6184 {
6185 "type" : "field",
6186 "value" : ["outer_gtpu", "spare"]
6187 },
6188 {
6189 "type" : "hexstr",
6190 "value" : "0x00"
6191 }
6192 ],
6193 "source_info" : {
6194 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006195 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07006196 "column" : 8,
6197 "source_fragment" : "hdr.outer_gtpu.spare = 0"
6198 }
6199 },
6200 {
6201 "op" : "assign",
6202 "parameters" : [
6203 {
6204 "type" : "field",
6205 "value" : ["outer_gtpu", "ex_flag"]
6206 },
6207 {
6208 "type" : "hexstr",
6209 "value" : "0x00"
6210 }
6211 ],
6212 "source_info" : {
6213 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006214 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07006215 "column" : 8,
6216 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
6217 }
6218 },
6219 {
6220 "op" : "assign",
6221 "parameters" : [
6222 {
6223 "type" : "field",
6224 "value" : ["outer_gtpu", "seq_flag"]
6225 },
6226 {
6227 "type" : "hexstr",
6228 "value" : "0x00"
6229 }
6230 ],
6231 "source_info" : {
6232 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006233 "line" : 320,
Robert MacDavidde12b982020-07-15 18:38:59 -07006234 "column" : 8,
6235 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
6236 }
6237 },
6238 {
6239 "op" : "assign",
6240 "parameters" : [
6241 {
6242 "type" : "field",
6243 "value" : ["outer_gtpu", "npdu_flag"]
6244 },
6245 {
6246 "type" : "hexstr",
6247 "value" : "0x00"
6248 }
6249 ],
6250 "source_info" : {
6251 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006252 "line" : 321,
Robert MacDavidde12b982020-07-15 18:38:59 -07006253 "column" : 8,
6254 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
6255 }
6256 },
6257 {
6258 "op" : "assign",
6259 "parameters" : [
6260 {
6261 "type" : "field",
6262 "value" : ["outer_gtpu", "msgtype"]
6263 },
6264 {
6265 "type" : "hexstr",
6266 "value" : "0xff"
6267 }
6268 ],
6269 "source_info" : {
6270 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006271 "line" : 322,
Robert MacDavidde12b982020-07-15 18:38:59 -07006272 "column" : 8,
6273 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
6274 }
6275 },
6276 {
6277 "op" : "assign",
6278 "parameters" : [
6279 {
6280 "type" : "field",
6281 "value" : ["outer_gtpu", "msglen"]
6282 },
6283 {
6284 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006285 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006286 }
6287 ],
6288 "source_info" : {
6289 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006290 "line" : 323,
Robert MacDavidde12b982020-07-15 18:38:59 -07006291 "column" : 8,
6292 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
6293 }
6294 },
6295 {
6296 "op" : "assign",
6297 "parameters" : [
6298 {
6299 "type" : "field",
6300 "value" : ["outer_gtpu", "teid"]
6301 },
6302 {
6303 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006304 "value" : ["scalars", "fabric_metadata_t._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006305 }
6306 ],
6307 "source_info" : {
6308 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006309 "line" : 324,
Robert MacDavidde12b982020-07-15 18:38:59 -07006310 "column" : 8,
6311 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
6312 }
6313 }
6314 ]
6315 },
6316 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006317 "name" : "act_8",
6318 "id" : 59,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006319 "runtime_data" : [],
6320 "primitives" : [
6321 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006322 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006323 "parameters" : [],
6324 "source_info" : {
6325 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006326 "line" : 41,
6327 "column" : 12,
6328 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006329 }
6330 }
6331 ]
6332 },
6333 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006334 "name" : "act_9",
6335 "id" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006336 "runtime_data" : [],
6337 "primitives" : [
6338 {
6339 "op" : "add_header",
6340 "parameters" : [
6341 {
6342 "type" : "header",
6343 "value" : "packet_in"
6344 }
6345 ],
6346 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006347 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006348 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006349 "column" : 12,
6350 "source_fragment" : "hdr.packet_in.setValid()"
6351 }
6352 },
6353 {
6354 "op" : "assign",
6355 "parameters" : [
6356 {
6357 "type" : "field",
6358 "value" : ["packet_in", "ingress_port"]
6359 },
6360 {
6361 "type" : "field",
6362 "value" : ["standard_metadata", "ingress_port"]
6363 }
6364 ],
6365 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006366 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006367 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006368 "column" : 12,
6369 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
6370 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006371 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006372 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006373 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006374 "parameters" : [],
6375 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006376 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006377 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006378 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006379 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006380 }
6381 }
6382 ]
6383 },
6384 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006385 "name" : "act_10",
6386 "id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006387 "runtime_data" : [],
6388 "primitives" : [
6389 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006390 "op" : "mark_to_drop",
6391 "parameters" : [
6392 {
6393 "type" : "header",
6394 "value" : "standard_metadata"
6395 }
6396 ],
6397 "source_info" : {
6398 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006399 "line" : 349,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006400 "column" : 12,
6401 "source_fragment" : "mark_to_drop(standard_metadata)"
6402 }
6403 }
6404 ]
6405 },
6406 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006407 "name" : "act_11",
6408 "id" : 62,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006409 "runtime_data" : [],
6410 "primitives" : [
6411 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006412 "op" : "mark_to_drop",
6413 "parameters" : [
6414 {
6415 "type" : "header",
6416 "value" : "standard_metadata"
6417 }
6418 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006419 "source_info" : {
6420 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006421 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006422 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006423 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006424 }
6425 }
6426 ]
6427 },
6428 {
pierventre48e78822020-12-15 17:34:54 +01006429 "name" : "act_12",
6430 "id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006431 "runtime_data" : [],
6432 "primitives" : [
6433 {
6434 "op" : "assign",
6435 "parameters" : [
6436 {
6437 "type" : "field",
6438 "value" : ["mpls", "ttl"]
6439 },
6440 {
6441 "type" : "expression",
6442 "value" : {
6443 "type" : "expression",
6444 "value" : {
6445 "op" : "&",
6446 "left" : {
6447 "type" : "expression",
6448 "value" : {
6449 "op" : "+",
6450 "left" : {
6451 "type" : "field",
6452 "value" : ["mpls", "ttl"]
6453 },
6454 "right" : {
6455 "type" : "hexstr",
6456 "value" : "0xff"
6457 }
6458 }
6459 },
6460 "right" : {
6461 "type" : "hexstr",
6462 "value" : "0xff"
6463 }
6464 }
6465 }
6466 }
6467 ],
6468 "source_info" : {
6469 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006470 "line" : 375,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006471 "column" : 12,
6472 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
6473 }
6474 }
6475 ]
6476 },
6477 {
pierventre48e78822020-12-15 17:34:54 +01006478 "name" : "act_13",
6479 "id" : 64,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006480 "runtime_data" : [],
6481 "primitives" : [
6482 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006483 "op" : "mark_to_drop",
6484 "parameters" : [
6485 {
6486 "type" : "header",
6487 "value" : "standard_metadata"
6488 }
6489 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006490 "source_info" : {
6491 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006492 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006493 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006494 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006495 }
6496 }
6497 ]
6498 },
6499 {
pierventre48e78822020-12-15 17:34:54 +01006500 "name" : "act_14",
6501 "id" : 65,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006502 "runtime_data" : [],
6503 "primitives" : [
6504 {
6505 "op" : "assign",
6506 "parameters" : [
6507 {
6508 "type" : "field",
6509 "value" : ["ipv4", "ttl"]
6510 },
6511 {
6512 "type" : "expression",
6513 "value" : {
6514 "type" : "expression",
6515 "value" : {
6516 "op" : "&",
6517 "left" : {
6518 "type" : "expression",
6519 "value" : {
6520 "op" : "+",
6521 "left" : {
6522 "type" : "field",
6523 "value" : ["ipv4", "ttl"]
6524 },
6525 "right" : {
6526 "type" : "hexstr",
6527 "value" : "0xff"
6528 }
6529 }
6530 },
6531 "right" : {
6532 "type" : "hexstr",
6533 "value" : "0xff"
6534 }
6535 }
6536 }
6537 }
6538 ],
6539 "source_info" : {
6540 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006541 "line" : 379,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006542 "column" : 16,
6543 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
6544 }
6545 }
6546 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006547 },
6548 {
pierventre48e78822020-12-15 17:34:54 +01006549 "name" : "act_15",
6550 "id" : 66,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006551 "runtime_data" : [],
6552 "primitives" : [
6553 {
6554 "op" : "count",
6555 "parameters" : [
6556 {
6557 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006558 "value" : "FabricEgress.spgw.pdr_counter"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006559 },
6560 {
6561 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006562 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006563 }
6564 ],
6565 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006566 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006567 "line" : 333,
6568 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07006569 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006570 }
6571 }
6572 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006573 }
6574 ],
6575 "pipelines" : [
6576 {
6577 "name" : "ingress",
6578 "id" : 0,
6579 "source_info" : {
6580 "filename" : "fabric.p4",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006581 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006582 "column" : 8,
6583 "source_fragment" : "FabricIngress"
6584 },
Robert MacDavidde12b982020-07-15 18:38:59 -07006585 "init_table" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006586 "tables" : [
6587 {
6588 "name" : "tbl_act",
6589 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -07006590 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -07006591 "filename" : "include/control/packetio.p4",
6592 "line" : 25,
6593 "column" : 42,
6594 "source_fragment" : "= hdr.packet_out.egress_port; ..."
6595 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006596 "key" : [],
6597 "match_type" : "exact",
6598 "type" : "simple",
6599 "max_size" : 1024,
6600 "with_counters" : false,
6601 "support_timeout" : false,
6602 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006603 "action_ids" : [44],
Robert MacDavidde12b982020-07-15 18:38:59 -07006604 "actions" : ["act"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006605 "base_default_next" : "FabricIngress.spgw.interfaces",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006606 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006607 "act" : "FabricIngress.spgw.interfaces"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006608 },
6609 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006610 "action_id" : 44,
Robert MacDavidde12b982020-07-15 18:38:59 -07006611 "action_const" : true,
6612 "action_data" : [],
6613 "action_entry_const" : true
6614 }
6615 },
6616 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006617 "name" : "FabricIngress.spgw.interfaces",
Robert MacDavidde12b982020-07-15 18:38:59 -07006618 "id" : 1,
Robert MacDavidde12b982020-07-15 18:38:59 -07006619 "source_info" : {
6620 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006621 "line" : 130,
Robert MacDavidde12b982020-07-15 18:38:59 -07006622 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006623 "source_fragment" : "interfaces"
Robert MacDavidde12b982020-07-15 18:38:59 -07006624 },
6625 "key" : [
6626 {
6627 "match_type" : "lpm",
6628 "name" : "ipv4_dst_addr",
6629 "target" : ["ipv4", "dst_addr"],
6630 "mask" : null
6631 },
6632 {
6633 "match_type" : "exact",
6634 "name" : "gtpu_is_valid",
6635 "target" : ["gtpu", "$valid$"],
6636 "mask" : null
6637 }
6638 ],
6639 "match_type" : "lpm",
6640 "type" : "simple",
6641 "max_size" : 128,
6642 "with_counters" : false,
6643 "support_timeout" : false,
6644 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006645 "action_ids" : [37, 38],
6646 "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
6647 "base_default_next" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006648 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006649 "__HIT__" : "tbl_act_0",
6650 "__MISS__" : "tbl_act_1"
Robert MacDavidde12b982020-07-15 18:38:59 -07006651 },
6652 "default_entry" : {
6653 "action_id" : 38,
6654 "action_const" : true,
6655 "action_data" : [],
6656 "action_entry_const" : true
6657 }
6658 },
6659 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006660 "name" : "tbl_act_0",
6661 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07006662 "key" : [],
6663 "match_type" : "exact",
6664 "type" : "simple",
6665 "max_size" : 1024,
6666 "with_counters" : false,
6667 "support_timeout" : false,
6668 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006669 "action_ids" : [45],
6670 "actions" : ["act_0"],
6671 "base_default_next" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07006672 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006673 "act_0" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07006674 },
6675 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006676 "action_id" : 45,
Robert MacDavidde12b982020-07-15 18:38:59 -07006677 "action_const" : true,
6678 "action_data" : [],
6679 "action_entry_const" : true
6680 }
6681 },
6682 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006683 "name" : "tbl_act_1",
6684 "id" : 3,
6685 "key" : [],
6686 "match_type" : "exact",
6687 "type" : "simple",
6688 "max_size" : 1024,
6689 "with_counters" : false,
6690 "support_timeout" : false,
6691 "direct_meters" : null,
6692 "action_ids" : [46],
6693 "actions" : ["act_1"],
6694 "base_default_next" : "node_7",
6695 "next_tables" : {
6696 "act_1" : "node_7"
6697 },
6698 "default_entry" : {
6699 "action_id" : 46,
6700 "action_const" : true,
6701 "action_data" : [],
6702 "action_entry_const" : true
6703 }
6704 },
6705 {
6706 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
6707 "id" : 4,
Robert MacDavidde12b982020-07-15 18:38:59 -07006708 "source_info" : {
6709 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006710 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07006711 "column" : 10,
6712 "source_fragment" : "decap_gtpu"
6713 },
6714 "key" : [
6715 {
6716 "match_type" : "exact",
6717 "name" : "hdr.inner_tcp.$valid$",
6718 "target" : ["inner_tcp", "$valid$"],
6719 "mask" : null
6720 },
6721 {
6722 "match_type" : "exact",
6723 "name" : "hdr.inner_udp.$valid$",
6724 "target" : ["inner_udp", "$valid$"],
6725 "mask" : null
6726 },
6727 {
6728 "match_type" : "exact",
6729 "name" : "hdr.inner_icmp.$valid$",
6730 "target" : ["inner_icmp", "$valid$"],
6731 "mask" : null
6732 }
6733 ],
6734 "match_type" : "exact",
6735 "type" : "simple",
6736 "max_size" : 1024,
6737 "with_counters" : false,
6738 "support_timeout" : false,
6739 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006740 "action_ids" : [29, 30, 31, 32],
6741 "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"],
6742 "base_default_next" : "node_10",
Robert MacDavidde12b982020-07-15 18:38:59 -07006743 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006744 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_10",
6745 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_10",
6746 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_10",
6747 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_10"
Robert MacDavidde12b982020-07-15 18:38:59 -07006748 },
6749 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006750 "action_id" : 32,
Robert MacDavidde12b982020-07-15 18:38:59 -07006751 "action_const" : true,
6752 "action_data" : [],
6753 "action_entry_const" : true
6754 },
6755 "entries" : [
6756 {
6757 "source_info" : {
6758 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006759 "line" : 89,
Robert MacDavidde12b982020-07-15 18:38:59 -07006760 "column" : 12,
6761 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
6762 },
6763 "match_key" : [
6764 {
6765 "match_type" : "exact",
6766 "key" : "0x01"
6767 },
6768 {
6769 "match_type" : "exact",
6770 "key" : "0x00"
6771 },
6772 {
6773 "match_type" : "exact",
6774 "key" : "0x00"
6775 }
6776 ],
6777 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006778 "action_id" : 29,
Robert MacDavidde12b982020-07-15 18:38:59 -07006779 "action_data" : []
6780 },
6781 "priority" : 1
6782 },
6783 {
6784 "source_info" : {
6785 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006786 "line" : 90,
Robert MacDavidde12b982020-07-15 18:38:59 -07006787 "column" : 12,
6788 "source_fragment" : "(false, true, false) : decap_inner_udp()"
6789 },
6790 "match_key" : [
6791 {
6792 "match_type" : "exact",
6793 "key" : "0x00"
6794 },
6795 {
6796 "match_type" : "exact",
6797 "key" : "0x01"
6798 },
6799 {
6800 "match_type" : "exact",
6801 "key" : "0x00"
6802 }
6803 ],
6804 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006805 "action_id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -07006806 "action_data" : []
6807 },
6808 "priority" : 2
6809 },
6810 {
6811 "source_info" : {
6812 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006813 "line" : 91,
Robert MacDavidde12b982020-07-15 18:38:59 -07006814 "column" : 12,
6815 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
6816 },
6817 "match_key" : [
6818 {
6819 "match_type" : "exact",
6820 "key" : "0x00"
6821 },
6822 {
6823 "match_type" : "exact",
6824 "key" : "0x00"
6825 },
6826 {
6827 "match_type" : "exact",
6828 "key" : "0x01"
6829 }
6830 ],
6831 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006832 "action_id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -07006833 "action_data" : []
6834 },
6835 "priority" : 3
6836 }
6837 ]
6838 },
6839 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006840 "name" : "FabricIngress.spgw.uplink_pdrs",
6841 "id" : 5,
6842 "source_info" : {
6843 "filename" : "include/control/spgw.p4",
6844 "line" : 168,
6845 "column" : 10,
6846 "source_fragment" : "uplink_pdrs"
6847 },
6848 "key" : [
6849 {
6850 "match_type" : "exact",
6851 "name" : "tunnel_ipv4_dst",
6852 "target" : ["ipv4", "dst_addr"],
6853 "mask" : null
6854 },
6855 {
6856 "match_type" : "exact",
6857 "name" : "teid",
6858 "target" : ["gtpu", "teid"],
6859 "mask" : null
6860 }
6861 ],
6862 "match_type" : "exact",
6863 "type" : "simple",
6864 "max_size" : 1024,
6865 "with_counters" : false,
6866 "support_timeout" : false,
6867 "direct_meters" : null,
6868 "action_ids" : [40, 8],
6869 "actions" : ["FabricIngress.spgw.load_pdr", "NoAction"],
6870 "base_default_next" : "node_13",
6871 "next_tables" : {
6872 "FabricIngress.spgw.load_pdr" : "node_13",
6873 "NoAction" : "node_13"
6874 },
6875 "default_entry" : {
6876 "action_id" : 8,
6877 "action_const" : false,
6878 "action_data" : [],
6879 "action_entry_const" : false
6880 }
6881 },
6882 {
6883 "name" : "FabricIngress.spgw.downlink_pdrs",
6884 "id" : 6,
6885 "source_info" : {
6886 "filename" : "include/control/spgw.p4",
6887 "line" : 157,
6888 "column" : 10,
6889 "source_fragment" : "downlink_pdrs"
6890 },
6891 "key" : [
6892 {
6893 "match_type" : "exact",
6894 "name" : "ue_addr",
6895 "target" : ["ipv4", "dst_addr"],
6896 "mask" : null
6897 }
6898 ],
6899 "match_type" : "exact",
6900 "type" : "simple",
6901 "max_size" : 1024,
6902 "with_counters" : false,
6903 "support_timeout" : false,
6904 "direct_meters" : null,
6905 "action_ids" : [39, 7],
6906 "actions" : ["FabricIngress.spgw.load_pdr", "NoAction"],
6907 "base_default_next" : "node_13",
6908 "next_tables" : {
6909 "FabricIngress.spgw.load_pdr" : "node_13",
6910 "NoAction" : "node_13"
6911 },
6912 "default_entry" : {
6913 "action_id" : 7,
6914 "action_const" : false,
6915 "action_data" : [],
6916 "action_entry_const" : false
6917 }
6918 },
6919 {
6920 "name" : "tbl_act_2",
6921 "id" : 7,
6922 "source_info" : {
6923 "filename" : "include/control/spgw.p4",
6924 "line" : 256,
6925 "column" : 16,
6926 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
6927 },
6928 "key" : [],
6929 "match_type" : "exact",
6930 "type" : "simple",
6931 "max_size" : 1024,
6932 "with_counters" : false,
6933 "support_timeout" : false,
6934 "direct_meters" : null,
6935 "action_ids" : [47],
6936 "actions" : ["act_2"],
6937 "base_default_next" : "node_15",
6938 "next_tables" : {
6939 "act_2" : "node_15"
6940 },
6941 "default_entry" : {
6942 "action_id" : 47,
6943 "action_const" : true,
6944 "action_data" : [],
6945 "action_entry_const" : true
6946 }
6947 },
6948 {
6949 "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
Robert MacDavidde12b982020-07-15 18:38:59 -07006950 "id" : 8,
6951 "source_info" : {
6952 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006953 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07006954 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006955 "source_fragment" : "decap_gtpu"
6956 },
6957 "key" : [
6958 {
6959 "match_type" : "exact",
6960 "name" : "hdr.inner_tcp.$valid$",
6961 "target" : ["inner_tcp", "$valid$"],
6962 "mask" : null
6963 },
6964 {
6965 "match_type" : "exact",
6966 "name" : "hdr.inner_udp.$valid$",
6967 "target" : ["inner_udp", "$valid$"],
6968 "mask" : null
6969 },
6970 {
6971 "match_type" : "exact",
6972 "name" : "hdr.inner_icmp.$valid$",
6973 "target" : ["inner_icmp", "$valid$"],
6974 "mask" : null
6975 }
6976 ],
6977 "match_type" : "exact",
6978 "type" : "simple",
6979 "max_size" : 1024,
6980 "with_counters" : false,
6981 "support_timeout" : false,
6982 "direct_meters" : null,
6983 "action_ids" : [33, 34, 35, 36],
6984 "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"],
6985 "base_default_next" : "FabricIngress.spgw.fars",
6986 "next_tables" : {
6987 "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
6988 "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
6989 "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
6990 "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
6991 },
6992 "default_entry" : {
6993 "action_id" : 36,
6994 "action_const" : true,
6995 "action_data" : [],
6996 "action_entry_const" : true
6997 },
6998 "entries" : [
6999 {
7000 "source_info" : {
7001 "filename" : "include/control/spgw.p4",
7002 "line" : 89,
7003 "column" : 12,
7004 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
7005 },
7006 "match_key" : [
7007 {
7008 "match_type" : "exact",
7009 "key" : "0x01"
7010 },
7011 {
7012 "match_type" : "exact",
7013 "key" : "0x00"
7014 },
7015 {
7016 "match_type" : "exact",
7017 "key" : "0x00"
7018 }
7019 ],
7020 "action_entry" : {
7021 "action_id" : 33,
7022 "action_data" : []
7023 },
7024 "priority" : 1
7025 },
7026 {
7027 "source_info" : {
7028 "filename" : "include/control/spgw.p4",
7029 "line" : 90,
7030 "column" : 12,
7031 "source_fragment" : "(false, true, false) : decap_inner_udp()"
7032 },
7033 "match_key" : [
7034 {
7035 "match_type" : "exact",
7036 "key" : "0x00"
7037 },
7038 {
7039 "match_type" : "exact",
7040 "key" : "0x01"
7041 },
7042 {
7043 "match_type" : "exact",
7044 "key" : "0x00"
7045 }
7046 ],
7047 "action_entry" : {
7048 "action_id" : 34,
7049 "action_data" : []
7050 },
7051 "priority" : 2
7052 },
7053 {
7054 "source_info" : {
7055 "filename" : "include/control/spgw.p4",
7056 "line" : 91,
7057 "column" : 12,
7058 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
7059 },
7060 "match_key" : [
7061 {
7062 "match_type" : "exact",
7063 "key" : "0x00"
7064 },
7065 {
7066 "match_type" : "exact",
7067 "key" : "0x00"
7068 },
7069 {
7070 "match_type" : "exact",
7071 "key" : "0x01"
7072 }
7073 ],
7074 "action_entry" : {
7075 "action_id" : 35,
7076 "action_data" : []
7077 },
7078 "priority" : 3
7079 }
7080 ]
7081 },
7082 {
7083 "name" : "FabricIngress.spgw.fars",
7084 "id" : 9,
7085 "source_info" : {
7086 "filename" : "include/control/spgw.p4",
7087 "line" : 224,
7088 "column" : 10,
7089 "source_fragment" : "fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07007090 },
7091 "key" : [
7092 {
7093 "match_type" : "exact",
7094 "name" : "far_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007095 "target" : ["scalars", "fabric_metadata_t._spgw_far_id25"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007096 "mask" : null
7097 }
7098 ],
7099 "match_type" : "exact",
7100 "type" : "simple",
7101 "max_size" : 2048,
7102 "with_counters" : false,
7103 "support_timeout" : false,
7104 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007105 "action_ids" : [41, 42, 43],
7106 "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
7107 "base_default_next" : "tbl_act_3",
Robert MacDavidde12b982020-07-15 18:38:59 -07007108 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007109 "FabricIngress.spgw.load_normal_far" : "tbl_act_3",
7110 "FabricIngress.spgw.load_tunnel_far" : "tbl_act_3",
7111 "FabricIngress.spgw.load_dbuf_far" : "tbl_act_3"
Robert MacDavidde12b982020-07-15 18:38:59 -07007112 },
7113 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007114 "action_id" : 41,
Robert MacDavidde12b982020-07-15 18:38:59 -07007115 "action_const" : true,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007116 "action_data" : ["0x1", "0x0"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007117 "action_entry_const" : true
7118 }
7119 },
7120 {
7121 "name" : "tbl_act_3",
Robert MacDavidde12b982020-07-15 18:38:59 -07007122 "id" : 10,
7123 "source_info" : {
7124 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007125 "line" : 273,
7126 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07007127 "source_fragment" : "="
7128 },
7129 "key" : [],
7130 "match_type" : "exact",
7131 "type" : "simple",
7132 "max_size" : 1024,
7133 "with_counters" : false,
7134 "support_timeout" : false,
7135 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007136 "action_ids" : [48],
7137 "actions" : ["act_3"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007138 "base_default_next" : "node_19",
7139 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007140 "act_3" : "node_19"
Robert MacDavidde12b982020-07-15 18:38:59 -07007141 },
7142 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007143 "action_id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007144 "action_const" : true,
7145 "action_data" : [],
7146 "action_entry_const" : true
7147 }
7148 },
7149 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007150 "name" : "tbl_act_4",
Robert MacDavidde12b982020-07-15 18:38:59 -07007151 "id" : 11,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007152 "source_info" : {
7153 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007154 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007155 "column" : 36,
7156 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07007157 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007158 "key" : [],
7159 "match_type" : "exact",
7160 "type" : "simple",
7161 "max_size" : 1024,
7162 "with_counters" : false,
7163 "support_timeout" : false,
7164 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007165 "action_ids" : [49],
7166 "actions" : ["act_4"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007167 "base_default_next" : "node_21",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007168 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007169 "act_4" : "node_21"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007170 },
7171 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007172 "action_id" : 49,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007173 "action_const" : true,
7174 "action_data" : [],
7175 "action_entry_const" : true
7176 }
7177 },
7178 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007179 "name" : "tbl_act_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07007180 "id" : 12,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007181 "source_info" : {
7182 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007183 "line" : 127,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007184 "column" : 37,
7185 "source_fragment" : "="
7186 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007187 "key" : [],
7188 "match_type" : "exact",
7189 "type" : "simple",
7190 "max_size" : 1024,
7191 "with_counters" : false,
7192 "support_timeout" : false,
7193 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007194 "action_ids" : [50],
7195 "actions" : ["act_5"],
Daniele Moro5a2de712019-09-24 14:34:07 -07007196 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007197 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007198 "act_5" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007199 },
7200 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007201 "action_id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007202 "action_const" : true,
7203 "action_data" : [],
7204 "action_entry_const" : true
7205 }
7206 },
7207 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007208 "name" : "FabricIngress.filtering.ingress_port_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07007209 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007210 "source_info" : {
7211 "filename" : "include/control/filtering.p4",
7212 "line" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007213 "column" : 10,
7214 "source_fragment" : "ingress_port_vlan"
7215 },
7216 "key" : [
7217 {
7218 "match_type" : "exact",
7219 "name" : "ig_port",
7220 "target" : ["standard_metadata", "ingress_port"],
7221 "mask" : null
7222 },
7223 {
7224 "match_type" : "exact",
7225 "name" : "vlan_is_valid",
7226 "target" : ["vlan_tag", "$valid$"],
7227 "mask" : null
7228 },
7229 {
7230 "match_type" : "ternary",
7231 "name" : "vlan_id",
7232 "target" : ["vlan_tag", "vlan_id"],
7233 "mask" : null
7234 }
7235 ],
7236 "match_type" : "ternary",
7237 "type" : "simple",
7238 "max_size" : 1024,
7239 "with_counters" : true,
7240 "support_timeout" : false,
7241 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007242 "action_ids" : [9, 10, 11],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007243 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
7244 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
7245 "next_tables" : {
7246 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
7247 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
7248 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
7249 },
7250 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007251 "action_id" : 9,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007252 "action_const" : true,
7253 "action_data" : [],
7254 "action_entry_const" : true
7255 }
7256 },
7257 {
7258 "name" : "FabricIngress.filtering.fwd_classifier",
Robert MacDavidde12b982020-07-15 18:38:59 -07007259 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007260 "source_info" : {
7261 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007262 "line" : 92,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007263 "column" : 10,
7264 "source_fragment" : "fwd_classifier"
7265 },
7266 "key" : [
7267 {
7268 "match_type" : "exact",
7269 "name" : "ig_port",
7270 "target" : ["standard_metadata", "ingress_port"],
7271 "mask" : null
7272 },
7273 {
7274 "match_type" : "ternary",
7275 "name" : "eth_dst",
7276 "target" : ["ethernet", "dst_addr"],
7277 "mask" : null
7278 },
7279 {
Daniele Moro5a2de712019-09-24 14:34:07 -07007280 "match_type" : "ternary",
7281 "name" : "eth_type",
7282 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007283 "mask" : null
7284 },
7285 {
7286 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07007287 "name" : "ip_eth_type",
7288 "target" : ["scalars", "fabric_metadata_t._ip_eth_type0"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007289 "mask" : null
7290 }
7291 ],
7292 "match_type" : "ternary",
7293 "type" : "simple",
7294 "max_size" : 1024,
7295 "with_counters" : true,
7296 "support_timeout" : false,
7297 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007298 "action_ids" : [12],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007299 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007300 "base_default_next" : "node_25",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007301 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007302 "FabricIngress.filtering.set_forwarding_type" : "node_25"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007303 },
7304 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007305 "action_id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007306 "action_const" : true,
7307 "action_data" : ["0x0"],
7308 "action_entry_const" : true
7309 }
7310 },
7311 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08007312 "name" : "FabricIngress.forwarding.bridging",
Robert MacDavidde12b982020-07-15 18:38:59 -07007313 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007314 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007315 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007316 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007317 "column" : 10,
7318 "source_fragment" : "bridging"
7319 },
7320 "key" : [
7321 {
7322 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007323 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007324 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007325 "mask" : null
7326 },
7327 {
7328 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007329 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007330 "target" : ["ethernet", "dst_addr"],
7331 "mask" : null
7332 }
7333 ],
7334 "match_type" : "ternary",
7335 "type" : "simple",
7336 "max_size" : 1024,
7337 "with_counters" : true,
7338 "support_timeout" : false,
7339 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007340 "action_ids" : [13, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007341 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
7342 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007343 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007344 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
7345 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007346 },
7347 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007348 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007349 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007350 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007351 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007352 }
7353 },
7354 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08007355 "name" : "FabricIngress.forwarding.mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07007356 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007357 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007358 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007359 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007360 "column" : 10,
7361 "source_fragment" : "mpls"
7362 },
7363 "key" : [
7364 {
7365 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007366 "name" : "mpls_label",
Daniele Moro5a2de712019-09-24 14:34:07 -07007367 "target" : ["scalars", "fabric_metadata_t._mpls_label4"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007368 "mask" : null
7369 }
7370 ],
7371 "match_type" : "exact",
7372 "type" : "simple",
7373 "max_size" : 1024,
7374 "with_counters" : true,
7375 "support_timeout" : false,
7376 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007377 "action_ids" : [14, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007378 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
7379 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007380 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007381 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
7382 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007383 },
7384 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007385 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007386 "action_const" : true,
7387 "action_data" : [],
7388 "action_entry_const" : true
7389 }
7390 },
7391 {
Charles Chan384aea22018-08-23 22:08:02 -07007392 "name" : "FabricIngress.forwarding.routing_v4",
Robert MacDavidde12b982020-07-15 18:38:59 -07007393 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007394 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007395 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07007396 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007397 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07007398 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007399 },
7400 "key" : [
7401 {
7402 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007403 "name" : "ipv4_dst",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007404 "target" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007405 "mask" : null
7406 }
7407 ],
7408 "match_type" : "lpm",
7409 "type" : "simple",
7410 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07007411 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007412 "support_timeout" : false,
7413 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007414 "action_ids" : [15, 16, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007415 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
7416 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007417 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007418 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
7419 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
7420 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007421 },
7422 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007423 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +08007424 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007425 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08007426 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007427 }
7428 },
7429 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007430 "name" : "FabricIngress.acl.acl",
Robert MacDavidde12b982020-07-15 18:38:59 -07007431 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007432 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007433 "filename" : "include/control/acl.p4",
7434 "line" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007435 "column" : 10,
7436 "source_fragment" : "acl"
7437 },
7438 "key" : [
7439 {
7440 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007441 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007442 "target" : ["standard_metadata", "ingress_port"],
7443 "mask" : null
7444 },
7445 {
7446 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007447 "name" : "ip_proto",
Daniele Moro5a2de712019-09-24 14:34:07 -07007448 "target" : ["scalars", "fabric_metadata_t._ip_proto12"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007449 "mask" : null
7450 },
7451 {
7452 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007453 "name" : "l4_sport",
Daniele Moro5a2de712019-09-24 14:34:07 -07007454 "target" : ["scalars", "fabric_metadata_t._l4_sport13"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007455 "mask" : null
7456 },
7457 {
7458 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007459 "name" : "l4_dport",
Daniele Moro5a2de712019-09-24 14:34:07 -07007460 "target" : ["scalars", "fabric_metadata_t._l4_dport14"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007461 "mask" : null
7462 },
7463 {
7464 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007465 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007466 "target" : ["ethernet", "dst_addr"],
7467 "mask" : null
7468 },
7469 {
7470 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007471 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007472 "target" : ["ethernet", "src_addr"],
7473 "mask" : null
7474 },
7475 {
7476 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007477 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007478 "target" : ["vlan_tag", "vlan_id"],
7479 "mask" : null
7480 },
7481 {
7482 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007483 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07007484 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +08007485 "mask" : null
7486 },
7487 {
7488 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007489 "name" : "ipv4_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007490 "target" : ["ipv4", "src_addr"],
7491 "mask" : null
7492 },
7493 {
7494 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007495 "name" : "ipv4_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007496 "target" : ["ipv4", "dst_addr"],
7497 "mask" : null
7498 },
7499 {
7500 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007501 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007502 "target" : ["icmp", "icmp_type"],
7503 "mask" : null
7504 },
7505 {
7506 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007507 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007508 "target" : ["icmp", "icmp_code"],
7509 "mask" : null
7510 }
7511 ],
7512 "match_type" : "ternary",
7513 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007514 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007515 "with_counters" : true,
7516 "support_timeout" : false,
7517 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007518 "action_ids" : [17, 18, 19, 20, 21],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007519 "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"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007520 "base_default_next" : "node_33",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007521 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007522 "FabricIngress.acl.set_next_id_acl" : "node_33",
7523 "FabricIngress.acl.punt_to_cpu" : "node_33",
7524 "FabricIngress.acl.set_clone_session_id" : "node_33",
7525 "FabricIngress.acl.drop" : "node_33",
7526 "FabricIngress.acl.nop_acl" : "node_33"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007527 },
7528 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007529 "action_id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007530 "action_const" : true,
7531 "action_data" : [],
7532 "action_entry_const" : true
7533 }
7534 },
7535 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007536 "name" : "FabricIngress.next.xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07007537 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007538 "source_info" : {
7539 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007540 "line" : 119,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007541 "column" : 10,
7542 "source_fragment" : "xconnect"
7543 },
7544 "key" : [
7545 {
7546 "match_type" : "exact",
7547 "name" : "ig_port",
7548 "target" : ["standard_metadata", "ingress_port"],
7549 "mask" : null
7550 },
7551 {
7552 "match_type" : "exact",
7553 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007554 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007555 "mask" : null
7556 }
7557 ],
7558 "match_type" : "exact",
7559 "type" : "simple",
7560 "max_size" : 1024,
7561 "with_counters" : true,
7562 "support_timeout" : false,
7563 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007564 "action_ids" : [23, 24, 4],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007565 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
7566 "base_default_next" : "FabricIngress.next.hashed",
7567 "next_tables" : {
7568 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
7569 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
7570 "nop" : "FabricIngress.next.hashed"
7571 },
7572 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007573 "action_id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007574 "action_const" : true,
7575 "action_data" : [],
7576 "action_entry_const" : true
7577 }
7578 },
7579 {
7580 "name" : "FabricIngress.next.hashed",
Robert MacDavidde12b982020-07-15 18:38:59 -07007581 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007582 "source_info" : {
7583 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007584 "line" : 202,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007585 "column" : 10,
7586 "source_fragment" : "hashed"
7587 },
7588 "key" : [
7589 {
7590 "match_type" : "exact",
7591 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007592 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007593 "mask" : null
7594 }
7595 ],
7596 "match_type" : "exact",
7597 "type" : "indirect_ws",
7598 "action_profile" : "FabricIngress.next.hashed_selector",
7599 "max_size" : 1024,
7600 "with_counters" : true,
7601 "support_timeout" : false,
7602 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007603 "action_ids" : [25, 26, 27, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007604 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
7605 "base_default_next" : "FabricIngress.next.multicast",
7606 "next_tables" : {
7607 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
7608 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
7609 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
7610 "nop" : "FabricIngress.next.multicast"
7611 }
7612 },
7613 {
7614 "name" : "FabricIngress.next.multicast",
Robert MacDavidde12b982020-07-15 18:38:59 -07007615 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007616 "source_info" : {
7617 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007618 "line" : 236,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007619 "column" : 10,
7620 "source_fragment" : "multicast"
7621 },
7622 "key" : [
7623 {
7624 "match_type" : "exact",
7625 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007626 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007627 "mask" : null
7628 }
7629 ],
7630 "match_type" : "exact",
7631 "type" : "simple",
7632 "max_size" : 1024,
7633 "with_counters" : true,
7634 "support_timeout" : false,
7635 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007636 "action_ids" : [28, 6],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007637 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
7638 "base_default_next" : "FabricIngress.next.next_vlan",
7639 "next_tables" : {
7640 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
7641 "nop" : "FabricIngress.next.next_vlan"
7642 },
7643 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007644 "action_id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007645 "action_const" : true,
7646 "action_data" : [],
7647 "action_entry_const" : true
7648 }
7649 },
7650 {
7651 "name" : "FabricIngress.next.next_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07007652 "id" : 22,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007653 "source_info" : {
7654 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007655 "line" : 86,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007656 "column" : 10,
7657 "source_fragment" : "next_vlan"
7658 },
7659 "key" : [
7660 {
7661 "match_type" : "exact",
7662 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007663 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007664 "mask" : null
7665 }
7666 ],
7667 "match_type" : "exact",
7668 "type" : "simple",
7669 "max_size" : 1024,
7670 "with_counters" : true,
7671 "support_timeout" : false,
7672 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007673 "action_ids" : [22, 3],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007674 "actions" : ["FabricIngress.next.set_vlan", "nop"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007675 "base_default_next" : "node_38",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007676 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007677 "FabricIngress.next.set_vlan" : "node_38",
7678 "nop" : "node_38"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007679 },
7680 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007681 "action_id" : 3,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007682 "action_const" : true,
7683 "action_data" : [],
7684 "action_entry_const" : true
7685 }
7686 },
7687 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007688 "name" : "tbl_act_6",
Robert MacDavidde12b982020-07-15 18:38:59 -07007689 "id" : 23,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007690 "source_info" : {
7691 "filename" : "include/control/port_counter.p4",
7692 "line" : 31,
7693 "column" : 12,
7694 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
7695 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02007696 "key" : [],
7697 "match_type" : "exact",
7698 "type" : "simple",
7699 "max_size" : 1024,
7700 "with_counters" : false,
7701 "support_timeout" : false,
7702 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007703 "action_ids" : [51],
7704 "actions" : ["act_6"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007705 "base_default_next" : "node_40",
Carmelo Casconea5400af2018-07-17 22:11:54 +02007706 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007707 "act_6" : "node_40"
Carmelo Casconea5400af2018-07-17 22:11:54 +02007708 },
7709 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007710 "action_id" : 51,
Carmelo Casconea5400af2018-07-17 22:11:54 +02007711 "action_const" : true,
7712 "action_data" : [],
7713 "action_entry_const" : true
7714 }
7715 },
7716 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007717 "name" : "tbl_act_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07007718 "id" : 24,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007719 "source_info" : {
7720 "filename" : "include/control/port_counter.p4",
7721 "line" : 34,
7722 "column" : 12,
7723 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
7724 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007725 "key" : [],
7726 "match_type" : "exact",
7727 "type" : "simple",
7728 "max_size" : 1024,
7729 "with_counters" : false,
7730 "support_timeout" : false,
7731 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007732 "action_ids" : [52],
7733 "actions" : ["act_7"],
Carmelo Casconea5400af2018-07-17 22:11:54 +02007734 "base_default_next" : null,
Yi Tseng27b9bc02018-04-12 14:52:40 +08007735 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007736 "act_7" : null
Carmelo Casconea5400af2018-07-17 22:11:54 +02007737 },
7738 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007739 "action_id" : 52,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007740 "action_const" : true,
7741 "action_data" : [],
7742 "action_entry_const" : true
7743 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007744 }
7745 ],
7746 "action_profiles" : [
7747 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007748 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007749 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07007750 "source_info" : {
7751 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007752 "line" : 183,
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007753 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007754 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07007755 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007756 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007757 "selector" : {
7758 "algo" : "crc16",
7759 "input" : [
7760 {
7761 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007762 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007763 },
7764 {
7765 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007766 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007767 },
7768 {
7769 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007770 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007771 },
7772 {
7773 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007774 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007775 },
7776 {
7777 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007778 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007779 }
7780 ]
7781 }
7782 }
7783 ],
7784 "conditionals" : [
7785 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007786 "name" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007787 "id" : 0,
7788 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007789 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007790 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007791 "column" : 12,
7792 "source_fragment" : "hdr.packet_out.isValid()"
7793 },
7794 "expression" : {
7795 "type" : "expression",
7796 "value" : {
7797 "op" : "d2b",
7798 "left" : null,
7799 "right" : {
7800 "type" : "field",
7801 "value" : ["packet_out", "$valid$"]
7802 }
7803 }
7804 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007805 "true_next" : "tbl_act",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007806 "false_next" : "FabricIngress.spgw.interfaces"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007807 },
7808 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007809 "name" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07007810 "id" : 1,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007811 "expression" : {
7812 "type" : "expression",
7813 "value" : {
7814 "op" : "d2b",
7815 "left" : null,
7816 "right" : {
7817 "type" : "field",
7818 "value" : ["scalars", "spgw_tmp"]
7819 }
7820 }
7821 },
7822 "true_next" : "node_8",
7823 "false_next" : "node_19"
7824 },
7825 {
7826 "name" : "node_8",
7827 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07007828 "source_info" : {
7829 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007830 "line" : 246,
7831 "column" : 16,
7832 "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
Robert MacDavidde12b982020-07-15 18:38:59 -07007833 },
7834 "expression" : {
7835 "type" : "expression",
7836 "value" : {
7837 "op" : "==",
7838 "left" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007839 "type" : "field",
7840 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007841 },
7842 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007843 "type" : "hexstr",
7844 "value" : "0x03"
Robert MacDavidde12b982020-07-15 18:38:59 -07007845 }
7846 }
7847 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007848 "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
7849 "false_next" : "node_10"
Robert MacDavidde12b982020-07-15 18:38:59 -07007850 },
7851 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007852 "name" : "node_10",
Robert MacDavidde12b982020-07-15 18:38:59 -07007853 "id" : 3,
7854 "source_info" : {
7855 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007856 "line" : 250,
7857 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07007858 "source_fragment" : "hdr.gtpu.isValid()"
7859 },
7860 "expression" : {
7861 "type" : "expression",
7862 "value" : {
7863 "op" : "d2b",
7864 "left" : null,
7865 "right" : {
7866 "type" : "field",
7867 "value" : ["gtpu", "$valid$"]
7868 }
7869 }
7870 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007871 "true_next" : "FabricIngress.spgw.uplink_pdrs",
7872 "false_next" : "FabricIngress.spgw.downlink_pdrs"
Robert MacDavidde12b982020-07-15 18:38:59 -07007873 },
7874 {
7875 "name" : "node_13",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007876 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007877 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007878 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007879 "line" : 255,
7880 "column" : 16,
7881 "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
7882 },
7883 "expression" : {
7884 "type" : "expression",
7885 "value" : {
7886 "op" : "!=",
7887 "left" : {
7888 "type" : "field",
7889 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface26"]
7890 },
7891 "right" : {
7892 "type" : "hexstr",
7893 "value" : "0x03"
7894 }
7895 }
7896 },
7897 "true_next" : "tbl_act_2",
7898 "false_next" : "node_15"
7899 },
7900 {
7901 "name" : "node_15",
7902 "id" : 5,
7903 "source_info" : {
7904 "filename" : "include/control/spgw.p4",
7905 "line" : 260,
7906 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07007907 "source_fragment" : "fabric_md.spgw.needs_gtpu_decap == true"
7908 },
7909 "expression" : {
7910 "type" : "expression",
7911 "value" : {
7912 "op" : "==",
7913 "left" : {
7914 "type" : "expression",
7915 "value" : {
7916 "op" : "d2b",
7917 "left" : null,
7918 "right" : {
7919 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007920 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007921 }
7922 }
7923 },
7924 "right" : {
7925 "type" : "bool",
7926 "value" : true
7927 }
7928 }
7929 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007930 "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
7931 "false_next" : "FabricIngress.spgw.fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07007932 },
7933 {
7934 "name" : "node_19",
7935 "id" : 6,
7936 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007937 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007938 "line" : 110,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007939 "column" : 12,
7940 "source_fragment" : "hdr.vlan_tag.isValid()"
7941 },
7942 "expression" : {
7943 "type" : "expression",
7944 "value" : {
7945 "op" : "d2b",
7946 "left" : null,
7947 "right" : {
7948 "type" : "field",
7949 "value" : ["vlan_tag", "$valid$"]
7950 }
7951 }
7952 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007953 "true_next" : "tbl_act_4",
Robert MacDavidde12b982020-07-15 18:38:59 -07007954 "false_next" : "node_21"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007955 },
7956 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007957 "name" : "node_21",
7958 "id" : 7,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007959 "source_info" : {
7960 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007961 "line" : 122,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007962 "column" : 12,
7963 "source_fragment" : "!hdr.mpls.isValid()"
7964 },
7965 "expression" : {
7966 "type" : "expression",
7967 "value" : {
7968 "op" : "not",
7969 "left" : null,
7970 "right" : {
7971 "type" : "expression",
7972 "value" : {
7973 "op" : "d2b",
7974 "left" : null,
7975 "right" : {
7976 "type" : "field",
7977 "value" : ["mpls", "$valid$"]
7978 }
7979 }
7980 }
7981 }
7982 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007983 "true_next" : "tbl_act_5",
Daniele Moro5a2de712019-09-24 14:34:07 -07007984 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007985 },
7986 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007987 "name" : "node_25",
Daniele Moro5a2de712019-09-24 14:34:07 -07007988 "id" : 8,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007989 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007990 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07007991 "line" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007992 "column" : 12,
7993 "source_fragment" : "fabric_metadata.skip_forwarding == false"
7994 },
7995 "expression" : {
7996 "type" : "expression",
7997 "value" : {
7998 "op" : "==",
7999 "left" : {
8000 "type" : "expression",
8001 "value" : {
8002 "op" : "d2b",
8003 "left" : null,
8004 "right" : {
8005 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008006 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008007 }
8008 }
8009 },
8010 "right" : {
8011 "type" : "bool",
8012 "value" : false
8013 }
8014 }
8015 },
Robert MacDavidde12b982020-07-15 18:38:59 -07008016 "true_next" : "node_26",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008017 "false_next" : "FabricIngress.acl.acl"
8018 },
8019 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008020 "name" : "node_26",
8021 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008022 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008023 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008024 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008025 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008026 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
8027 },
8028 "expression" : {
8029 "type" : "expression",
8030 "value" : {
8031 "op" : "==",
8032 "left" : {
8033 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008034 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008035 },
8036 "right" : {
8037 "type" : "hexstr",
8038 "value" : "0x00"
8039 }
8040 }
8041 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08008042 "true_next" : "FabricIngress.forwarding.bridging",
Robert MacDavidde12b982020-07-15 18:38:59 -07008043 "false_next" : "node_28"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008044 },
8045 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008046 "name" : "node_28",
8047 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008048 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008049 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008050 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008051 "column" : 17,
8052 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
8053 },
8054 "expression" : {
8055 "type" : "expression",
8056 "value" : {
8057 "op" : "==",
8058 "left" : {
8059 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008060 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008061 },
8062 "right" : {
8063 "type" : "hexstr",
8064 "value" : "0x01"
8065 }
8066 }
8067 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08008068 "true_next" : "FabricIngress.forwarding.mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07008069 "false_next" : "node_30"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008070 },
8071 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008072 "name" : "node_30",
8073 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008074 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008075 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008076 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008077 "column" : 17,
8078 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
8079 },
8080 "expression" : {
8081 "type" : "expression",
8082 "value" : {
8083 "op" : "==",
8084 "left" : {
8085 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008086 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008087 },
8088 "right" : {
8089 "type" : "hexstr",
8090 "value" : "0x02"
8091 }
8092 }
8093 },
Charles Chan384aea22018-08-23 22:08:02 -07008094 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008095 "false_next" : "FabricIngress.acl.acl"
8096 },
8097 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008098 "name" : "node_33",
8099 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008100 "source_info" : {
8101 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008102 "line" : 73,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008103 "column" : 12,
8104 "source_fragment" : "fabric_metadata.skip_next == false"
8105 },
8106 "expression" : {
8107 "type" : "expression",
8108 "value" : {
8109 "op" : "==",
8110 "left" : {
8111 "type" : "expression",
8112 "value" : {
8113 "op" : "d2b",
8114 "left" : null,
8115 "right" : {
8116 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008117 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008118 }
8119 }
8120 },
8121 "right" : {
8122 "type" : "bool",
8123 "value" : false
8124 }
8125 }
8126 },
8127 "false_next" : null,
8128 "true_next" : "FabricIngress.next.xconnect"
Yi Tseng27b9bc02018-04-12 14:52:40 +08008129 },
8130 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008131 "name" : "node_38",
8132 "id" : 13,
Yi Tseng27b9bc02018-04-12 14:52:40 +08008133 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008134 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008135 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008136 "column" : 12,
8137 "source_fragment" : "standard_metadata.egress_spec < 511"
8138 },
8139 "expression" : {
8140 "type" : "expression",
8141 "value" : {
8142 "op" : "<",
8143 "left" : {
8144 "type" : "field",
8145 "value" : ["standard_metadata", "egress_spec"]
8146 },
8147 "right" : {
8148 "type" : "hexstr",
8149 "value" : "0x01ff"
8150 }
8151 }
8152 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008153 "true_next" : "tbl_act_6",
Robert MacDavidde12b982020-07-15 18:38:59 -07008154 "false_next" : "node_40"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008155 },
8156 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008157 "name" : "node_40",
8158 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008159 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008160 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008161 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008162 "column" : 12,
8163 "source_fragment" : "standard_metadata.ingress_port < 511"
8164 },
8165 "expression" : {
8166 "type" : "expression",
8167 "value" : {
8168 "op" : "<",
8169 "left" : {
8170 "type" : "field",
8171 "value" : ["standard_metadata", "ingress_port"]
8172 },
8173 "right" : {
8174 "type" : "hexstr",
8175 "value" : "0x01ff"
8176 }
8177 }
8178 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008179 "false_next" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008180 "true_next" : "tbl_act_7"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008181 }
8182 ]
8183 },
8184 {
8185 "name" : "egress",
8186 "id" : 1,
8187 "source_info" : {
8188 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008189 "line" : 91,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008190 "column" : 8,
8191 "source_fragment" : "FabricEgress"
8192 },
Robert MacDavidde12b982020-07-15 18:38:59 -07008193 "init_table" : "node_44",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008194 "tables" : [
8195 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008196 "name" : "tbl_act_8",
Robert MacDavidde12b982020-07-15 18:38:59 -07008197 "id" : 25,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008198 "source_info" : {
8199 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008200 "line" : 41,
8201 "column" : 12,
8202 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -07008203 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02008204 "key" : [],
8205 "match_type" : "exact",
8206 "type" : "simple",
8207 "max_size" : 1024,
8208 "with_counters" : false,
8209 "support_timeout" : false,
8210 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008211 "action_ids" : [59],
8212 "actions" : ["act_8"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008213 "base_default_next" : "node_46",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008214 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008215 "act_8" : "node_46"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008216 },
8217 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008218 "action_id" : 59,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008219 "action_const" : true,
8220 "action_data" : [],
8221 "action_entry_const" : true
8222 }
8223 },
8224 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008225 "name" : "tbl_act_9",
Robert MacDavidde12b982020-07-15 18:38:59 -07008226 "id" : 26,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008227 "source_info" : {
8228 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008229 "line" : 44,
8230 "column" : 12,
8231 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07008232 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008233 "key" : [],
8234 "match_type" : "exact",
8235 "type" : "simple",
8236 "max_size" : 1024,
8237 "with_counters" : false,
8238 "support_timeout" : false,
8239 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008240 "action_ids" : [60],
8241 "actions" : ["act_9"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008242 "base_default_next" : "node_48",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008243 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008244 "act_9" : "node_48"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008245 },
8246 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008247 "action_id" : 60,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008248 "action_const" : true,
8249 "action_data" : [],
8250 "action_entry_const" : true
8251 }
8252 },
8253 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008254 "name" : "tbl_act_10",
Robert MacDavidde12b982020-07-15 18:38:59 -07008255 "id" : 27,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008256 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008257 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008258 "line" : 349,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008259 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008260 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -07008261 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008262 "key" : [],
8263 "match_type" : "exact",
8264 "type" : "simple",
8265 "max_size" : 1024,
8266 "with_counters" : false,
8267 "support_timeout" : false,
8268 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008269 "action_ids" : [61],
8270 "actions" : ["act_10"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008271 "base_default_next" : "node_50",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008272 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008273 "act_10" : "node_50"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008274 },
8275 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008276 "action_id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008277 "action_const" : true,
8278 "action_data" : [],
8279 "action_entry_const" : true
8280 }
8281 },
8282 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008283 "name" : "tbl_egress_next_pop_mpls_if_present",
Robert MacDavidde12b982020-07-15 18:38:59 -07008284 "id" : 28,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008285 "source_info" : {
8286 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008287 "line" : 353,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008288 "column" : 36,
8289 "source_fragment" : "pop_mpls_if_present()"
8290 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008291 "key" : [],
8292 "match_type" : "exact",
8293 "type" : "simple",
8294 "max_size" : 1024,
8295 "with_counters" : false,
8296 "support_timeout" : false,
8297 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01008298 "action_ids" : [53],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008299 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
8300 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
8301 "next_tables" : {
8302 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
8303 },
8304 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01008305 "action_id" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008306 "action_const" : true,
8307 "action_data" : [],
8308 "action_entry_const" : true
8309 }
8310 },
8311 {
8312 "name" : "tbl_egress_next_set_mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07008313 "id" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008314 "source_info" : {
8315 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008316 "line" : 355,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008317 "column" : 12,
8318 "source_fragment" : "set_mpls()"
8319 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008320 "key" : [],
8321 "match_type" : "exact",
8322 "type" : "simple",
8323 "max_size" : 1024,
8324 "with_counters" : false,
8325 "support_timeout" : false,
8326 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01008327 "action_ids" : [54],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008328 "actions" : ["FabricEgress.egress_next.set_mpls"],
8329 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
8330 "next_tables" : {
8331 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
8332 },
8333 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01008334 "action_id" : 54,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008335 "action_const" : true,
8336 "action_data" : [],
8337 "action_entry_const" : true
8338 }
8339 },
8340 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008341 "name" : "FabricEgress.egress_next.egress_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07008342 "id" : 30,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008343 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008344 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008345 "line" : 331,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008346 "column" : 10,
8347 "source_fragment" : "egress_vlan"
8348 },
8349 "key" : [
8350 {
8351 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008352 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07008353 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008354 "mask" : null
8355 },
8356 {
8357 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008358 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008359 "target" : ["standard_metadata", "egress_port"],
8360 "mask" : null
8361 }
8362 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008363 "match_type" : "exact",
8364 "type" : "simple",
8365 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +08008366 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008367 "support_timeout" : false,
8368 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01008369 "action_ids" : [55, 56, 57],
8370 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
8371 "base_default_next" : "node_55",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008372 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008373 "FabricEgress.egress_next.push_vlan" : "node_55",
8374 "FabricEgress.egress_next.pop_vlan" : "node_55",
8375 "FabricEgress.egress_next.drop" : "node_55"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008376 },
8377 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01008378 "action_id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008379 "action_const" : true,
8380 "action_data" : [],
8381 "action_entry_const" : true
8382 }
8383 },
8384 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008385 "name" : "tbl_act_11",
Robert MacDavidde12b982020-07-15 18:38:59 -07008386 "id" : 31,
pierventre48e78822020-12-15 17:34:54 +01008387 "source_info" : {
8388 "filename" : "include/control/next.p4",
8389 "line" : 375,
8390 "column" : 25,
8391 "source_fragment" : "="
Daniele Moro7c3a0022019-07-12 13:38:34 -07008392 },
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008393 "key" : [],
8394 "match_type" : "exact",
8395 "type" : "simple",
8396 "max_size" : 1024,
8397 "with_counters" : false,
8398 "support_timeout" : false,
8399 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008400 "action_ids" : [63],
8401 "actions" : ["act_12"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008402 "base_default_next" : "node_57",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008403 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008404 "act_12" : "node_57"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008405 },
8406 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008407 "action_id" : 63,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008408 "action_const" : true,
8409 "action_data" : [],
8410 "action_entry_const" : true
8411 }
8412 },
8413 {
pierventre48e78822020-12-15 17:34:54 +01008414 "name" : "tbl_act_12",
8415 "id" : 32,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008416 "source_info" : {
8417 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008418 "line" : 376,
8419 "column" : 35,
8420 "source_fragment" : "mark_to_drop(standard_metadata)"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008421 },
8422 "key" : [],
8423 "match_type" : "exact",
8424 "type" : "simple",
8425 "max_size" : 1024,
8426 "with_counters" : false,
8427 "support_timeout" : false,
8428 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01008429 "action_ids" : [62],
8430 "actions" : ["act_11"],
8431 "base_default_next" : "node_63",
Daniele Moro7c3a0022019-07-12 13:38:34 -07008432 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008433 "act_11" : "node_63"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008434 },
8435 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01008436 "action_id" : 62,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008437 "action_const" : true,
8438 "action_data" : [],
8439 "action_entry_const" : true
8440 }
8441 },
8442 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008443 "name" : "tbl_act_13",
pierventre48e78822020-12-15 17:34:54 +01008444 "id" : 33,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008445 "source_info" : {
8446 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008447 "line" : 379,
8448 "column" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008449 "source_fragment" : "="
8450 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008451 "key" : [],
8452 "match_type" : "exact",
8453 "type" : "simple",
8454 "max_size" : 1024,
8455 "with_counters" : false,
8456 "support_timeout" : false,
8457 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008458 "action_ids" : [65],
8459 "actions" : ["act_14"],
pierventre48e78822020-12-15 17:34:54 +01008460 "base_default_next" : "node_61",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008461 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008462 "act_14" : "node_61"
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008463 },
8464 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008465 "action_id" : 65,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008466 "action_const" : true,
8467 "action_data" : [],
8468 "action_entry_const" : true
8469 }
8470 },
8471 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008472 "name" : "tbl_act_14",
pierventre48e78822020-12-15 17:34:54 +01008473 "id" : 34,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008474 "source_info" : {
8475 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008476 "line" : 380,
8477 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008478 "source_fragment" : "mark_to_drop(standard_metadata)"
8479 },
8480 "key" : [],
8481 "match_type" : "exact",
8482 "type" : "simple",
8483 "max_size" : 1024,
8484 "with_counters" : false,
8485 "support_timeout" : false,
8486 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008487 "action_ids" : [64],
8488 "actions" : ["act_13"],
pierventre48e78822020-12-15 17:34:54 +01008489 "base_default_next" : "node_63",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008490 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008491 "act_13" : "node_63"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008492 },
8493 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008494 "action_id" : 64,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008495 "action_const" : true,
8496 "action_data" : [],
8497 "action_entry_const" : true
8498 }
8499 },
8500 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008501 "name" : "tbl_spgw_gtpu_encap",
pierventre48e78822020-12-15 17:34:54 +01008502 "id" : 35,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008503 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008504 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008505 "line" : 330,
8506 "column" : 16,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008507 "source_fragment" : "gtpu_encap()"
8508 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008509 "key" : [],
8510 "match_type" : "exact",
8511 "type" : "simple",
8512 "max_size" : 1024,
8513 "with_counters" : false,
8514 "support_timeout" : false,
8515 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008516 "action_ids" : [58],
8517 "actions" : ["FabricEgress.spgw.gtpu_encap"],
pierventre48e78822020-12-15 17:34:54 +01008518 "base_default_next" : "node_66",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008519 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008520 "FabricEgress.spgw.gtpu_encap" : "node_66"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008521 },
8522 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008523 "action_id" : 58,
8524 "action_const" : true,
8525 "action_data" : [],
8526 "action_entry_const" : true
8527 }
8528 },
8529 {
pierventre48e78822020-12-15 17:34:54 +01008530 "name" : "tbl_act_15",
8531 "id" : 36,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008532 "source_info" : {
8533 "filename" : "include/control/spgw.p4",
8534 "line" : 333,
8535 "column" : 16,
8536 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
8537 },
8538 "key" : [],
8539 "match_type" : "exact",
8540 "type" : "simple",
8541 "max_size" : 1024,
8542 "with_counters" : false,
8543 "support_timeout" : false,
8544 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01008545 "action_ids" : [66],
8546 "actions" : ["act_15"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008547 "base_default_next" : null,
8548 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008549 "act_15" : null
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008550 },
8551 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01008552 "action_id" : 66,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008553 "action_const" : true,
8554 "action_data" : [],
8555 "action_entry_const" : true
8556 }
8557 }
8558 ],
8559 "action_profiles" : [],
8560 "conditionals" : [
8561 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008562 "name" : "node_44",
8563 "id" : 15,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008564 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008565 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008566 "line" : 39,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008567 "column" : 12,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008568 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
Carmelo Casconea5400af2018-07-17 22:11:54 +02008569 },
8570 "expression" : {
8571 "type" : "expression",
8572 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008573 "op" : "==",
Carmelo Casconea5400af2018-07-17 22:11:54 +02008574 "left" : {
8575 "type" : "expression",
8576 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008577 "op" : "d2b",
8578 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008579 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008580 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008581 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out11"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02008582 }
8583 }
8584 },
8585 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008586 "type" : "bool",
8587 "value" : true
Carmelo Casconea5400af2018-07-17 22:11:54 +02008588 }
8589 }
8590 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008591 "true_next" : "tbl_act_8",
Robert MacDavidde12b982020-07-15 18:38:59 -07008592 "false_next" : "node_46"
Carmelo Casconea5400af2018-07-17 22:11:54 +02008593 },
8594 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008595 "name" : "node_46",
8596 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008597 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008598 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008599 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008600 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -08008601 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008602 },
8603 "expression" : {
8604 "type" : "expression",
8605 "value" : {
8606 "op" : "==",
8607 "left" : {
8608 "type" : "field",
8609 "value" : ["standard_metadata", "egress_port"]
8610 },
8611 "right" : {
8612 "type" : "hexstr",
8613 "value" : "0x00ff"
8614 }
8615 }
8616 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008617 "true_next" : "tbl_act_9",
Robert MacDavidde12b982020-07-15 18:38:59 -07008618 "false_next" : "node_48"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008619 },
8620 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008621 "name" : "node_48",
8622 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008623 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008624 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008625 "line" : 347,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008626 "column" : 12,
8627 "source_fragment" : "fabric_metadata.is_multicast == true ..."
8628 },
8629 "expression" : {
8630 "type" : "expression",
8631 "value" : {
8632 "op" : "and",
8633 "left" : {
8634 "type" : "expression",
8635 "value" : {
8636 "op" : "==",
8637 "left" : {
8638 "type" : "expression",
8639 "value" : {
8640 "op" : "d2b",
8641 "left" : null,
8642 "right" : {
8643 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008644 "value" : ["scalars", "fabric_metadata_t._is_multicast10"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008645 }
8646 }
8647 },
8648 "right" : {
8649 "type" : "bool",
8650 "value" : true
8651 }
8652 }
8653 },
8654 "right" : {
8655 "type" : "expression",
8656 "value" : {
8657 "op" : "==",
8658 "left" : {
8659 "type" : "field",
8660 "value" : ["standard_metadata", "ingress_port"]
8661 },
8662 "right" : {
8663 "type" : "field",
8664 "value" : ["standard_metadata", "egress_port"]
8665 }
8666 }
8667 }
8668 }
8669 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008670 "true_next" : "tbl_act_10",
Robert MacDavidde12b982020-07-15 18:38:59 -07008671 "false_next" : "node_50"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008672 },
8673 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008674 "name" : "node_50",
8675 "id" : 18,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008676 "source_info" : {
8677 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008678 "line" : 352,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008679 "column" : 12,
8680 "source_fragment" : "fabric_metadata.mpls_label == 0"
8681 },
8682 "expression" : {
8683 "type" : "expression",
8684 "value" : {
8685 "op" : "==",
8686 "left" : {
8687 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008688 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008689 },
8690 "right" : {
8691 "type" : "hexstr",
8692 "value" : "0x000000"
8693 }
8694 }
8695 },
Robert MacDavidde12b982020-07-15 18:38:59 -07008696 "true_next" : "node_51",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008697 "false_next" : "tbl_egress_next_set_mpls"
8698 },
8699 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008700 "name" : "node_51",
8701 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008702 "source_info" : {
8703 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008704 "line" : 353,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008705 "column" : 16,
8706 "source_fragment" : "hdr.mpls.isValid()"
8707 },
8708 "expression" : {
8709 "type" : "expression",
8710 "value" : {
8711 "op" : "d2b",
8712 "left" : null,
8713 "right" : {
8714 "type" : "field",
8715 "value" : ["mpls", "$valid$"]
8716 }
8717 }
8718 },
8719 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008720 "false_next" : "FabricEgress.egress_next.egress_vlan"
8721 },
8722 {
pierventre48e78822020-12-15 17:34:54 +01008723 "name" : "node_55",
Robert MacDavidde12b982020-07-15 18:38:59 -07008724 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008725 "source_info" : {
8726 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008727 "line" : 374,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008728 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008729 "source_fragment" : "hdr.mpls.isValid()"
8730 },
8731 "expression" : {
8732 "type" : "expression",
8733 "value" : {
8734 "op" : "d2b",
8735 "left" : null,
8736 "right" : {
8737 "type" : "field",
8738 "value" : ["mpls", "$valid$"]
8739 }
8740 }
8741 },
pierventre48e78822020-12-15 17:34:54 +01008742 "true_next" : "tbl_act_11",
8743 "false_next" : "node_59"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008744 },
8745 {
pierventre48e78822020-12-15 17:34:54 +01008746 "name" : "node_57",
8747 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008748 "source_info" : {
8749 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008750 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008751 "column" : 16,
8752 "source_fragment" : "hdr.mpls.ttl == 0"
8753 },
8754 "expression" : {
8755 "type" : "expression",
8756 "value" : {
8757 "op" : "==",
8758 "left" : {
8759 "type" : "field",
8760 "value" : ["mpls", "ttl"]
8761 },
8762 "right" : {
8763 "type" : "hexstr",
8764 "value" : "0x00"
8765 }
8766 }
8767 },
pierventre48e78822020-12-15 17:34:54 +01008768 "true_next" : "tbl_act_12",
8769 "false_next" : "node_63"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008770 },
8771 {
pierventre48e78822020-12-15 17:34:54 +01008772 "name" : "node_59",
8773 "id" : 22,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008774 "source_info" : {
8775 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008776 "line" : 378,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008777 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07008778 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008779 },
8780 "expression" : {
8781 "type" : "expression",
8782 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07008783 "op" : "and",
8784 "left" : {
8785 "type" : "expression",
8786 "value" : {
8787 "op" : "d2b",
8788 "left" : null,
8789 "right" : {
8790 "type" : "field",
8791 "value" : ["ipv4", "$valid$"]
8792 }
8793 }
8794 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008795 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07008796 "type" : "expression",
8797 "value" : {
8798 "op" : "!=",
8799 "left" : {
8800 "type" : "field",
8801 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
8802 },
8803 "right" : {
8804 "type" : "hexstr",
8805 "value" : "0x00"
8806 }
8807 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008808 }
8809 }
8810 },
pierventre48e78822020-12-15 17:34:54 +01008811 "true_next" : "tbl_act_13",
8812 "false_next" : "node_63"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008813 },
8814 {
pierventre48e78822020-12-15 17:34:54 +01008815 "name" : "node_61",
8816 "id" : 23,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008817 "source_info" : {
8818 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008819 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008820 "column" : 20,
8821 "source_fragment" : "hdr.ipv4.ttl == 0"
8822 },
8823 "expression" : {
8824 "type" : "expression",
8825 "value" : {
8826 "op" : "==",
8827 "left" : {
8828 "type" : "field",
8829 "value" : ["ipv4", "ttl"]
8830 },
8831 "right" : {
8832 "type" : "hexstr",
8833 "value" : "0x00"
8834 }
8835 }
8836 },
pierventre48e78822020-12-15 17:34:54 +01008837 "true_next" : "tbl_act_14",
8838 "false_next" : "node_63"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008839 },
8840 {
pierventre48e78822020-12-15 17:34:54 +01008841 "name" : "node_63",
8842 "id" : 24,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008843 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008844 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008845 "line" : 328,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008846 "column" : 12,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008847 "source_fragment" : "fabric_md.spgw.skip_spgw == false"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008848 },
8849 "expression" : {
8850 "type" : "expression",
8851 "value" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008852 "op" : "==",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008853 "left" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008854 "type" : "expression",
8855 "value" : {
8856 "op" : "d2b",
8857 "left" : null,
8858 "right" : {
8859 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008860 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008861 }
8862 }
8863 },
8864 "right" : {
8865 "type" : "bool",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008866 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07008867 }
8868 }
8869 },
8870 "false_next" : null,
pierventre48e78822020-12-15 17:34:54 +01008871 "true_next" : "node_64"
Robert MacDavidde12b982020-07-15 18:38:59 -07008872 },
8873 {
pierventre48e78822020-12-15 17:34:54 +01008874 "name" : "node_64",
8875 "id" : 25,
Robert MacDavidde12b982020-07-15 18:38:59 -07008876 "source_info" : {
8877 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008878 "line" : 329,
8879 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07008880 "source_fragment" : "fabric_md.spgw.needs_gtpu_encap == true"
8881 },
8882 "expression" : {
8883 "type" : "expression",
8884 "value" : {
8885 "op" : "==",
8886 "left" : {
8887 "type" : "expression",
8888 "value" : {
8889 "op" : "d2b",
8890 "left" : null,
8891 "right" : {
8892 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008893 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_encap29"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008894 }
8895 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008896 },
8897 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008898 "type" : "bool",
8899 "value" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008900 }
8901 }
8902 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008903 "true_next" : "tbl_spgw_gtpu_encap",
pierventre48e78822020-12-15 17:34:54 +01008904 "false_next" : "node_66"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008905 },
8906 {
pierventre48e78822020-12-15 17:34:54 +01008907 "name" : "node_66",
8908 "id" : 26,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008909 "source_info" : {
8910 "filename" : "include/control/spgw.p4",
8911 "line" : 332,
8912 "column" : 16,
8913 "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr == false"
8914 },
8915 "expression" : {
8916 "type" : "expression",
8917 "value" : {
8918 "op" : "==",
8919 "left" : {
8920 "type" : "expression",
8921 "value" : {
8922 "op" : "d2b",
8923 "left" : null,
8924 "right" : {
8925 "type" : "field",
8926 "value" : ["scalars", "fabric_metadata_t._spgw_skip_egress_pdr_ctr31"]
8927 }
8928 }
8929 },
8930 "right" : {
8931 "type" : "bool",
8932 "value" : false
8933 }
8934 }
8935 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008936 "false_next" : null,
pierventre48e78822020-12-15 17:34:54 +01008937 "true_next" : "tbl_act_15"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008938 }
8939 ]
8940 }
8941 ],
8942 "checksums" : [
8943 {
8944 "name" : "cksum",
8945 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008946 "source_info" : {
8947 "filename" : "include/checksum.p4",
8948 "line" : 28,
8949 "column" : 8,
8950 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
8951 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008952 "target" : ["ipv4", "hdr_checksum"],
8953 "type" : "generic",
8954 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008955 "verify" : false,
8956 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008957 "if_cond" : {
8958 "type" : "expression",
8959 "value" : {
8960 "op" : "d2b",
8961 "left" : null,
8962 "right" : {
8963 "type" : "field",
8964 "value" : ["ipv4", "$valid$"]
8965 }
8966 }
8967 }
8968 },
8969 {
8970 "name" : "cksum_0",
8971 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008972 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008973 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008974 "line" : 349,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008975 "column" : 8,
8976 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
8977 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02008978 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008979 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08008980 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008981 "verify" : false,
8982 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008983 "if_cond" : {
8984 "type" : "expression",
8985 "value" : {
8986 "op" : "d2b",
8987 "left" : null,
8988 "right" : {
8989 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02008990 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008991 }
8992 }
8993 }
8994 },
8995 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08008996 "name" : "cksum_1",
8997 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008998 "source_info" : {
8999 "filename" : "include/checksum.p4",
9000 "line" : 57,
9001 "column" : 8,
9002 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
9003 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009004 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009005 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009006 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009007 "verify" : true,
9008 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009009 "if_cond" : {
9010 "type" : "expression",
9011 "value" : {
9012 "op" : "d2b",
9013 "left" : null,
9014 "right" : {
9015 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009016 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009017 }
9018 }
9019 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009020 }
9021 ],
9022 "force_arith" : [],
9023 "extern_instances" : [],
9024 "field_aliases" : [
9025 [
9026 "queueing_metadata.enq_timestamp",
9027 ["standard_metadata", "enq_timestamp"]
9028 ],
9029 [
9030 "queueing_metadata.enq_qdepth",
9031 ["standard_metadata", "enq_qdepth"]
9032 ],
9033 [
9034 "queueing_metadata.deq_timedelta",
9035 ["standard_metadata", "deq_timedelta"]
9036 ],
9037 [
9038 "queueing_metadata.deq_qdepth",
9039 ["standard_metadata", "deq_qdepth"]
9040 ],
9041 [
9042 "intrinsic_metadata.ingress_global_timestamp",
9043 ["standard_metadata", "ingress_global_timestamp"]
9044 ],
9045 [
Yi Tseng27b9bc02018-04-12 14:52:40 +08009046 "intrinsic_metadata.egress_global_timestamp",
9047 ["standard_metadata", "egress_global_timestamp"]
9048 ],
9049 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009050 "intrinsic_metadata.lf_field_list",
9051 ["standard_metadata", "lf_field_list"]
9052 ],
9053 [
9054 "intrinsic_metadata.mcast_grp",
9055 ["standard_metadata", "mcast_grp"]
9056 ],
9057 [
9058 "intrinsic_metadata.resubmit_flag",
9059 ["standard_metadata", "resubmit_flag"]
9060 ],
9061 [
9062 "intrinsic_metadata.egress_rid",
9063 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08009064 ],
9065 [
9066 "intrinsic_metadata.recirculate_flag",
9067 ["standard_metadata", "recirculate_flag"]
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009068 ],
9069 [
9070 "intrinsic_metadata.priority",
9071 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009072 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009073 ],
9074 "program" : "fabric.p4",
9075 "__meta__" : {
9076 "version" : [2, 18],
9077 "compiler" : "https://github.com/p4lang/p4c"
9078 }
Carmelo Cascone25243d62019-02-21 15:37:31 -08009079}