blob: 246401b2306b51eed3404c745919386803b18610 [file] [log] [blame]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
Carmelo Cascone79a3a312018-08-16 17:14:43 -07007 ["last_ipv4_dscp", 6, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02008 ["tmp", 4, false],
Carmelo Cascone79a3a312018-08-16 17:14:43 -07009 ["tmp_0", 8, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020010 ["tmp_1", 32, false],
Carmelo Cascone79a3a312018-08-16 17:14:43 -070011 ["tmp_2", 32, false],
12 ["tmp_3", 32, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013 ["spgw_ingress_tmp_1", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014 ["spgw_ingress_tmp_2", 1, false],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015 ["filtering_tmp_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016 ["next_tmp_2", 1, false],
17 ["next_tmp_3", 1, false],
18 ["next_tmp_4", 1, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070019 ["spgw_normalizer_hasReturned_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020020 ["spgw_ingress_hasReturned_0", 1, false],
21 ["next_hasReturned_0", 1, false],
Carmelo Cascone79a3a312018-08-16 17:14:43 -070022 ["process_int_main_process_int_transit_hasReturned_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020023 ["fabric_metadata_t.fwd_type", 3, false],
24 ["fabric_metadata_t.next_id", 32, false],
25 ["fabric_metadata_t.pop_vlan_when_packet_in", 1, false],
26 ["fabric_metadata_t.is_multicast", 1, false],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070027 ["fabric_metadata_t.is_controller_packet_out", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020028 ["fabric_metadata_t.clone_to_cpu", 1, false],
29 ["fabric_metadata_t.ip_proto", 8, false],
30 ["fabric_metadata_t.l4_src_port", 16, false],
31 ["fabric_metadata_t.l4_dst_port", 16, false],
Carmelo Cascone79a3a312018-08-16 17:14:43 -070032 ["_padding_2", 5, false]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020033 ]
34 },
35 {
36 "name" : "standard_metadata",
37 "id" : 1,
38 "fields" : [
39 ["ingress_port", 9, false],
40 ["egress_spec", 9, false],
41 ["egress_port", 9, false],
42 ["clone_spec", 32, false],
43 ["instance_type", 32, false],
44 ["drop", 1, false],
45 ["recirculate_port", 16, false],
46 ["packet_length", 32, false],
47 ["enq_timestamp", 32, false],
48 ["enq_qdepth", 19, false],
49 ["deq_timedelta", 32, false],
50 ["deq_qdepth", 19, false],
51 ["ingress_global_timestamp", 48, false],
52 ["egress_global_timestamp", 48, false],
53 ["lf_field_list", 32, false],
54 ["mcast_grp", 16, false],
55 ["resubmit_flag", 32, false],
56 ["egress_rid", 16, false],
57 ["checksum_error", 1, false],
58 ["recirculate_flag", 32, false],
59 ["_padding", 5, false]
60 ]
61 },
62 {
63 "name" : "ethernet_t",
64 "id" : 2,
65 "fields" : [
66 ["dst_addr", 48, false],
67 ["src_addr", 48, false],
68 ["ether_type", 16, false]
69 ]
70 },
71 {
72 "name" : "vlan_tag_t",
73 "id" : 3,
74 "fields" : [
75 ["pri", 3, false],
76 ["cfi", 1, false],
77 ["vlan_id", 12, false],
78 ["ether_type", 16, false]
79 ]
80 },
81 {
82 "name" : "mpls_t",
83 "id" : 4,
84 "fields" : [
85 ["label", 20, false],
86 ["tc", 3, false],
87 ["bos", 1, false],
88 ["ttl", 8, false]
89 ]
90 },
91 {
92 "name" : "ipv4_t",
93 "id" : 5,
94 "fields" : [
95 ["version", 4, false],
96 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090097 ["dscp", 6, false],
98 ["ecn", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020099 ["total_len", 16, false],
100 ["identification", 16, false],
101 ["flags", 3, false],
102 ["frag_offset", 13, false],
103 ["ttl", 8, false],
104 ["protocol", 8, false],
105 ["hdr_checksum", 16, false],
106 ["src_addr", 32, false],
107 ["dst_addr", 32, false]
108 ]
109 },
110 {
111 "name" : "udp_t",
112 "id" : 6,
113 "fields" : [
114 ["src_port", 16, false],
115 ["dst_port", 16, false],
116 ["len", 16, false],
117 ["checksum", 16, false]
118 ]
119 },
120 {
121 "name" : "gtpu_t",
122 "id" : 7,
123 "fields" : [
124 ["version", 3, false],
125 ["pt", 1, false],
126 ["spare", 1, false],
127 ["ex_flag", 1, false],
128 ["seq_flag", 1, false],
129 ["npdu_flag", 1, false],
130 ["msgtype", 8, false],
131 ["msglen", 16, false],
132 ["teid", 32, false]
133 ]
134 },
135 {
136 "name" : "ipv6_t",
137 "id" : 8,
138 "fields" : [
139 ["version", 4, false],
140 ["traffic_class", 8, false],
141 ["flow_label", 20, false],
142 ["payload_len", 16, false],
143 ["next_hdr", 8, false],
144 ["hop_limit", 8, false],
145 ["src_addr", 128, false],
146 ["dst_addr", 128, false]
147 ]
148 },
149 {
150 "name" : "arp_t",
151 "id" : 9,
152 "fields" : [
153 ["hw_type", 16, false],
154 ["proto_type", 16, false],
155 ["hw_addr_len", 8, false],
156 ["proto_addr_len", 8, false],
157 ["opcode", 16, false]
158 ]
159 },
160 {
161 "name" : "tcp_t",
162 "id" : 10,
163 "fields" : [
164 ["src_port", 16, false],
165 ["dst_port", 16, false],
166 ["seq_no", 32, false],
167 ["ack_no", 32, false],
168 ["data_offset", 4, false],
169 ["res", 3, false],
170 ["ecn", 3, false],
171 ["ctrl", 6, false],
172 ["window", 16, false],
173 ["checksum", 16, false],
174 ["urgent_ptr", 16, false]
175 ]
176 },
177 {
178 "name" : "icmp_t",
179 "id" : 11,
180 "fields" : [
181 ["icmp_type", 8, false],
182 ["icmp_code", 8, false],
183 ["checksum", 16, false],
184 ["identifier", 16, false],
185 ["sequence_number", 16, false],
186 ["timestamp", 64, false]
187 ]
188 },
189 {
190 "name" : "packet_out_header_t",
191 "id" : 12,
192 "fields" : [
193 ["egress_port", 9, false],
194 ["_pad", 7, false]
195 ]
196 },
197 {
198 "name" : "packet_in_header_t",
199 "id" : 13,
200 "fields" : [
201 ["ingress_port", 9, false],
202 ["_pad", 7, false]
203 ]
204 },
205 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900206 "name" : "report_fixed_header_t",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200207 "id" : 14,
208 "fields" : [
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900209 ["ver", 4, false],
210 ["nproto", 4, false],
211 ["d", 1, false],
212 ["q", 1, false],
213 ["f", 1, false],
214 ["rsvd", 15, false],
215 ["hw_id", 6, false],
216 ["seq_no", 32, false],
217 ["ingress_tstamp", 32, false]
218 ]
219 },
220 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900221 "name" : "intl4_shim_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700222 "id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900223 "fields" : [
224 ["int_type", 8, false],
225 ["rsvd1", 8, false],
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700226 ["len_words", 8, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900227 ["rsvd2", 8, false]
228 ]
229 },
230 {
231 "name" : "int_header_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700232 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900233 "fields" : [
234 ["ver", 2, false],
235 ["rep", 2, false],
236 ["c", 1, false],
237 ["e", 1, false],
238 ["rsvd1", 5, false],
239 ["ins_cnt", 5, false],
240 ["max_hop_cnt", 8, false],
241 ["total_hop_cnt", 8, false],
242 ["instruction_mask_0003", 4, false],
243 ["instruction_mask_0407", 4, false],
244 ["instruction_mask_0811", 4, false],
245 ["instruction_mask_1215", 4, false],
246 ["rsvd2", 16, false]
247 ]
248 },
249 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900250 "name" : "int_switch_id_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700251 "id" : 17,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900252 "fields" : [
253 ["switch_id", 32, false]
254 ]
255 },
256 {
257 "name" : "int_port_ids_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700258 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900259 "fields" : [
260 ["ingress_port_id", 16, false],
261 ["egress_port_id", 16, false]
262 ]
263 },
264 {
265 "name" : "int_hop_latency_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700266 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900267 "fields" : [
268 ["hop_latency", 32, false]
269 ]
270 },
271 {
272 "name" : "int_q_occupancy_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700273 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900274 "fields" : [
275 ["q_id", 8, false],
276 ["q_occupancy", 24, false]
277 ]
278 },
279 {
280 "name" : "int_ingress_tstamp_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700281 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900282 "fields" : [
283 ["ingress_tstamp", 32, false]
284 ]
285 },
286 {
287 "name" : "int_egress_tstamp_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700288 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900289 "fields" : [
290 ["egress_tstamp", 32, false]
291 ]
292 },
293 {
294 "name" : "int_q_congestion_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700295 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900296 "fields" : [
297 ["q_id", 8, false],
298 ["q_congestion", 24, false]
299 ]
300 },
301 {
302 "name" : "int_egress_port_tx_util_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700303 "id" : 24,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900304 "fields" : [
305 ["egress_port_tx_util", 32, false]
306 ]
307 },
308 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700309 "name" : "int_data_t",
310 "id" : 25,
311 "fields" : [
312 ["data", "*"]
313 ],
314 "max_length" : 1004
315 },
316 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900317 "name" : "intl4_tail_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700318 "id" : 26,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900319 "fields" : [
320 ["next_proto", 8, false],
321 ["dest_port", 16, false],
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700322 ["padding", 2, false],
323 ["dscp", 6, false]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900324 ]
325 },
326 {
327 "name" : "spgw_meta_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700328 "id" : 27,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900329 "fields" : [
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700330 ["direction", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200331 ["ipv4_len", 16, false],
332 ["teid", 32, false],
333 ["s1u_enb_addr", 32, false],
334 ["s1u_sgw_addr", 32, false],
335 ["_padding_0", 6, false]
336 ]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900337 },
338 {
339 "name" : "int_metadata_t",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700340 "id" : 28,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900341 "fields" : [
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700342 ["source", 1, 0],
343 ["transit", 1, 0],
344 ["sink", 1, 0],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900345 ["switch_id", 32, false],
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700346 ["new_words", 8, false],
347 ["new_bytes", 16, false],
348 ["_padding_1", 5, false]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900349 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200350 }
351 ],
352 "headers" : [
353 {
354 "name" : "scalars",
355 "id" : 0,
356 "header_type" : "scalars_0",
357 "metadata" : true,
358 "pi_omit" : true
359 },
360 {
361 "name" : "standard_metadata",
362 "id" : 1,
363 "header_type" : "standard_metadata",
364 "metadata" : true,
365 "pi_omit" : true
366 },
367 {
368 "name" : "ethernet",
369 "id" : 2,
370 "header_type" : "ethernet_t",
371 "metadata" : false,
372 "pi_omit" : true
373 },
374 {
375 "name" : "vlan_tag",
376 "id" : 3,
377 "header_type" : "vlan_tag_t",
378 "metadata" : false,
379 "pi_omit" : true
380 },
381 {
382 "name" : "mpls",
383 "id" : 4,
384 "header_type" : "mpls_t",
385 "metadata" : false,
386 "pi_omit" : true
387 },
388 {
389 "name" : "gtpu_ipv4",
390 "id" : 5,
391 "header_type" : "ipv4_t",
392 "metadata" : false,
393 "pi_omit" : true
394 },
395 {
396 "name" : "gtpu_udp",
397 "id" : 6,
398 "header_type" : "udp_t",
399 "metadata" : false,
400 "pi_omit" : true
401 },
402 {
403 "name" : "gtpu",
404 "id" : 7,
405 "header_type" : "gtpu_t",
406 "metadata" : false,
407 "pi_omit" : true
408 },
409 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700410 "name" : "inner_ipv4",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200411 "id" : 8,
412 "header_type" : "ipv4_t",
413 "metadata" : false,
414 "pi_omit" : true
415 },
416 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700417 "name" : "inner_udp",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200418 "id" : 9,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700419 "header_type" : "udp_t",
420 "metadata" : false,
421 "pi_omit" : true
422 },
423 {
424 "name" : "ipv4",
425 "id" : 10,
426 "header_type" : "ipv4_t",
427 "metadata" : false,
428 "pi_omit" : true
429 },
430 {
431 "name" : "ipv6",
432 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200433 "header_type" : "ipv6_t",
434 "metadata" : false,
435 "pi_omit" : true
436 },
437 {
438 "name" : "arp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700439 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200440 "header_type" : "arp_t",
441 "metadata" : false,
442 "pi_omit" : true
443 },
444 {
445 "name" : "tcp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700446 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200447 "header_type" : "tcp_t",
448 "metadata" : false,
449 "pi_omit" : true
450 },
451 {
452 "name" : "udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700453 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200454 "header_type" : "udp_t",
455 "metadata" : false,
456 "pi_omit" : true
457 },
458 {
459 "name" : "icmp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700460 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200461 "header_type" : "icmp_t",
462 "metadata" : false,
463 "pi_omit" : true
464 },
465 {
466 "name" : "packet_out",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700467 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200468 "header_type" : "packet_out_header_t",
469 "metadata" : false,
470 "pi_omit" : true
471 },
472 {
473 "name" : "packet_in",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700474 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200475 "header_type" : "packet_in_header_t",
476 "metadata" : false,
477 "pi_omit" : true
478 },
479 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900480 "name" : "report_ethernet",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700481 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900482 "header_type" : "ethernet_t",
483 "metadata" : false,
484 "pi_omit" : true
485 },
486 {
487 "name" : "report_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700488 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900489 "header_type" : "ipv4_t",
490 "metadata" : false,
491 "pi_omit" : true
492 },
493 {
494 "name" : "report_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700495 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900496 "header_type" : "udp_t",
497 "metadata" : false,
498 "pi_omit" : true
499 },
500 {
501 "name" : "report_fixed_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700502 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900503 "header_type" : "report_fixed_header_t",
504 "metadata" : false,
505 "pi_omit" : true
506 },
507 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900508 "name" : "intl4_shim",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700509 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900510 "header_type" : "intl4_shim_t",
511 "metadata" : false,
512 "pi_omit" : true
513 },
514 {
515 "name" : "int_header",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700516 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900517 "header_type" : "int_header_t",
518 "metadata" : false,
519 "pi_omit" : true
520 },
521 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900522 "name" : "int_switch_id",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700523 "id" : 24,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900524 "header_type" : "int_switch_id_t",
525 "metadata" : false,
526 "pi_omit" : true
527 },
528 {
529 "name" : "int_port_ids",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700530 "id" : 25,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900531 "header_type" : "int_port_ids_t",
532 "metadata" : false,
533 "pi_omit" : true
534 },
535 {
536 "name" : "int_hop_latency",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700537 "id" : 26,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900538 "header_type" : "int_hop_latency_t",
539 "metadata" : false,
540 "pi_omit" : true
541 },
542 {
543 "name" : "int_q_occupancy",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700544 "id" : 27,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900545 "header_type" : "int_q_occupancy_t",
546 "metadata" : false,
547 "pi_omit" : true
548 },
549 {
550 "name" : "int_ingress_tstamp",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700551 "id" : 28,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900552 "header_type" : "int_ingress_tstamp_t",
553 "metadata" : false,
554 "pi_omit" : true
555 },
556 {
557 "name" : "int_egress_tstamp",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700558 "id" : 29,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900559 "header_type" : "int_egress_tstamp_t",
560 "metadata" : false,
561 "pi_omit" : true
562 },
563 {
564 "name" : "int_q_congestion",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700565 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900566 "header_type" : "int_q_congestion_t",
567 "metadata" : false,
568 "pi_omit" : true
569 },
570 {
571 "name" : "int_egress_tx_util",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700572 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900573 "header_type" : "int_egress_port_tx_util_t",
574 "metadata" : false,
575 "pi_omit" : true
576 },
577 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700578 "name" : "int_data",
579 "id" : 32,
580 "header_type" : "int_data_t",
581 "metadata" : false,
582 "pi_omit" : true
583 },
584 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900585 "name" : "intl4_tail",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700586 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900587 "header_type" : "intl4_tail_t",
588 "metadata" : false,
589 "pi_omit" : true
590 },
591 {
592 "name" : "userMetadata.spgw",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700593 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200594 "header_type" : "spgw_meta_t",
595 "metadata" : true,
596 "pi_omit" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900597 },
598 {
599 "name" : "userMetadata.int_meta",
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700600 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900601 "header_type" : "int_metadata_t",
602 "metadata" : true,
603 "pi_omit" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200604 }
605 ],
606 "header_stacks" : [],
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700607 "header_union_types" : [],
608 "header_unions" : [],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200609 "header_union_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900610 "field_lists" : [
611 {
612 "id" : 1,
613 "name" : "fl",
614 "elements" : []
615 }
616 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200617 "errors" : [],
618 "enums" : [],
619 "parsers" : [
620 {
621 "name" : "parser",
622 "id" : 0,
623 "init_state" : "start",
624 "parse_states" : [
625 {
626 "name" : "start",
627 "id" : 0,
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700628 "parser_ops" : [
629 {
630 "parameters" : [
631 {
632 "type" : "field",
633 "value" : ["scalars", "last_ipv4_dscp"]
634 },
635 {
636 "type" : "hexstr",
637 "value" : "0x00"
638 }
639 ],
640 "op" : "set"
641 }
642 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200643 "transitions" : [
644 {
645 "type" : "hexstr",
646 "value" : "0x00ff",
647 "mask" : null,
648 "next_state" : "parse_packet_out"
649 },
650 {
651 "value" : "default",
652 "mask" : null,
653 "next_state" : "parse_ethernet"
654 }
655 ],
656 "transition_key" : [
657 {
658 "type" : "field",
659 "value" : ["standard_metadata", "ingress_port"]
660 }
661 ]
662 },
663 {
664 "name" : "parse_packet_out",
665 "id" : 1,
666 "parser_ops" : [
667 {
668 "parameters" : [
669 {
670 "type" : "regular",
671 "value" : "packet_out"
672 }
673 ],
674 "op" : "extract"
675 }
676 ],
677 "transitions" : [
678 {
679 "value" : "default",
680 "mask" : null,
681 "next_state" : "parse_ethernet"
682 }
683 ],
684 "transition_key" : []
685 },
686 {
687 "name" : "parse_ethernet",
688 "id" : 2,
689 "parser_ops" : [
690 {
691 "parameters" : [
692 {
693 "type" : "regular",
694 "value" : "ethernet"
695 }
696 ],
697 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200698 }
699 ],
700 "transitions" : [
701 {
702 "type" : "hexstr",
703 "value" : "0x8100",
704 "mask" : null,
705 "next_state" : "parse_vlan_tag"
706 },
707 {
708 "type" : "hexstr",
709 "value" : "0x8847",
710 "mask" : null,
711 "next_state" : "parse_mpls"
712 },
713 {
714 "type" : "hexstr",
715 "value" : "0x0806",
716 "mask" : null,
717 "next_state" : "parse_arp"
718 },
719 {
720 "type" : "hexstr",
721 "value" : "0x0800",
722 "mask" : null,
723 "next_state" : "parse_ipv4"
724 },
725 {
726 "type" : "hexstr",
727 "value" : "0x86dd",
728 "mask" : null,
729 "next_state" : "parse_ipv6"
730 },
731 {
732 "value" : "default",
733 "mask" : null,
734 "next_state" : null
735 }
736 ],
737 "transition_key" : [
738 {
739 "type" : "field",
740 "value" : ["ethernet", "ether_type"]
741 }
742 ]
743 },
744 {
745 "name" : "parse_vlan_tag",
746 "id" : 3,
747 "parser_ops" : [
748 {
749 "parameters" : [
750 {
751 "type" : "regular",
752 "value" : "vlan_tag"
753 }
754 ],
755 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200756 }
757 ],
758 "transitions" : [
759 {
760 "type" : "hexstr",
761 "value" : "0x0806",
762 "mask" : null,
763 "next_state" : "parse_arp"
764 },
765 {
766 "type" : "hexstr",
767 "value" : "0x0800",
768 "mask" : null,
769 "next_state" : "parse_ipv4"
770 },
771 {
772 "type" : "hexstr",
773 "value" : "0x86dd",
774 "mask" : null,
775 "next_state" : "parse_ipv6"
776 },
777 {
778 "type" : "hexstr",
779 "value" : "0x8847",
780 "mask" : null,
781 "next_state" : "parse_mpls"
782 },
783 {
784 "value" : "default",
785 "mask" : null,
786 "next_state" : null
787 }
788 ],
789 "transition_key" : [
790 {
791 "type" : "field",
792 "value" : ["vlan_tag", "ether_type"]
793 }
794 ]
795 },
796 {
797 "name" : "parse_mpls",
798 "id" : 4,
799 "parser_ops" : [
800 {
801 "parameters" : [
802 {
803 "type" : "regular",
804 "value" : "mpls"
805 }
806 ],
807 "op" : "extract"
808 },
809 {
810 "parameters" : [
811 {
812 "type" : "field",
813 "value" : ["scalars", "tmp"]
814 },
815 {
816 "type" : "lookahead",
817 "value" : [0, 4]
818 }
819 ],
820 "op" : "set"
821 }
822 ],
823 "transitions" : [
824 {
825 "type" : "hexstr",
826 "value" : "0x04",
827 "mask" : null,
828 "next_state" : "parse_ipv4"
829 },
830 {
831 "type" : "hexstr",
832 "value" : "0x06",
833 "mask" : null,
834 "next_state" : "parse_ipv6"
835 },
836 {
837 "value" : "default",
838 "mask" : null,
839 "next_state" : "parse_ethernet"
840 }
841 ],
842 "transition_key" : [
843 {
844 "type" : "field",
845 "value" : ["scalars", "tmp"]
846 }
847 ]
848 },
849 {
850 "name" : "parse_ipv4",
851 "id" : 5,
852 "parser_ops" : [
853 {
854 "parameters" : [
855 {
856 "type" : "regular",
857 "value" : "ipv4"
858 }
859 ],
860 "op" : "extract"
861 },
862 {
863 "parameters" : [
864 {
865 "type" : "field",
866 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
867 },
868 {
869 "type" : "field",
870 "value" : ["ipv4", "protocol"]
871 }
872 ],
873 "op" : "set"
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700874 },
875 {
876 "parameters" : [
877 {
878 "type" : "field",
879 "value" : ["scalars", "last_ipv4_dscp"]
880 },
881 {
882 "type" : "field",
883 "value" : ["ipv4", "dscp"]
884 }
885 ],
886 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200887 }
888 ],
889 "transitions" : [
890 {
891 "type" : "hexstr",
892 "value" : "0x06",
893 "mask" : null,
894 "next_state" : "parse_tcp"
895 },
896 {
897 "type" : "hexstr",
898 "value" : "0x11",
899 "mask" : null,
900 "next_state" : "parse_udp"
901 },
902 {
903 "type" : "hexstr",
904 "value" : "0x01",
905 "mask" : null,
906 "next_state" : "parse_icmp"
907 },
908 {
909 "value" : "default",
910 "mask" : null,
911 "next_state" : null
912 }
913 ],
914 "transition_key" : [
915 {
916 "type" : "field",
917 "value" : ["ipv4", "protocol"]
918 }
919 ]
920 },
921 {
922 "name" : "parse_ipv6",
923 "id" : 6,
924 "parser_ops" : [
925 {
926 "parameters" : [
927 {
928 "type" : "regular",
929 "value" : "ipv6"
930 }
931 ],
932 "op" : "extract"
933 },
934 {
935 "parameters" : [
936 {
937 "type" : "field",
938 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
939 },
940 {
941 "type" : "field",
942 "value" : ["ipv6", "next_hdr"]
943 }
944 ],
945 "op" : "set"
946 }
947 ],
948 "transitions" : [
949 {
950 "type" : "hexstr",
951 "value" : "0x06",
952 "mask" : null,
953 "next_state" : "parse_tcp"
954 },
955 {
956 "type" : "hexstr",
957 "value" : "0x11",
958 "mask" : null,
959 "next_state" : "parse_udp"
960 },
961 {
962 "type" : "hexstr",
963 "value" : "0x3a",
964 "mask" : null,
965 "next_state" : "parse_icmp"
966 },
967 {
968 "value" : "default",
969 "mask" : null,
970 "next_state" : null
971 }
972 ],
973 "transition_key" : [
974 {
975 "type" : "field",
976 "value" : ["ipv6", "next_hdr"]
977 }
978 ]
979 },
980 {
981 "name" : "parse_arp",
982 "id" : 7,
983 "parser_ops" : [
984 {
985 "parameters" : [
986 {
987 "type" : "regular",
988 "value" : "arp"
989 }
990 ],
991 "op" : "extract"
992 }
993 ],
994 "transitions" : [
995 {
996 "value" : "default",
997 "mask" : null,
998 "next_state" : null
999 }
1000 ],
1001 "transition_key" : []
1002 },
1003 {
1004 "name" : "parse_tcp",
1005 "id" : 8,
1006 "parser_ops" : [
1007 {
1008 "parameters" : [
1009 {
1010 "type" : "regular",
1011 "value" : "tcp"
1012 }
1013 ],
1014 "op" : "extract"
1015 },
1016 {
1017 "parameters" : [
1018 {
1019 "type" : "field",
1020 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1021 },
1022 {
1023 "type" : "field",
1024 "value" : ["tcp", "src_port"]
1025 }
1026 ],
1027 "op" : "set"
1028 },
1029 {
1030 "parameters" : [
1031 {
1032 "type" : "field",
1033 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1034 },
1035 {
1036 "type" : "field",
1037 "value" : ["tcp", "dst_port"]
1038 }
1039 ],
1040 "op" : "set"
1041 }
1042 ],
1043 "transitions" : [
1044 {
1045 "value" : "default",
1046 "mask" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001047 "next_state" : "parse_int"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001048 }
1049 ],
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001050 "transition_key" : []
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001051 },
1052 {
1053 "name" : "parse_udp",
1054 "id" : 9,
1055 "parser_ops" : [
1056 {
1057 "parameters" : [
1058 {
1059 "type" : "regular",
1060 "value" : "udp"
1061 }
1062 ],
1063 "op" : "extract"
1064 },
1065 {
1066 "parameters" : [
1067 {
1068 "type" : "field",
1069 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1070 },
1071 {
1072 "type" : "field",
1073 "value" : ["udp", "src_port"]
1074 }
1075 ],
1076 "op" : "set"
1077 },
1078 {
1079 "parameters" : [
1080 {
1081 "type" : "field",
1082 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1083 },
1084 {
1085 "type" : "field",
1086 "value" : ["udp", "dst_port"]
1087 }
1088 ],
1089 "op" : "set"
1090 }
1091 ],
1092 "transitions" : [
1093 {
1094 "type" : "hexstr",
1095 "value" : "0x0868",
1096 "mask" : null,
1097 "next_state" : "parse_gtpu"
1098 },
1099 {
1100 "value" : "default",
1101 "mask" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001102 "next_state" : "parse_int"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001103 }
1104 ],
1105 "transition_key" : [
1106 {
1107 "type" : "field",
1108 "value" : ["udp", "dst_port"]
1109 }
1110 ]
1111 },
1112 {
1113 "name" : "parse_icmp",
1114 "id" : 10,
1115 "parser_ops" : [
1116 {
1117 "parameters" : [
1118 {
1119 "type" : "regular",
1120 "value" : "icmp"
1121 }
1122 ],
1123 "op" : "extract"
1124 }
1125 ],
1126 "transitions" : [
1127 {
1128 "value" : "default",
1129 "mask" : null,
1130 "next_state" : null
1131 }
1132 ],
1133 "transition_key" : []
1134 },
1135 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001136 "name" : "parse_gtpu",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001137 "id" : 11,
1138 "parser_ops" : [
1139 {
1140 "parameters" : [
1141 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001142 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001143 "value" : ["scalars", "tmp_0"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001144 },
1145 {
1146 "type" : "expression",
1147 "value" : {
1148 "type" : "expression",
1149 "value" : {
1150 "op" : "&",
1151 "left" : {
Charles Chancf696e52018-08-16 16:25:13 -07001152 "type" : "expression",
1153 "value" : {
1154 "op" : "&",
1155 "left" : {
1156 "type" : "expression",
1157 "value" : {
1158 "op" : ">>",
1159 "left" : {
1160 "type" : "field",
1161 "value" : ["ipv4", "dst_addr"]
1162 },
1163 "right" : {
1164 "type" : "hexstr",
1165 "value" : "0x18"
1166 }
1167 }
1168 },
1169 "right" : {
1170 "type" : "hexstr",
1171 "value" : "0xffffffff"
1172 }
1173 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001174 },
1175 "right" : {
1176 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001177 "value" : "0xff"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001178 }
1179 }
1180 }
1181 }
1182 ],
1183 "op" : "set"
1184 }
1185 ],
1186 "transitions" : [
1187 {
1188 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001189 "value" : "0x8c",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001190 "mask" : null,
1191 "next_state" : "do_parse_gtpu"
1192 },
1193 {
1194 "value" : "default",
1195 "mask" : null,
1196 "next_state" : null
1197 }
1198 ],
1199 "transition_key" : [
1200 {
1201 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001202 "value" : ["scalars", "tmp_0"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001203 }
1204 ]
1205 },
1206 {
1207 "name" : "do_parse_gtpu",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001208 "id" : 12,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001209 "parser_ops" : [
1210 {
1211 "parameters" : [
1212 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001213 "type" : "regular",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001214 "value" : "gtpu"
1215 }
1216 ],
1217 "op" : "extract"
1218 },
1219 {
1220 "parameters" : [
1221 {
1222 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001223 "value" : "inner_ipv4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001224 }
1225 ],
1226 "op" : "extract"
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001227 },
1228 {
1229 "parameters" : [
1230 {
1231 "type" : "field",
1232 "value" : ["scalars", "last_ipv4_dscp"]
1233 },
1234 {
1235 "type" : "field",
1236 "value" : ["inner_ipv4", "dscp"]
1237 }
1238 ],
1239 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001240 }
1241 ],
1242 "transitions" : [
1243 {
1244 "type" : "hexstr",
1245 "value" : "0x06",
1246 "mask" : null,
1247 "next_state" : "parse_tcp"
1248 },
1249 {
1250 "type" : "hexstr",
1251 "value" : "0x11",
1252 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001253 "next_state" : "parse_inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001254 },
1255 {
1256 "type" : "hexstr",
1257 "value" : "0x01",
1258 "mask" : null,
1259 "next_state" : "parse_icmp"
1260 },
1261 {
1262 "value" : "default",
1263 "mask" : null,
1264 "next_state" : null
1265 }
1266 ],
1267 "transition_key" : [
1268 {
1269 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001270 "value" : ["inner_ipv4", "protocol"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001271 }
1272 ]
1273 },
1274 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001275 "name" : "parse_inner_udp",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001276 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001277 "parser_ops" : [
1278 {
1279 "parameters" : [
1280 {
1281 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001282 "value" : "inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001283 }
1284 ],
1285 "op" : "extract"
1286 },
1287 {
1288 "parameters" : [
1289 {
1290 "type" : "field",
1291 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1292 },
1293 {
1294 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001295 "value" : ["inner_udp", "src_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001296 }
1297 ],
1298 "op" : "set"
1299 },
1300 {
1301 "parameters" : [
1302 {
1303 "type" : "field",
1304 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1305 },
1306 {
1307 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001308 "value" : ["inner_udp", "dst_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001309 }
1310 ],
1311 "op" : "set"
1312 }
1313 ],
1314 "transitions" : [
1315 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001316 "value" : "default",
1317 "mask" : null,
1318 "next_state" : "parse_int"
1319 }
1320 ],
1321 "transition_key" : []
1322 },
1323 {
1324 "name" : "parse_int",
1325 "id" : 14,
1326 "parser_ops" : [],
1327 "transitions" : [
1328 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001329 "type" : "hexstr",
1330 "value" : "0x01",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001331 "mask" : "0x01",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001332 "next_state" : "parse_intl4_shim"
1333 },
1334 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001335 "value" : "default",
1336 "mask" : null,
1337 "next_state" : null
1338 }
1339 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001340 "transition_key" : [
1341 {
1342 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001343 "value" : ["scalars", "last_ipv4_dscp"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001344 }
1345 ]
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001346 },
1347 {
1348 "name" : "parse_intl4_shim",
1349 "id" : 15,
1350 "parser_ops" : [
1351 {
1352 "parameters" : [
1353 {
1354 "type" : "regular",
1355 "value" : "intl4_shim"
1356 }
1357 ],
1358 "op" : "extract"
1359 },
1360 {
1361 "parameters" : [
1362 {
1363 "type" : "regular",
1364 "value" : "int_header"
1365 }
1366 ],
1367 "op" : "extract"
1368 }
1369 ],
1370 "transitions" : [
1371 {
1372 "type" : "hexstr",
1373 "value" : "0x04",
1374 "mask" : null,
1375 "next_state" : "parse_intl4_tail"
1376 },
1377 {
1378 "value" : "default",
1379 "mask" : null,
1380 "next_state" : "parse_int_data"
1381 }
1382 ],
1383 "transition_key" : [
1384 {
1385 "type" : "field",
1386 "value" : ["intl4_shim", "len_words"]
1387 }
1388 ]
1389 },
1390 {
1391 "name" : "parse_int_data",
1392 "id" : 16,
1393 "parser_ops" : [
1394 {
1395 "parameters" : [
1396 {
1397 "type" : "field",
1398 "value" : ["scalars", "tmp_1"]
1399 },
1400 {
1401 "type" : "expression",
1402 "value" : {
1403 "type" : "expression",
1404 "value" : {
1405 "op" : "&",
1406 "left" : {
1407 "type" : "expression",
1408 "value" : {
1409 "op" : "<<",
1410 "left" : {
1411 "type" : "expression",
1412 "value" : {
1413 "op" : "&",
1414 "left" : {
1415 "type" : "expression",
1416 "value" : {
1417 "op" : "&",
1418 "left" : {
1419 "type" : "expression",
1420 "value" : {
1421 "op" : "+",
1422 "left" : {
1423 "type" : "field",
1424 "value" : ["intl4_shim", "len_words"]
1425 },
1426 "right" : {
1427 "type" : "hexstr",
1428 "value" : "0xfc"
1429 }
1430 }
1431 },
1432 "right" : {
1433 "type" : "hexstr",
1434 "value" : "0xff"
1435 }
1436 }
1437 },
1438 "right" : {
1439 "type" : "hexstr",
1440 "value" : "0xffffffff"
1441 }
1442 }
1443 },
1444 "right" : {
1445 "type" : "hexstr",
1446 "value" : "0x5"
1447 }
1448 }
1449 },
1450 "right" : {
1451 "type" : "hexstr",
1452 "value" : "0xffffffff"
1453 }
1454 }
1455 }
1456 }
1457 ],
1458 "op" : "set"
1459 },
1460 {
1461 "parameters" : [
1462 {
1463 "type" : "regular",
1464 "value" : "int_data"
1465 },
1466 {
1467 "type" : "expression",
1468 "value" : {
1469 "type" : "field",
1470 "value" : ["scalars", "tmp_1"]
1471 }
1472 }
1473 ],
1474 "op" : "extract_VL"
1475 }
1476 ],
1477 "transitions" : [
1478 {
1479 "value" : "default",
1480 "mask" : null,
1481 "next_state" : "parse_intl4_tail"
1482 }
1483 ],
1484 "transition_key" : []
1485 },
1486 {
1487 "name" : "parse_intl4_tail",
1488 "id" : 17,
1489 "parser_ops" : [
1490 {
1491 "parameters" : [
1492 {
1493 "type" : "regular",
1494 "value" : "intl4_tail"
1495 }
1496 ],
1497 "op" : "extract"
1498 }
1499 ],
1500 "transitions" : [
1501 {
1502 "value" : "default",
1503 "mask" : null,
1504 "next_state" : null
1505 }
1506 ],
1507 "transition_key" : []
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001508 }
1509 ]
1510 }
1511 ],
1512 "parse_vsets" : [],
1513 "deparsers" : [
1514 {
1515 "name" : "deparser",
1516 "id" : 0,
1517 "source_info" : {
1518 "filename" : "include/parser.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001519 "line" : 228,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001520 "column" : 8,
1521 "source_fragment" : "FabricDeparser"
1522 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001523 "order" : ["packet_in", "report_ethernet", "report_ipv4", "report_udp", "report_fixed_header", "ethernet", "vlan_tag", "mpls", "arp", "gtpu_ipv4", "gtpu_udp", "gtpu", "ipv4", "ipv6", "tcp", "udp", "icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_tx_util", "int_data", "intl4_tail"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001524 }
1525 ],
1526 "meter_arrays" : [],
1527 "counter_arrays" : [
1528 {
1529 "name" : "FabricIngress.spgw_ingress.ue_counter",
1530 "id" : 0,
1531 "is_direct" : true,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001532 "binding" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001533 },
1534 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001535 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001536 "id" : 1,
1537 "is_direct" : true,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001538 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1539 },
1540 {
1541 "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
1542 "id" : 2,
1543 "is_direct" : true,
1544 "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
1545 },
1546 {
1547 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1548 "id" : 3,
1549 "is_direct" : true,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001550 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1551 },
1552 {
1553 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001554 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001555 "is_direct" : true,
1556 "binding" : "FabricIngress.filtering.fwd_classifier"
1557 },
1558 {
1559 "name" : "FabricIngress.forwarding.bridging_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001560 "id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001561 "is_direct" : true,
1562 "binding" : "FabricIngress.forwarding.bridging"
1563 },
1564 {
1565 "name" : "FabricIngress.forwarding.mpls_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001566 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001567 "is_direct" : true,
1568 "binding" : "FabricIngress.forwarding.mpls"
1569 },
1570 {
Charles Chan384aea22018-08-23 22:08:02 -07001571 "name" : "FabricIngress.forwarding.routing_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001572 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001573 "is_direct" : true,
Charles Chan384aea22018-08-23 22:08:02 -07001574 "binding" : "FabricIngress.forwarding.routing_v4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001575 },
1576 {
1577 "name" : "FabricIngress.forwarding.acl_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001578 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001579 "is_direct" : true,
1580 "binding" : "FabricIngress.forwarding.acl"
1581 },
1582 {
Charles Chan384aea22018-08-23 22:08:02 -07001583 "name" : "FabricIngress.forwarding.routing_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001584 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001585 "is_direct" : true,
Charles Chan384aea22018-08-23 22:08:02 -07001586 "binding" : "FabricIngress.forwarding.routing_v6"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001587 },
1588 {
1589 "name" : "FabricIngress.next.vlan_meta_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001590 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001591 "is_direct" : true,
1592 "binding" : "FabricIngress.next.vlan_meta"
1593 },
1594 {
1595 "name" : "FabricIngress.next.simple_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001596 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001597 "is_direct" : true,
1598 "binding" : "FabricIngress.next.simple"
1599 },
1600 {
1601 "name" : "FabricIngress.next.hashed_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001602 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001603 "is_direct" : true,
1604 "binding" : "FabricIngress.next.hashed"
1605 },
1606 {
1607 "name" : "FabricIngress.next.multicast_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001608 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001609 "is_direct" : true,
1610 "binding" : "FabricIngress.next.multicast"
1611 },
1612 {
1613 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001614 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001615 "source_info" : {
1616 "filename" : "include/control/port_counter.p4",
1617 "line" : 23,
1618 "column" : 48,
1619 "source_fragment" : "egress_port_counter"
1620 },
1621 "size" : 511,
1622 "is_direct" : false
1623 },
1624 {
1625 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001626 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001627 "source_info" : {
1628 "filename" : "include/control/port_counter.p4",
1629 "line" : 24,
1630 "column" : 48,
1631 "source_fragment" : "ingress_port_counter"
1632 },
1633 "size" : 511,
1634 "is_direct" : false
1635 },
1636 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001637 "name" : "FabricEgress.process_int_main.process_int_source.counter_int_source",
Charles Chan384aea22018-08-23 22:08:02 -07001638 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001639 "is_direct" : true,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001640 "binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001641 },
1642 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001643 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07001644 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001645 "is_direct" : true,
1646 "binding" : "FabricEgress.egress_next.egress_vlan"
1647 }
1648 ],
1649 "register_arrays" : [],
1650 "calculations" : [
1651 {
1652 "name" : "calc",
1653 "id" : 0,
1654 "source_info" : {
1655 "filename" : "include/checksum.p4",
1656 "line" : 28,
1657 "column" : 8,
1658 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1659 },
1660 "algo" : "csum16",
1661 "input" : [
1662 {
1663 "type" : "field",
1664 "value" : ["ipv4", "version"]
1665 },
1666 {
1667 "type" : "field",
1668 "value" : ["ipv4", "ihl"]
1669 },
1670 {
1671 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001672 "value" : ["ipv4", "dscp"]
1673 },
1674 {
1675 "type" : "field",
1676 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001677 },
1678 {
1679 "type" : "field",
1680 "value" : ["ipv4", "total_len"]
1681 },
1682 {
1683 "type" : "field",
1684 "value" : ["ipv4", "identification"]
1685 },
1686 {
1687 "type" : "field",
1688 "value" : ["ipv4", "flags"]
1689 },
1690 {
1691 "type" : "field",
1692 "value" : ["ipv4", "frag_offset"]
1693 },
1694 {
1695 "type" : "field",
1696 "value" : ["ipv4", "ttl"]
1697 },
1698 {
1699 "type" : "field",
1700 "value" : ["ipv4", "protocol"]
1701 },
1702 {
1703 "type" : "field",
1704 "value" : ["ipv4", "src_addr"]
1705 },
1706 {
1707 "type" : "field",
1708 "value" : ["ipv4", "dst_addr"]
1709 }
1710 ]
1711 },
1712 {
1713 "name" : "calc_0",
1714 "id" : 1,
1715 "source_info" : {
1716 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001717 "line" : 237,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001718 "column" : 8,
1719 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1720 },
1721 "algo" : "csum16",
1722 "input" : [
1723 {
1724 "type" : "field",
1725 "value" : ["gtpu_ipv4", "version"]
1726 },
1727 {
1728 "type" : "field",
1729 "value" : ["gtpu_ipv4", "ihl"]
1730 },
1731 {
1732 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001733 "value" : ["gtpu_ipv4", "dscp"]
1734 },
1735 {
1736 "type" : "field",
1737 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001738 },
1739 {
1740 "type" : "field",
1741 "value" : ["gtpu_ipv4", "total_len"]
1742 },
1743 {
1744 "type" : "field",
1745 "value" : ["gtpu_ipv4", "identification"]
1746 },
1747 {
1748 "type" : "field",
1749 "value" : ["gtpu_ipv4", "flags"]
1750 },
1751 {
1752 "type" : "field",
1753 "value" : ["gtpu_ipv4", "frag_offset"]
1754 },
1755 {
1756 "type" : "field",
1757 "value" : ["gtpu_ipv4", "ttl"]
1758 },
1759 {
1760 "type" : "field",
1761 "value" : ["gtpu_ipv4", "protocol"]
1762 },
1763 {
1764 "type" : "field",
1765 "value" : ["gtpu_ipv4", "src_addr"]
1766 },
1767 {
1768 "type" : "field",
1769 "value" : ["gtpu_ipv4", "dst_addr"]
1770 }
1771 ]
1772 },
1773 {
1774 "name" : "calc_1",
1775 "id" : 2,
1776 "source_info" : {
1777 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001778 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001779 "column" : 8,
1780 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1781 },
1782 "algo" : "csum16",
1783 "input" : [
1784 {
1785 "type" : "field",
1786 "value" : ["ipv4", "version"]
1787 },
1788 {
1789 "type" : "field",
1790 "value" : ["ipv4", "ihl"]
1791 },
1792 {
1793 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001794 "value" : ["ipv4", "dscp"]
1795 },
1796 {
1797 "type" : "field",
1798 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001799 },
1800 {
1801 "type" : "field",
1802 "value" : ["ipv4", "total_len"]
1803 },
1804 {
1805 "type" : "field",
1806 "value" : ["ipv4", "identification"]
1807 },
1808 {
1809 "type" : "field",
1810 "value" : ["ipv4", "flags"]
1811 },
1812 {
1813 "type" : "field",
1814 "value" : ["ipv4", "frag_offset"]
1815 },
1816 {
1817 "type" : "field",
1818 "value" : ["ipv4", "ttl"]
1819 },
1820 {
1821 "type" : "field",
1822 "value" : ["ipv4", "protocol"]
1823 },
1824 {
1825 "type" : "field",
1826 "value" : ["ipv4", "src_addr"]
1827 },
1828 {
1829 "type" : "field",
1830 "value" : ["ipv4", "dst_addr"]
1831 }
1832 ]
1833 }
1834 ],
1835 "learn_lists" : [],
1836 "actions" : [
1837 {
1838 "name" : "NoAction",
1839 "id" : 0,
1840 "runtime_data" : [],
1841 "primitives" : []
1842 },
1843 {
1844 "name" : "NoAction",
1845 "id" : 1,
1846 "runtime_data" : [],
1847 "primitives" : []
1848 },
1849 {
1850 "name" : "NoAction",
1851 "id" : 2,
1852 "runtime_data" : [],
1853 "primitives" : []
1854 },
1855 {
1856 "name" : "NoAction",
1857 "id" : 3,
1858 "runtime_data" : [],
1859 "primitives" : []
1860 },
1861 {
1862 "name" : "NoAction",
1863 "id" : 4,
1864 "runtime_data" : [],
1865 "primitives" : []
1866 },
1867 {
1868 "name" : "NoAction",
1869 "id" : 5,
1870 "runtime_data" : [],
1871 "primitives" : []
1872 },
1873 {
1874 "name" : "NoAction",
1875 "id" : 6,
1876 "runtime_data" : [],
1877 "primitives" : []
1878 },
1879 {
1880 "name" : "NoAction",
1881 "id" : 7,
1882 "runtime_data" : [],
1883 "primitives" : []
1884 },
1885 {
1886 "name" : "NoAction",
1887 "id" : 8,
1888 "runtime_data" : [],
1889 "primitives" : []
1890 },
1891 {
1892 "name" : "NoAction",
1893 "id" : 9,
1894 "runtime_data" : [],
1895 "primitives" : []
1896 },
1897 {
1898 "name" : "NoAction",
1899 "id" : 10,
1900 "runtime_data" : [],
1901 "primitives" : []
1902 },
1903 {
Charles Chan384aea22018-08-23 22:08:02 -07001904 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001905 "id" : 11,
1906 "runtime_data" : [],
1907 "primitives" : []
1908 },
1909 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001910 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07001911 "id" : 12,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001912 "runtime_data" : [],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001913 "primitives" : [
1914 {
1915 "op" : "drop",
1916 "parameters" : [],
1917 "source_info" : {
1918 "filename" : "include/control/../action.p4",
1919 "line" : 24,
1920 "column" : 4,
1921 "source_fragment" : "mark_to_drop()"
1922 }
1923 },
1924 {
1925 "op" : "exit",
1926 "parameters" : [],
1927 "source_info" : {
1928 "filename" : "include/control/../action.p4",
1929 "line" : 25,
1930 "column" : 4,
1931 "source_fragment" : "exit"
1932 }
1933 }
1934 ]
1935 },
1936 {
1937 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
Charles Chan384aea22018-08-23 22:08:02 -07001938 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001939 "runtime_data" : [],
1940 "primitives" : [
1941 {
1942 "op" : "remove_header",
1943 "parameters" : [
1944 {
1945 "type" : "header",
1946 "value" : "gtpu_ipv4"
1947 }
1948 ],
1949 "source_info" : {
1950 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001951 "line" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001952 "column" : 8,
1953 "source_fragment" : "gtpu_ipv4.setInvalid()"
1954 }
1955 },
1956 {
1957 "op" : "remove_header",
1958 "parameters" : [
1959 {
1960 "type" : "header",
1961 "value" : "gtpu_udp"
1962 }
1963 ],
1964 "source_info" : {
1965 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001966 "line" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001967 "column" : 8,
1968 "source_fragment" : "gtpu_udp.setInvalid()"
1969 }
1970 },
1971 {
1972 "op" : "remove_header",
1973 "parameters" : [
1974 {
1975 "type" : "header",
1976 "value" : "gtpu"
1977 }
1978 ],
1979 "source_info" : {
1980 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001981 "line" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001982 "column" : 8,
1983 "source_fragment" : "gtpu.setInvalid()"
1984 }
1985 }
1986 ]
1987 },
1988 {
1989 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
Charles Chan384aea22018-08-23 22:08:02 -07001990 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001991 "runtime_data" : [
1992 {
1993 "name" : "teid",
1994 "bitwidth" : 32
1995 },
1996 {
1997 "name" : "s1u_enb_addr",
1998 "bitwidth" : 32
1999 },
2000 {
2001 "name" : "s1u_sgw_addr",
2002 "bitwidth" : 32
2003 }
2004 ],
2005 "primitives" : [
2006 {
2007 "op" : "assign",
2008 "parameters" : [
2009 {
2010 "type" : "field",
2011 "value" : ["userMetadata.spgw", "teid"]
2012 },
2013 {
2014 "type" : "runtime_data",
2015 "value" : 0
2016 }
2017 ],
2018 "source_info" : {
2019 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002020 "line" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002021 "column" : 8,
2022 "source_fragment" : "spgw_meta.teid = teid"
2023 }
2024 },
2025 {
2026 "op" : "assign",
2027 "parameters" : [
2028 {
2029 "type" : "field",
2030 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
2031 },
2032 {
2033 "type" : "runtime_data",
2034 "value" : 1
2035 }
2036 ],
2037 "source_info" : {
2038 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002039 "line" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002040 "column" : 8,
2041 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
2042 }
2043 },
2044 {
2045 "op" : "assign",
2046 "parameters" : [
2047 {
2048 "type" : "field",
2049 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
2050 },
2051 {
2052 "type" : "runtime_data",
2053 "value" : 2
2054 }
2055 ],
2056 "source_info" : {
2057 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002058 "line" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002059 "column" : 8,
2060 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
2061 }
2062 }
2063 ]
2064 },
2065 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002066 "name" : "FabricIngress.process_set_source_sink.int_set_source",
Charles Chan384aea22018-08-23 22:08:02 -07002067 "id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002068 "runtime_data" : [],
2069 "primitives" : [
2070 {
2071 "op" : "assign",
2072 "parameters" : [
2073 {
2074 "type" : "field",
2075 "value" : ["userMetadata.int_meta", "source"]
2076 },
2077 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07002078 "type" : "expression",
2079 "value" : {
2080 "type" : "expression",
2081 "value" : {
2082 "op" : "b2d",
2083 "left" : null,
2084 "right" : {
2085 "type" : "bool",
2086 "value" : true
2087 }
2088 }
2089 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002090 }
2091 ],
2092 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07002093 "filename" : "include/int/int_main.p4",
2094 "line" : 42,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002095 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07002096 "source_fragment" : "fabric_metadata.int_meta.source = true"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002097 }
2098 }
2099 ]
2100 },
2101 {
2102 "name" : "FabricIngress.process_set_source_sink.int_set_sink",
Charles Chan384aea22018-08-23 22:08:02 -07002103 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002104 "runtime_data" : [],
2105 "primitives" : [
2106 {
2107 "op" : "assign",
2108 "parameters" : [
2109 {
2110 "type" : "field",
2111 "value" : ["userMetadata.int_meta", "sink"]
2112 },
2113 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07002114 "type" : "expression",
2115 "value" : {
2116 "type" : "expression",
2117 "value" : {
2118 "op" : "b2d",
2119 "left" : null,
2120 "right" : {
2121 "type" : "bool",
2122 "value" : true
2123 }
2124 }
2125 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002126 }
2127 ],
2128 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07002129 "filename" : "include/int/int_main.p4",
2130 "line" : 61,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002131 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07002132 "source_fragment" : "fabric_metadata.int_meta.sink = true"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002133 }
2134 }
2135 ]
2136 },
2137 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002138 "name" : "FabricIngress.filtering.drop",
Charles Chan384aea22018-08-23 22:08:02 -07002139 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002140 "runtime_data" : [],
2141 "primitives" : [
2142 {
2143 "op" : "drop",
2144 "parameters" : [],
2145 "source_info" : {
2146 "filename" : "include/control/filtering.p4",
2147 "line" : 37,
2148 "column" : 8,
2149 "source_fragment" : "mark_to_drop()"
2150 }
2151 }
2152 ]
2153 },
2154 {
2155 "name" : "FabricIngress.filtering.set_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002156 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002157 "runtime_data" : [
2158 {
2159 "name" : "new_vlan_id",
2160 "bitwidth" : 12
2161 }
2162 ],
2163 "primitives" : [
2164 {
2165 "op" : "assign",
2166 "parameters" : [
2167 {
2168 "type" : "field",
2169 "value" : ["vlan_tag", "vlan_id"]
2170 },
2171 {
2172 "type" : "runtime_data",
2173 "value" : 0
2174 }
2175 ],
2176 "source_info" : {
2177 "filename" : "include/control/filtering.p4",
2178 "line" : 42,
2179 "column" : 8,
2180 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2181 }
2182 }
2183 ]
2184 },
2185 {
2186 "name" : "FabricIngress.filtering.push_internal_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002187 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002188 "runtime_data" : [
2189 {
2190 "name" : "new_vlan_id",
2191 "bitwidth" : 12
2192 }
2193 ],
2194 "primitives" : [
2195 {
2196 "op" : "add_header",
2197 "parameters" : [
2198 {
2199 "type" : "header",
2200 "value" : "vlan_tag"
2201 }
2202 ],
2203 "source_info" : {
2204 "filename" : "include/control/filtering.p4",
2205 "line" : 49,
2206 "column" : 8,
2207 "source_fragment" : "hdr.vlan_tag.setValid()"
2208 }
2209 },
2210 {
2211 "op" : "assign",
2212 "parameters" : [
2213 {
2214 "type" : "field",
2215 "value" : ["vlan_tag", "cfi"]
2216 },
2217 {
2218 "type" : "hexstr",
2219 "value" : "0x00"
2220 }
2221 ],
2222 "source_info" : {
2223 "filename" : "include/control/filtering.p4",
2224 "line" : 50,
2225 "column" : 8,
2226 "source_fragment" : "hdr.vlan_tag.cfi = 0"
2227 }
2228 },
2229 {
2230 "op" : "assign",
2231 "parameters" : [
2232 {
2233 "type" : "field",
2234 "value" : ["vlan_tag", "pri"]
2235 },
2236 {
2237 "type" : "hexstr",
2238 "value" : "0x00"
2239 }
2240 ],
2241 "source_info" : {
2242 "filename" : "include/control/filtering.p4",
2243 "line" : 51,
2244 "column" : 8,
2245 "source_fragment" : "hdr.vlan_tag.pri = 0"
2246 }
2247 },
2248 {
2249 "op" : "assign",
2250 "parameters" : [
2251 {
2252 "type" : "field",
2253 "value" : ["vlan_tag", "ether_type"]
2254 },
2255 {
2256 "type" : "field",
2257 "value" : ["ethernet", "ether_type"]
2258 }
2259 ],
2260 "source_info" : {
2261 "filename" : "include/control/filtering.p4",
2262 "line" : 52,
2263 "column" : 8,
2264 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
2265 }
2266 },
2267 {
2268 "op" : "assign",
2269 "parameters" : [
2270 {
2271 "type" : "field",
2272 "value" : ["ethernet", "ether_type"]
2273 },
2274 {
2275 "type" : "hexstr",
2276 "value" : "0x8100"
2277 }
2278 ],
2279 "source_info" : {
2280 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07002281 "line" : 91,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002282 "column" : 31,
2283 "source_fragment" : "0x8100; ..."
2284 }
2285 },
2286 {
2287 "op" : "assign",
2288 "parameters" : [
2289 {
2290 "type" : "field",
2291 "value" : ["vlan_tag", "vlan_id"]
2292 },
2293 {
2294 "type" : "runtime_data",
2295 "value" : 0
2296 }
2297 ],
2298 "source_info" : {
2299 "filename" : "include/control/filtering.p4",
2300 "line" : 54,
2301 "column" : 8,
2302 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2303 }
2304 },
2305 {
2306 "op" : "assign",
2307 "parameters" : [
2308 {
2309 "type" : "field",
2310 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2311 },
2312 {
2313 "type" : "expression",
2314 "value" : {
2315 "type" : "expression",
2316 "value" : {
2317 "op" : "b2d",
2318 "left" : null,
2319 "right" : {
2320 "type" : "bool",
2321 "value" : true
2322 }
2323 }
2324 }
2325 }
2326 ],
2327 "source_info" : {
2328 "filename" : "include/control/filtering.p4",
2329 "line" : 57,
2330 "column" : 8,
2331 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2332 }
2333 }
2334 ]
2335 },
2336 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002337 "name" : "FabricIngress.filtering.nop_ingress_port_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002338 "id" : 20,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002339 "runtime_data" : [],
2340 "primitives" : []
2341 },
2342 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002343 "name" : "FabricIngress.filtering.set_forwarding_type",
Charles Chan384aea22018-08-23 22:08:02 -07002344 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002345 "runtime_data" : [
2346 {
2347 "name" : "fwd_type",
2348 "bitwidth" : 3
2349 }
2350 ],
2351 "primitives" : [
2352 {
2353 "op" : "assign",
2354 "parameters" : [
2355 {
2356 "type" : "field",
2357 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2358 },
2359 {
2360 "type" : "runtime_data",
2361 "value" : 0
2362 }
2363 ],
2364 "source_info" : {
2365 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002366 "line" : 99,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002367 "column" : 8,
2368 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2369 }
2370 }
2371 ]
2372 },
2373 {
2374 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Charles Chan384aea22018-08-23 22:08:02 -07002375 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002376 "runtime_data" : [
2377 {
2378 "name" : "next_id",
2379 "bitwidth" : 32
2380 }
2381 ],
2382 "primitives" : [
2383 {
2384 "op" : "assign",
2385 "parameters" : [
2386 {
2387 "type" : "field",
2388 "value" : ["scalars", "fabric_metadata_t.next_id"]
2389 },
2390 {
2391 "type" : "runtime_data",
2392 "value" : 0
2393 }
2394 ],
2395 "source_info" : {
2396 "filename" : "include/control/forwarding.p4",
2397 "line" : 37,
2398 "column" : 8,
2399 "source_fragment" : "fabric_metadata.next_id = next_id"
2400 }
2401 }
2402 ]
2403 },
2404 {
2405 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Charles Chan384aea22018-08-23 22:08:02 -07002406 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002407 "runtime_data" : [
2408 {
2409 "name" : "next_id",
2410 "bitwidth" : 32
2411 }
2412 ],
2413 "primitives" : [
2414 {
2415 "op" : "remove_header",
2416 "parameters" : [
2417 {
2418 "type" : "header",
2419 "value" : "mpls"
2420 }
2421 ],
2422 "source_info" : {
2423 "filename" : "include/control/forwarding.p4",
2424 "line" : 60,
2425 "column" : 8,
2426 "source_fragment" : "hdr.mpls.setInvalid()"
2427 }
2428 },
2429 {
2430 "op" : "assign",
2431 "parameters" : [
2432 {
2433 "type" : "field",
2434 "value" : ["scalars", "fabric_metadata_t.next_id"]
2435 },
2436 {
2437 "type" : "runtime_data",
2438 "value" : 0
2439 }
2440 ],
2441 "source_info" : {
2442 "filename" : "include/control/forwarding.p4",
2443 "line" : 61,
2444 "column" : 8,
2445 "source_fragment" : "fabric_metadata.next_id = next_id"
2446 }
2447 }
2448 ]
2449 },
2450 {
Charles Chan384aea22018-08-23 22:08:02 -07002451 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
2452 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002453 "runtime_data" : [
2454 {
2455 "name" : "next_id",
2456 "bitwidth" : 32
2457 }
2458 ],
2459 "primitives" : [
2460 {
2461 "op" : "assign",
2462 "parameters" : [
2463 {
2464 "type" : "field",
2465 "value" : ["scalars", "fabric_metadata_t.next_id"]
2466 },
2467 {
2468 "type" : "runtime_data",
2469 "value" : 0
2470 }
2471 ],
2472 "source_info" : {
2473 "filename" : "include/control/forwarding.p4",
2474 "line" : 83,
2475 "column" : 8,
2476 "source_fragment" : "fabric_metadata.next_id = next_id"
2477 }
2478 }
2479 ]
2480 },
2481 {
Charles Chancd03f072018-08-31 17:46:37 -07002482 "name" : "FabricIngress.forwarding.nop_routing_v4",
Charles Chan384aea22018-08-23 22:08:02 -07002483 "id" : 25,
Charles Chancd03f072018-08-31 17:46:37 -07002484 "runtime_data" : [],
2485 "primitives" : []
2486 },
2487 {
2488 "name" : "FabricIngress.forwarding.set_next_id_acl",
2489 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002490 "runtime_data" : [
2491 {
2492 "name" : "next_id",
2493 "bitwidth" : 32
2494 }
2495 ],
2496 "primitives" : [
2497 {
2498 "op" : "assign",
2499 "parameters" : [
2500 {
2501 "type" : "field",
2502 "value" : ["scalars", "fabric_metadata_t.next_id"]
2503 },
2504 {
2505 "type" : "runtime_data",
2506 "value" : 0
2507 }
2508 ],
2509 "source_info" : {
2510 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002511 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002512 "column" : 8,
2513 "source_fragment" : "fabric_metadata.next_id = next_id"
2514 }
2515 }
2516 ]
2517 },
2518 {
2519 "name" : "FabricIngress.forwarding.punt_to_cpu",
Charles Chancd03f072018-08-31 17:46:37 -07002520 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002521 "runtime_data" : [],
2522 "primitives" : [
2523 {
2524 "op" : "assign",
2525 "parameters" : [
2526 {
2527 "type" : "field",
2528 "value" : ["standard_metadata", "egress_spec"]
2529 },
2530 {
2531 "type" : "hexstr",
2532 "value" : "0x00ff"
2533 }
2534 ],
2535 "source_info" : {
2536 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002537 "line" : 116,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002538 "column" : 8,
2539 "source_fragment" : "standard_metadata.egress_spec = 255"
2540 }
2541 },
2542 {
2543 "op" : "exit",
2544 "parameters" : [],
2545 "source_info" : {
2546 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002547 "line" : 118,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002548 "column" : 8,
2549 "source_fragment" : "exit"
2550 }
2551 }
2552 ]
2553 },
2554 {
2555 "name" : "FabricIngress.forwarding.clone_to_cpu",
Charles Chancd03f072018-08-31 17:46:37 -07002556 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002557 "runtime_data" : [],
2558 "primitives" : [
2559 {
2560 "op" : "assign",
2561 "parameters" : [
2562 {
2563 "type" : "field",
2564 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2565 },
2566 {
2567 "type" : "expression",
2568 "value" : {
2569 "type" : "expression",
2570 "value" : {
2571 "op" : "b2d",
2572 "left" : null,
2573 "right" : {
2574 "type" : "bool",
2575 "value" : true
2576 }
2577 }
2578 }
2579 }
2580 ],
2581 "source_info" : {
2582 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002583 "line" : 123,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002584 "column" : 8,
2585 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2586 }
2587 }
2588 ]
2589 },
2590 {
2591 "name" : "FabricIngress.forwarding.drop",
Charles Chancd03f072018-08-31 17:46:37 -07002592 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002593 "runtime_data" : [],
2594 "primitives" : [
2595 {
2596 "op" : "drop",
2597 "parameters" : [],
2598 "source_info" : {
2599 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002600 "line" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002601 "column" : 8,
2602 "source_fragment" : "mark_to_drop()"
2603 }
2604 }
2605 ]
2606 },
2607 {
Charles Chancf696e52018-08-16 16:25:13 -07002608 "name" : "FabricIngress.forwarding.nop_acl",
Charles Chancd03f072018-08-31 17:46:37 -07002609 "id" : 30,
Charles Chancf696e52018-08-16 16:25:13 -07002610 "runtime_data" : [],
2611 "primitives" : []
2612 },
2613 {
Charles Chan384aea22018-08-23 22:08:02 -07002614 "name" : "FabricIngress.forwarding.set_next_id_routing_v6",
Charles Chancd03f072018-08-31 17:46:37 -07002615 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002616 "runtime_data" : [
2617 {
2618 "name" : "next_id",
2619 "bitwidth" : 32
2620 }
2621 ],
2622 "primitives" : [
2623 {
2624 "op" : "assign",
2625 "parameters" : [
2626 {
2627 "type" : "field",
2628 "value" : ["scalars", "fabric_metadata_t.next_id"]
2629 },
2630 {
2631 "type" : "runtime_data",
2632 "value" : 0
2633 }
2634 ],
2635 "source_info" : {
2636 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002637 "line" : 174,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002638 "column" : 8,
2639 "source_fragment" : "fabric_metadata.next_id = next_id"
2640 }
2641 }
2642 ]
2643 },
2644 {
2645 "name" : "FabricIngress.next.set_vlan",
Charles Chancd03f072018-08-31 17:46:37 -07002646 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002647 "runtime_data" : [
2648 {
2649 "name" : "new_vlan_id",
2650 "bitwidth" : 12
2651 }
2652 ],
2653 "primitives" : [
2654 {
2655 "op" : "assign",
2656 "parameters" : [
2657 {
2658 "type" : "field",
2659 "value" : ["vlan_tag", "vlan_id"]
2660 },
2661 {
2662 "type" : "runtime_data",
2663 "value" : 0
2664 }
2665 ],
2666 "source_info" : {
2667 "filename" : "include/control/next.p4",
2668 "line" : 61,
2669 "column" : 8,
2670 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2671 }
2672 }
2673 ]
2674 },
2675 {
2676 "name" : "FabricIngress.next.output_simple",
Charles Chancd03f072018-08-31 17:46:37 -07002677 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002678 "runtime_data" : [
2679 {
2680 "name" : "port_num",
2681 "bitwidth" : 9
2682 }
2683 ],
2684 "primitives" : [
2685 {
2686 "op" : "assign",
2687 "parameters" : [
2688 {
2689 "type" : "field",
2690 "value" : ["standard_metadata", "egress_spec"]
2691 },
2692 {
2693 "type" : "runtime_data",
2694 "value" : 0
2695 }
2696 ],
2697 "source_info" : {
2698 "filename" : "include/control/next.p4",
2699 "line" : 85,
2700 "column" : 8,
2701 "source_fragment" : "standard_metadata.egress_spec = port_num"
2702 }
2703 }
2704 ]
2705 },
2706 {
2707 "name" : "FabricIngress.next.set_vlan_output",
Charles Chancd03f072018-08-31 17:46:37 -07002708 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002709 "runtime_data" : [
2710 {
2711 "name" : "new_vlan_id",
2712 "bitwidth" : 12
2713 },
2714 {
2715 "name" : "port_num",
2716 "bitwidth" : 9
2717 }
2718 ],
2719 "primitives" : [
2720 {
2721 "op" : "assign",
2722 "parameters" : [
2723 {
2724 "type" : "field",
2725 "value" : ["vlan_tag", "vlan_id"]
2726 },
2727 {
2728 "type" : "runtime_data",
2729 "value" : 0
2730 }
2731 ],
2732 "source_info" : {
2733 "filename" : "include/control/next.p4",
2734 "line" : 90,
2735 "column" : 8,
2736 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2737 }
2738 },
2739 {
2740 "op" : "assign",
2741 "parameters" : [
2742 {
2743 "type" : "field",
2744 "value" : ["standard_metadata", "egress_spec"]
2745 },
2746 {
2747 "type" : "runtime_data",
2748 "value" : 1
2749 }
2750 ],
2751 "source_info" : {
2752 "filename" : "include/control/next.p4",
2753 "line" : 85,
2754 "column" : 8,
2755 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2756 }
2757 }
2758 ]
2759 },
2760 {
2761 "name" : "FabricIngress.next.l3_routing_simple",
Charles Chancd03f072018-08-31 17:46:37 -07002762 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002763 "runtime_data" : [
2764 {
2765 "name" : "port_num",
2766 "bitwidth" : 9
2767 },
2768 {
2769 "name" : "smac",
2770 "bitwidth" : 48
2771 },
2772 {
2773 "name" : "dmac",
2774 "bitwidth" : 48
2775 }
2776 ],
2777 "primitives" : [
2778 {
2779 "op" : "assign",
2780 "parameters" : [
2781 {
2782 "type" : "field",
2783 "value" : ["ethernet", "src_addr"]
2784 },
2785 {
2786 "type" : "runtime_data",
2787 "value" : 1
2788 }
2789 ],
2790 "source_info" : {
2791 "filename" : "include/control/next.p4",
2792 "line" : 37,
2793 "column" : 8,
2794 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2795 }
2796 },
2797 {
2798 "op" : "assign",
2799 "parameters" : [
2800 {
2801 "type" : "field",
2802 "value" : ["ethernet", "dst_addr"]
2803 },
2804 {
2805 "type" : "runtime_data",
2806 "value" : 2
2807 }
2808 ],
2809 "source_info" : {
2810 "filename" : "include/control/next.p4",
2811 "line" : 41,
2812 "column" : 8,
2813 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2814 }
2815 },
2816 {
2817 "op" : "assign",
2818 "parameters" : [
2819 {
2820 "type" : "field",
2821 "value" : ["standard_metadata", "egress_spec"]
2822 },
2823 {
2824 "type" : "runtime_data",
2825 "value" : 0
2826 }
2827 ],
2828 "source_info" : {
2829 "filename" : "include/control/next.p4",
2830 "line" : 85,
2831 "column" : 8,
2832 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2833 }
2834 }
2835 ]
2836 },
2837 {
2838 "name" : "FabricIngress.next.mpls_routing_v4_simple",
Charles Chan384aea22018-08-23 22:08:02 -07002839 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002840 "runtime_data" : [
2841 {
2842 "name" : "port_num",
2843 "bitwidth" : 9
2844 },
2845 {
2846 "name" : "smac",
2847 "bitwidth" : 48
2848 },
2849 {
2850 "name" : "dmac",
2851 "bitwidth" : 48
2852 },
2853 {
2854 "name" : "label",
2855 "bitwidth" : 20
2856 }
2857 ],
2858 "primitives" : [
2859 {
2860 "op" : "assign",
2861 "parameters" : [
2862 {
2863 "type" : "field",
2864 "value" : ["ethernet", "src_addr"]
2865 },
2866 {
2867 "type" : "runtime_data",
2868 "value" : 1
2869 }
2870 ],
2871 "source_info" : {
2872 "filename" : "include/control/next.p4",
2873 "line" : 37,
2874 "column" : 8,
2875 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2876 }
2877 },
2878 {
2879 "op" : "assign",
2880 "parameters" : [
2881 {
2882 "type" : "field",
2883 "value" : ["ethernet", "dst_addr"]
2884 },
2885 {
2886 "type" : "runtime_data",
2887 "value" : 2
2888 }
2889 ],
2890 "source_info" : {
2891 "filename" : "include/control/next.p4",
2892 "line" : 41,
2893 "column" : 8,
2894 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2895 }
2896 },
2897 {
2898 "op" : "assign",
2899 "parameters" : [
2900 {
2901 "type" : "field",
2902 "value" : ["standard_metadata", "egress_spec"]
2903 },
2904 {
2905 "type" : "runtime_data",
2906 "value" : 0
2907 }
2908 ],
2909 "source_info" : {
2910 "filename" : "include/control/next.p4",
2911 "line" : 85,
2912 "column" : 8,
2913 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2914 }
2915 },
2916 {
2917 "op" : "add_header",
2918 "parameters" : [
2919 {
2920 "type" : "header",
2921 "value" : "mpls"
2922 }
2923 ],
2924 "source_info" : {
2925 "filename" : "include/control/next.p4",
2926 "line" : 46,
2927 "column" : 8,
2928 "source_fragment" : "hdr.mpls.setValid()"
2929 }
2930 },
2931 {
2932 "op" : "assign",
2933 "parameters" : [
2934 {
2935 "type" : "field",
2936 "value" : ["vlan_tag", "ether_type"]
2937 },
2938 {
2939 "type" : "hexstr",
2940 "value" : "0x8847"
2941 }
2942 ],
2943 "source_info" : {
2944 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07002945 "line" : 92,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002946 "column" : 31,
2947 "source_fragment" : "0x8847; ..."
2948 }
2949 },
2950 {
2951 "op" : "assign",
2952 "parameters" : [
2953 {
2954 "type" : "field",
2955 "value" : ["mpls", "label"]
2956 },
2957 {
2958 "type" : "runtime_data",
2959 "value" : 3
2960 }
2961 ],
2962 "source_info" : {
2963 "filename" : "include/control/next.p4",
2964 "line" : 48,
2965 "column" : 8,
2966 "source_fragment" : "hdr.mpls.label = label; ..."
2967 }
2968 },
2969 {
2970 "op" : "assign",
2971 "parameters" : [
2972 {
2973 "type" : "field",
2974 "value" : ["mpls", "tc"]
2975 },
2976 {
2977 "type" : "hexstr",
2978 "value" : "0x00"
2979 }
2980 ],
2981 "source_info" : {
2982 "filename" : "include/control/next.p4",
2983 "line" : 49,
2984 "column" : 8,
2985 "source_fragment" : "hdr.mpls.tc = tc; ..."
2986 }
2987 },
2988 {
2989 "op" : "assign",
2990 "parameters" : [
2991 {
2992 "type" : "field",
2993 "value" : ["mpls", "bos"]
2994 },
2995 {
2996 "type" : "hexstr",
2997 "value" : "0x01"
2998 }
2999 ],
3000 "source_info" : {
3001 "filename" : "include/control/next.p4",
3002 "line" : 50,
3003 "column" : 8,
3004 "source_fragment" : "hdr.mpls.bos = 1w1"
3005 }
3006 },
3007 {
3008 "op" : "assign",
3009 "parameters" : [
3010 {
3011 "type" : "field",
3012 "value" : ["mpls", "ttl"]
3013 },
3014 {
3015 "type" : "hexstr",
3016 "value" : "0x40"
3017 }
3018 ],
3019 "source_info" : {
3020 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003021 "line" : 115,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003022 "column" : 32,
3023 "source_fragment" : "64; ..."
3024 }
3025 }
3026 ]
3027 },
3028 {
Charles Chancd03f072018-08-31 17:46:37 -07003029 "name" : "FabricIngress.next.mpls_routing_v6_simple",
Charles Chan384aea22018-08-23 22:08:02 -07003030 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003031 "runtime_data" : [
3032 {
3033 "name" : "port_num",
3034 "bitwidth" : 9
3035 },
3036 {
3037 "name" : "smac",
3038 "bitwidth" : 48
3039 },
3040 {
3041 "name" : "dmac",
3042 "bitwidth" : 48
3043 },
3044 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003045 "name" : "label",
3046 "bitwidth" : 20
3047 }
3048 ],
3049 "primitives" : [
3050 {
3051 "op" : "assign",
3052 "parameters" : [
3053 {
3054 "type" : "field",
3055 "value" : ["ethernet", "src_addr"]
3056 },
3057 {
3058 "type" : "runtime_data",
3059 "value" : 1
3060 }
3061 ],
3062 "source_info" : {
3063 "filename" : "include/control/next.p4",
3064 "line" : 37,
3065 "column" : 8,
3066 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3067 }
3068 },
3069 {
3070 "op" : "assign",
3071 "parameters" : [
3072 {
3073 "type" : "field",
3074 "value" : ["ethernet", "dst_addr"]
3075 },
3076 {
3077 "type" : "runtime_data",
3078 "value" : 2
3079 }
3080 ],
3081 "source_info" : {
3082 "filename" : "include/control/next.p4",
3083 "line" : 41,
3084 "column" : 8,
3085 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3086 }
3087 },
3088 {
3089 "op" : "assign",
3090 "parameters" : [
3091 {
3092 "type" : "field",
3093 "value" : ["standard_metadata", "egress_spec"]
3094 },
3095 {
3096 "type" : "runtime_data",
3097 "value" : 0
3098 }
3099 ],
3100 "source_info" : {
3101 "filename" : "include/control/next.p4",
Charles Chancd03f072018-08-31 17:46:37 -07003102 "line" : 85,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003103 "column" : 8,
3104 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3105 }
3106 },
3107 {
3108 "op" : "add_header",
3109 "parameters" : [
3110 {
3111 "type" : "header",
3112 "value" : "mpls"
3113 }
3114 ],
3115 "source_info" : {
3116 "filename" : "include/control/next.p4",
3117 "line" : 46,
3118 "column" : 8,
3119 "source_fragment" : "hdr.mpls.setValid()"
3120 }
3121 },
3122 {
3123 "op" : "assign",
3124 "parameters" : [
3125 {
3126 "type" : "field",
3127 "value" : ["vlan_tag", "ether_type"]
3128 },
3129 {
3130 "type" : "hexstr",
3131 "value" : "0x8847"
3132 }
3133 ],
3134 "source_info" : {
3135 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003136 "line" : 92,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003137 "column" : 31,
3138 "source_fragment" : "0x8847; ..."
3139 }
3140 },
3141 {
3142 "op" : "assign",
3143 "parameters" : [
3144 {
3145 "type" : "field",
3146 "value" : ["mpls", "label"]
3147 },
3148 {
3149 "type" : "runtime_data",
3150 "value" : 3
3151 }
3152 ],
3153 "source_info" : {
3154 "filename" : "include/control/next.p4",
3155 "line" : 48,
3156 "column" : 8,
3157 "source_fragment" : "hdr.mpls.label = label; ..."
3158 }
3159 },
3160 {
3161 "op" : "assign",
3162 "parameters" : [
3163 {
3164 "type" : "field",
3165 "value" : ["mpls", "tc"]
3166 },
3167 {
3168 "type" : "hexstr",
3169 "value" : "0x00"
3170 }
3171 ],
3172 "source_info" : {
3173 "filename" : "include/control/next.p4",
3174 "line" : 49,
3175 "column" : 8,
3176 "source_fragment" : "hdr.mpls.tc = tc; ..."
3177 }
3178 },
3179 {
3180 "op" : "assign",
3181 "parameters" : [
3182 {
3183 "type" : "field",
3184 "value" : ["mpls", "bos"]
3185 },
3186 {
3187 "type" : "hexstr",
3188 "value" : "0x01"
3189 }
3190 ],
3191 "source_info" : {
3192 "filename" : "include/control/next.p4",
3193 "line" : 50,
3194 "column" : 8,
3195 "source_fragment" : "hdr.mpls.bos = 1w1"
3196 }
3197 },
3198 {
3199 "op" : "assign",
3200 "parameters" : [
3201 {
3202 "type" : "field",
3203 "value" : ["mpls", "ttl"]
3204 },
3205 {
3206 "type" : "hexstr",
3207 "value" : "0x40"
3208 }
3209 ],
3210 "source_info" : {
3211 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003212 "line" : 115,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003213 "column" : 32,
3214 "source_fragment" : "64; ..."
3215 }
3216 }
3217 ]
3218 },
3219 {
Charles Chancd03f072018-08-31 17:46:37 -07003220 "name" : "FabricIngress.next.l3_routing_vlan",
3221 "id" : 38,
3222 "runtime_data" : [
3223 {
3224 "name" : "port_num",
3225 "bitwidth" : 9
3226 },
3227 {
3228 "name" : "smac",
3229 "bitwidth" : 48
3230 },
3231 {
3232 "name" : "dmac",
3233 "bitwidth" : 48
3234 },
3235 {
3236 "name" : "new_vlan_id",
3237 "bitwidth" : 12
3238 }
3239 ],
3240 "primitives" : [
3241 {
3242 "op" : "assign",
3243 "parameters" : [
3244 {
3245 "type" : "field",
3246 "value" : ["ethernet", "src_addr"]
3247 },
3248 {
3249 "type" : "runtime_data",
3250 "value" : 1
3251 }
3252 ],
3253 "source_info" : {
3254 "filename" : "include/control/next.p4",
3255 "line" : 37,
3256 "column" : 8,
3257 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3258 }
3259 },
3260 {
3261 "op" : "assign",
3262 "parameters" : [
3263 {
3264 "type" : "field",
3265 "value" : ["ethernet", "dst_addr"]
3266 },
3267 {
3268 "type" : "runtime_data",
3269 "value" : 2
3270 }
3271 ],
3272 "source_info" : {
3273 "filename" : "include/control/next.p4",
3274 "line" : 41,
3275 "column" : 8,
3276 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3277 }
3278 },
3279 {
3280 "op" : "assign",
3281 "parameters" : [
3282 {
3283 "type" : "field",
3284 "value" : ["vlan_tag", "vlan_id"]
3285 },
3286 {
3287 "type" : "runtime_data",
3288 "value" : 3
3289 }
3290 ],
3291 "source_info" : {
3292 "filename" : "include/control/next.p4",
3293 "line" : 90,
3294 "column" : 8,
3295 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3296 }
3297 },
3298 {
3299 "op" : "assign",
3300 "parameters" : [
3301 {
3302 "type" : "field",
3303 "value" : ["standard_metadata", "egress_spec"]
3304 },
3305 {
3306 "type" : "runtime_data",
3307 "value" : 0
3308 }
3309 ],
3310 "source_info" : {
3311 "filename" : "include/control/next.p4",
3312 "line" : 85,
3313 "column" : 8,
3314 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3315 }
3316 }
3317 ]
3318 },
3319 {
3320 "name" : "FabricIngress.next.l3_routing_hashed",
3321 "id" : 39,
3322 "runtime_data" : [
3323 {
3324 "name" : "port_num",
3325 "bitwidth" : 9
3326 },
3327 {
3328 "name" : "smac",
3329 "bitwidth" : 48
3330 },
3331 {
3332 "name" : "dmac",
3333 "bitwidth" : 48
3334 }
3335 ],
3336 "primitives" : [
3337 {
3338 "op" : "assign",
3339 "parameters" : [
3340 {
3341 "type" : "field",
3342 "value" : ["ethernet", "src_addr"]
3343 },
3344 {
3345 "type" : "runtime_data",
3346 "value" : 1
3347 }
3348 ],
3349 "source_info" : {
3350 "filename" : "include/control/next.p4",
3351 "line" : 37,
3352 "column" : 8,
3353 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3354 }
3355 },
3356 {
3357 "op" : "assign",
3358 "parameters" : [
3359 {
3360 "type" : "field",
3361 "value" : ["ethernet", "dst_addr"]
3362 },
3363 {
3364 "type" : "runtime_data",
3365 "value" : 2
3366 }
3367 ],
3368 "source_info" : {
3369 "filename" : "include/control/next.p4",
3370 "line" : 41,
3371 "column" : 8,
3372 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3373 }
3374 },
3375 {
3376 "op" : "assign",
3377 "parameters" : [
3378 {
3379 "type" : "field",
3380 "value" : ["standard_metadata", "egress_spec"]
3381 },
3382 {
3383 "type" : "runtime_data",
3384 "value" : 0
3385 }
3386 ],
3387 "source_info" : {
3388 "filename" : "include/control/next.p4",
3389 "line" : 149,
3390 "column" : 8,
3391 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3392 }
3393 }
3394 ]
3395 },
3396 {
3397 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003398 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003399 "runtime_data" : [
3400 {
3401 "name" : "port_num",
3402 "bitwidth" : 9
3403 },
3404 {
3405 "name" : "smac",
3406 "bitwidth" : 48
3407 },
3408 {
3409 "name" : "dmac",
3410 "bitwidth" : 48
3411 },
3412 {
3413 "name" : "label",
3414 "bitwidth" : 20
3415 }
3416 ],
3417 "primitives" : [
3418 {
3419 "op" : "assign",
3420 "parameters" : [
3421 {
3422 "type" : "field",
3423 "value" : ["ethernet", "src_addr"]
3424 },
3425 {
3426 "type" : "runtime_data",
3427 "value" : 1
3428 }
3429 ],
3430 "source_info" : {
3431 "filename" : "include/control/next.p4",
3432 "line" : 37,
3433 "column" : 8,
3434 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3435 }
3436 },
3437 {
3438 "op" : "assign",
3439 "parameters" : [
3440 {
3441 "type" : "field",
3442 "value" : ["ethernet", "dst_addr"]
3443 },
3444 {
3445 "type" : "runtime_data",
3446 "value" : 2
3447 }
3448 ],
3449 "source_info" : {
3450 "filename" : "include/control/next.p4",
3451 "line" : 41,
3452 "column" : 8,
3453 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3454 }
3455 },
3456 {
3457 "op" : "assign",
3458 "parameters" : [
3459 {
3460 "type" : "field",
3461 "value" : ["standard_metadata", "egress_spec"]
3462 },
3463 {
3464 "type" : "runtime_data",
3465 "value" : 0
3466 }
3467 ],
3468 "source_info" : {
3469 "filename" : "include/control/next.p4",
3470 "line" : 149,
3471 "column" : 8,
3472 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3473 }
3474 },
3475 {
3476 "op" : "add_header",
3477 "parameters" : [
3478 {
3479 "type" : "header",
3480 "value" : "mpls"
3481 }
3482 ],
3483 "source_info" : {
3484 "filename" : "include/control/next.p4",
3485 "line" : 46,
3486 "column" : 8,
3487 "source_fragment" : "hdr.mpls.setValid()"
3488 }
3489 },
3490 {
3491 "op" : "assign",
3492 "parameters" : [
3493 {
3494 "type" : "field",
3495 "value" : ["vlan_tag", "ether_type"]
3496 },
3497 {
3498 "type" : "hexstr",
3499 "value" : "0x8847"
3500 }
3501 ],
3502 "source_info" : {
3503 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003504 "line" : 92,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003505 "column" : 31,
3506 "source_fragment" : "0x8847; ..."
3507 }
3508 },
3509 {
3510 "op" : "assign",
3511 "parameters" : [
3512 {
3513 "type" : "field",
3514 "value" : ["mpls", "label"]
3515 },
3516 {
3517 "type" : "runtime_data",
3518 "value" : 3
3519 }
3520 ],
3521 "source_info" : {
3522 "filename" : "include/control/next.p4",
3523 "line" : 48,
3524 "column" : 8,
3525 "source_fragment" : "hdr.mpls.label = label; ..."
3526 }
3527 },
3528 {
3529 "op" : "assign",
3530 "parameters" : [
3531 {
3532 "type" : "field",
3533 "value" : ["mpls", "tc"]
3534 },
3535 {
3536 "type" : "hexstr",
3537 "value" : "0x00"
3538 }
3539 ],
3540 "source_info" : {
3541 "filename" : "include/control/next.p4",
3542 "line" : 49,
3543 "column" : 8,
3544 "source_fragment" : "hdr.mpls.tc = tc; ..."
3545 }
3546 },
3547 {
3548 "op" : "assign",
3549 "parameters" : [
3550 {
3551 "type" : "field",
3552 "value" : ["mpls", "bos"]
3553 },
3554 {
3555 "type" : "hexstr",
3556 "value" : "0x01"
3557 }
3558 ],
3559 "source_info" : {
3560 "filename" : "include/control/next.p4",
3561 "line" : 50,
3562 "column" : 8,
3563 "source_fragment" : "hdr.mpls.bos = 1w1"
3564 }
3565 },
3566 {
3567 "op" : "assign",
3568 "parameters" : [
3569 {
3570 "type" : "field",
3571 "value" : ["mpls", "ttl"]
3572 },
3573 {
3574 "type" : "hexstr",
3575 "value" : "0x40"
3576 }
3577 ],
3578 "source_info" : {
3579 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003580 "line" : 115,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003581 "column" : 32,
3582 "source_fragment" : "64; ..."
3583 }
3584 }
3585 ]
3586 },
3587 {
Charles Chancd03f072018-08-31 17:46:37 -07003588 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003589 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003590 "runtime_data" : [
3591 {
Charles Chancd03f072018-08-31 17:46:37 -07003592 "name" : "port_num",
3593 "bitwidth" : 9
3594 },
3595 {
3596 "name" : "smac",
3597 "bitwidth" : 48
3598 },
3599 {
3600 "name" : "dmac",
3601 "bitwidth" : 48
3602 },
3603 {
3604 "name" : "label",
3605 "bitwidth" : 20
3606 }
3607 ],
3608 "primitives" : [
3609 {
3610 "op" : "assign",
3611 "parameters" : [
3612 {
3613 "type" : "field",
3614 "value" : ["ethernet", "src_addr"]
3615 },
3616 {
3617 "type" : "runtime_data",
3618 "value" : 1
3619 }
3620 ],
3621 "source_info" : {
3622 "filename" : "include/control/next.p4",
3623 "line" : 37,
3624 "column" : 8,
3625 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3626 }
3627 },
3628 {
3629 "op" : "assign",
3630 "parameters" : [
3631 {
3632 "type" : "field",
3633 "value" : ["ethernet", "dst_addr"]
3634 },
3635 {
3636 "type" : "runtime_data",
3637 "value" : 2
3638 }
3639 ],
3640 "source_info" : {
3641 "filename" : "include/control/next.p4",
3642 "line" : 41,
3643 "column" : 8,
3644 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3645 }
3646 },
3647 {
3648 "op" : "assign",
3649 "parameters" : [
3650 {
3651 "type" : "field",
3652 "value" : ["standard_metadata", "egress_spec"]
3653 },
3654 {
3655 "type" : "runtime_data",
3656 "value" : 0
3657 }
3658 ],
3659 "source_info" : {
3660 "filename" : "include/control/next.p4",
3661 "line" : 149,
3662 "column" : 8,
3663 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3664 }
3665 },
3666 {
3667 "op" : "add_header",
3668 "parameters" : [
3669 {
3670 "type" : "header",
3671 "value" : "mpls"
3672 }
3673 ],
3674 "source_info" : {
3675 "filename" : "include/control/next.p4",
3676 "line" : 46,
3677 "column" : 8,
3678 "source_fragment" : "hdr.mpls.setValid()"
3679 }
3680 },
3681 {
3682 "op" : "assign",
3683 "parameters" : [
3684 {
3685 "type" : "field",
3686 "value" : ["vlan_tag", "ether_type"]
3687 },
3688 {
3689 "type" : "hexstr",
3690 "value" : "0x8847"
3691 }
3692 ],
3693 "source_info" : {
3694 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003695 "line" : 92,
Charles Chancd03f072018-08-31 17:46:37 -07003696 "column" : 31,
3697 "source_fragment" : "0x8847; ..."
3698 }
3699 },
3700 {
3701 "op" : "assign",
3702 "parameters" : [
3703 {
3704 "type" : "field",
3705 "value" : ["mpls", "label"]
3706 },
3707 {
3708 "type" : "runtime_data",
3709 "value" : 3
3710 }
3711 ],
3712 "source_info" : {
3713 "filename" : "include/control/next.p4",
3714 "line" : 48,
3715 "column" : 8,
3716 "source_fragment" : "hdr.mpls.label = label; ..."
3717 }
3718 },
3719 {
3720 "op" : "assign",
3721 "parameters" : [
3722 {
3723 "type" : "field",
3724 "value" : ["mpls", "tc"]
3725 },
3726 {
3727 "type" : "hexstr",
3728 "value" : "0x00"
3729 }
3730 ],
3731 "source_info" : {
3732 "filename" : "include/control/next.p4",
3733 "line" : 49,
3734 "column" : 8,
3735 "source_fragment" : "hdr.mpls.tc = tc; ..."
3736 }
3737 },
3738 {
3739 "op" : "assign",
3740 "parameters" : [
3741 {
3742 "type" : "field",
3743 "value" : ["mpls", "bos"]
3744 },
3745 {
3746 "type" : "hexstr",
3747 "value" : "0x01"
3748 }
3749 ],
3750 "source_info" : {
3751 "filename" : "include/control/next.p4",
3752 "line" : 50,
3753 "column" : 8,
3754 "source_fragment" : "hdr.mpls.bos = 1w1"
3755 }
3756 },
3757 {
3758 "op" : "assign",
3759 "parameters" : [
3760 {
3761 "type" : "field",
3762 "value" : ["mpls", "ttl"]
3763 },
3764 {
3765 "type" : "hexstr",
3766 "value" : "0x40"
3767 }
3768 ],
3769 "source_info" : {
3770 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003771 "line" : 115,
Charles Chancd03f072018-08-31 17:46:37 -07003772 "column" : 32,
3773 "source_fragment" : "64; ..."
3774 }
3775 }
3776 ]
3777 },
3778 {
3779 "name" : "FabricIngress.next.set_mcast_group",
3780 "id" : 42,
3781 "runtime_data" : [
3782 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003783 "name" : "gid",
3784 "bitwidth" : 16
3785 }
3786 ],
3787 "primitives" : [
3788 {
3789 "op" : "assign",
3790 "parameters" : [
3791 {
3792 "type" : "field",
3793 "value" : ["standard_metadata", "mcast_grp"]
3794 },
3795 {
3796 "type" : "runtime_data",
3797 "value" : 0
3798 }
3799 ],
3800 "source_info" : {
3801 "filename" : "include/control/next.p4",
3802 "line" : 202,
3803 "column" : 8,
3804 "source_fragment" : "standard_metadata.mcast_grp = gid"
3805 }
3806 },
3807 {
3808 "op" : "assign",
3809 "parameters" : [
3810 {
3811 "type" : "field",
3812 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
3813 },
3814 {
3815 "type" : "expression",
3816 "value" : {
3817 "type" : "expression",
3818 "value" : {
3819 "op" : "b2d",
3820 "left" : null,
3821 "right" : {
3822 "type" : "bool",
3823 "value" : true
3824 }
3825 }
3826 }
3827 }
3828 ],
3829 "source_info" : {
3830 "filename" : "include/control/next.p4",
3831 "line" : 203,
3832 "column" : 8,
3833 "source_fragment" : "fabric_metadata.is_multicast = true"
3834 }
3835 }
3836 ]
3837 },
3838 {
3839 "name" : "act",
Charles Chancd03f072018-08-31 17:46:37 -07003840 "id" : 43,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003841 "runtime_data" : [],
3842 "primitives" : [
3843 {
3844 "op" : "assign",
3845 "parameters" : [
3846 {
3847 "type" : "field",
3848 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
3849 },
3850 {
3851 "type" : "expression",
3852 "value" : {
3853 "type" : "expression",
3854 "value" : {
3855 "op" : "b2d",
3856 "left" : null,
3857 "right" : {
3858 "type" : "bool",
3859 "value" : true
3860 }
3861 }
3862 }
3863 }
3864 ],
3865 "source_info" : {
3866 "filename" : "include/spgw.p4",
3867 "line" : 30,
3868 "column" : 32,
3869 "source_fragment" : "return"
3870 }
3871 }
3872 ]
3873 },
3874 {
3875 "name" : "act_0",
Charles Chancd03f072018-08-31 17:46:37 -07003876 "id" : 44,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003877 "runtime_data" : [],
3878 "primitives" : [
3879 {
3880 "op" : "remove_header",
3881 "parameters" : [
3882 {
3883 "type" : "header",
3884 "value" : "gtpu_ipv4"
3885 }
3886 ],
3887 "source_info" : {
3888 "filename" : "fabric.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003889 "line" : 54,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003890 "column" : 50,
3891 "source_fragment" : "hdr.gtpu_ipv4"
3892 }
3893 },
3894 {
3895 "op" : "remove_header",
3896 "parameters" : [
3897 {
3898 "type" : "header",
3899 "value" : "gtpu_udp"
3900 }
3901 ],
3902 "source_info" : {
3903 "filename" : "fabric.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07003904 "line" : 54,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003905 "column" : 65,
3906 "source_fragment" : "hdr.gtpu_udp"
3907 }
3908 },
3909 {
3910 "op" : "assign",
3911 "parameters" : [
3912 {
3913 "type" : "field",
3914 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
3915 },
3916 {
3917 "type" : "expression",
3918 "value" : {
3919 "type" : "expression",
3920 "value" : {
3921 "op" : "b2d",
3922 "left" : null,
3923 "right" : {
3924 "type" : "bool",
3925 "value" : false
3926 }
3927 }
3928 }
3929 }
3930 ]
3931 }
3932 ]
3933 },
3934 {
3935 "name" : "act_1",
Charles Chancd03f072018-08-31 17:46:37 -07003936 "id" : 45,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003937 "runtime_data" : [],
3938 "primitives" : [
3939 {
3940 "op" : "assign_header",
3941 "parameters" : [
3942 {
3943 "type" : "header",
3944 "value" : "udp"
3945 },
3946 {
3947 "type" : "header",
3948 "value" : "inner_udp"
3949 }
3950 ],
3951 "source_info" : {
3952 "filename" : "include/spgw.p4",
3953 "line" : 35,
3954 "column" : 16,
3955 "source_fragment" : "= inner_udp; ..."
3956 }
3957 }
3958 ]
3959 },
3960 {
3961 "name" : "act_2",
Charles Chancd03f072018-08-31 17:46:37 -07003962 "id" : 46,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003963 "runtime_data" : [],
3964 "primitives" : [
3965 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003966 "op" : "remove_header",
3967 "parameters" : [
3968 {
3969 "type" : "header",
3970 "value" : "udp"
3971 }
3972 ],
3973 "source_info" : {
3974 "filename" : "include/spgw.p4",
3975 "line" : 37,
3976 "column" : 12,
3977 "source_fragment" : "udp.setInvalid()"
3978 }
3979 }
3980 ]
3981 },
3982 {
3983 "name" : "act_3",
Charles Chancd03f072018-08-31 17:46:37 -07003984 "id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003985 "runtime_data" : [],
3986 "primitives" : [
3987 {
3988 "op" : "assign_header",
3989 "parameters" : [
3990 {
3991 "type" : "header",
3992 "value" : "gtpu_ipv4"
3993 },
3994 {
3995 "type" : "header",
3996 "value" : "ipv4"
3997 }
3998 ],
3999 "source_info" : {
4000 "filename" : "include/spgw.p4",
4001 "line" : 31,
4002 "column" : 18,
4003 "source_fragment" : "= ipv4; ..."
4004 }
4005 },
4006 {
4007 "op" : "assign_header",
4008 "parameters" : [
4009 {
4010 "type" : "header",
4011 "value" : "ipv4"
4012 },
4013 {
4014 "type" : "header",
4015 "value" : "inner_ipv4"
4016 }
4017 ],
4018 "source_info" : {
4019 "filename" : "include/spgw.p4",
4020 "line" : 32,
4021 "column" : 13,
4022 "source_fragment" : "= inner_ipv4; ..."
4023 }
4024 },
4025 {
4026 "op" : "assign_header",
4027 "parameters" : [
4028 {
4029 "type" : "header",
4030 "value" : "gtpu_udp"
4031 },
4032 {
4033 "type" : "header",
4034 "value" : "udp"
4035 }
4036 ],
4037 "source_info" : {
4038 "filename" : "include/spgw.p4",
4039 "line" : 33,
4040 "column" : 17,
4041 "source_fragment" : "= udp; ..."
4042 }
4043 }
4044 ]
4045 },
4046 {
4047 "name" : "act_4",
Charles Chancd03f072018-08-31 17:46:37 -07004048 "id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004049 "runtime_data" : [],
4050 "primitives" : [
4051 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004052 "op" : "assign",
4053 "parameters" : [
4054 {
4055 "type" : "field",
4056 "value" : ["standard_metadata", "egress_spec"]
4057 },
4058 {
4059 "type" : "field",
4060 "value" : ["packet_out", "egress_port"]
4061 }
4062 ],
4063 "source_info" : {
4064 "filename" : "include/control/packetio.p4",
4065 "line" : 26,
4066 "column" : 12,
4067 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4068 }
4069 },
4070 {
4071 "op" : "remove_header",
4072 "parameters" : [
4073 {
4074 "type" : "header",
4075 "value" : "packet_out"
4076 }
4077 ],
4078 "source_info" : {
4079 "filename" : "include/control/packetio.p4",
4080 "line" : 27,
4081 "column" : 12,
4082 "source_fragment" : "hdr.packet_out.setInvalid()"
4083 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07004084 },
4085 {
4086 "op" : "assign",
4087 "parameters" : [
4088 {
4089 "type" : "field",
4090 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
4091 },
4092 {
4093 "type" : "expression",
4094 "value" : {
4095 "type" : "expression",
4096 "value" : {
4097 "op" : "b2d",
4098 "left" : null,
4099 "right" : {
4100 "type" : "bool",
4101 "value" : true
4102 }
4103 }
4104 }
4105 }
4106 ],
4107 "source_info" : {
4108 "filename" : "include/control/packetio.p4",
4109 "line" : 28,
4110 "column" : 12,
4111 "source_fragment" : "fabric_metadata.is_controller_packet_out = true"
4112 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004113 }
4114 ]
4115 },
4116 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004117 "name" : "act_5",
Charles Chancd03f072018-08-31 17:46:37 -07004118 "id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004119 "runtime_data" : [],
4120 "primitives" : [
4121 {
4122 "op" : "assign",
4123 "parameters" : [
4124 {
4125 "type" : "field",
4126 "value" : ["scalars", "spgw_ingress_tmp_1"]
4127 },
4128 {
4129 "type" : "expression",
4130 "value" : {
4131 "type" : "expression",
4132 "value" : {
4133 "op" : "b2d",
4134 "left" : null,
4135 "right" : {
4136 "type" : "bool",
4137 "value" : true
4138 }
4139 }
4140 }
4141 }
4142 ]
4143 }
4144 ]
4145 },
4146 {
4147 "name" : "act_6",
Charles Chancd03f072018-08-31 17:46:37 -07004148 "id" : 50,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004149 "runtime_data" : [],
4150 "primitives" : [
4151 {
4152 "op" : "assign",
4153 "parameters" : [
4154 {
4155 "type" : "field",
4156 "value" : ["scalars", "spgw_ingress_tmp_1"]
4157 },
4158 {
4159 "type" : "expression",
4160 "value" : {
4161 "type" : "expression",
4162 "value" : {
4163 "op" : "b2d",
4164 "left" : null,
4165 "right" : {
4166 "type" : "bool",
4167 "value" : false
4168 }
4169 }
4170 }
4171 }
4172 ]
4173 }
4174 ]
4175 },
4176 {
4177 "name" : "act_7",
Charles Chancd03f072018-08-31 17:46:37 -07004178 "id" : 51,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004179 "runtime_data" : [],
4180 "primitives" : [
4181 {
4182 "op" : "assign",
4183 "parameters" : [
4184 {
4185 "type" : "field",
4186 "value" : ["userMetadata.spgw", "direction"]
4187 },
4188 {
4189 "type" : "hexstr",
4190 "value" : "0x01"
4191 }
4192 ],
4193 "source_info" : {
4194 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004195 "line" : 121,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004196 "column" : 36,
4197 "source_fragment" : "2w1; ..."
4198 }
4199 }
4200 ]
4201 },
4202 {
4203 "name" : "act_8",
Charles Chancd03f072018-08-31 17:46:37 -07004204 "id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004205 "runtime_data" : [],
4206 "primitives" : [
4207 {
4208 "op" : "assign",
4209 "parameters" : [
4210 {
4211 "type" : "field",
4212 "value" : ["scalars", "spgw_ingress_tmp_2"]
4213 },
4214 {
4215 "type" : "expression",
4216 "value" : {
4217 "type" : "expression",
4218 "value" : {
4219 "op" : "b2d",
4220 "left" : null,
4221 "right" : {
4222 "type" : "bool",
4223 "value" : true
4224 }
4225 }
4226 }
4227 }
4228 ]
4229 }
4230 ]
4231 },
4232 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004233 "name" : "act_9",
Charles Chancd03f072018-08-31 17:46:37 -07004234 "id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004235 "runtime_data" : [],
4236 "primitives" : [
4237 {
4238 "op" : "assign",
4239 "parameters" : [
4240 {
4241 "type" : "field",
4242 "value" : ["scalars", "spgw_ingress_tmp_2"]
4243 },
4244 {
4245 "type" : "expression",
4246 "value" : {
4247 "type" : "expression",
4248 "value" : {
4249 "op" : "b2d",
4250 "left" : null,
4251 "right" : {
4252 "type" : "bool",
4253 "value" : false
4254 }
4255 }
4256 }
4257 }
4258 ]
4259 }
4260 ]
4261 },
4262 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004263 "name" : "act_10",
Charles Chancd03f072018-08-31 17:46:37 -07004264 "id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004265 "runtime_data" : [],
4266 "primitives" : [
4267 {
4268 "op" : "assign",
4269 "parameters" : [
4270 {
4271 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004272 "value" : ["userMetadata.spgw", "direction"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004273 },
4274 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004275 "type" : "hexstr",
4276 "value" : "0x02"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004277 }
4278 ],
4279 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004280 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004281 "line" : 122,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004282 "column" : 38,
4283 "source_fragment" : "2w2; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004284 }
4285 }
4286 ]
4287 },
4288 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004289 "name" : "act_11",
Charles Chancd03f072018-08-31 17:46:37 -07004290 "id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004291 "runtime_data" : [],
4292 "primitives" : [
4293 {
4294 "op" : "assign",
4295 "parameters" : [
4296 {
4297 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004298 "value" : ["userMetadata.spgw", "direction"]
4299 },
4300 {
4301 "type" : "hexstr",
4302 "value" : "0x00"
4303 }
4304 ],
4305 "source_info" : {
4306 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004307 "line" : 120,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004308 "column" : 37,
4309 "source_fragment" : "2w0; ..."
4310 }
4311 },
4312 {
4313 "op" : "assign",
4314 "parameters" : [
4315 {
4316 "type" : "field",
4317 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004318 },
4319 {
4320 "type" : "expression",
4321 "value" : {
4322 "type" : "expression",
4323 "value" : {
4324 "op" : "b2d",
4325 "left" : null,
4326 "right" : {
4327 "type" : "bool",
4328 "value" : true
4329 }
4330 }
4331 }
4332 }
4333 ],
4334 "source_info" : {
4335 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004336 "line" : 153,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004337 "column" : 12,
4338 "source_fragment" : "return"
4339 }
4340 }
4341 ]
4342 },
4343 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004344 "name" : "act_12",
Charles Chancd03f072018-08-31 17:46:37 -07004345 "id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004346 "runtime_data" : [],
4347 "primitives" : [
4348 {
4349 "op" : "assign",
4350 "parameters" : [
4351 {
4352 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004353 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004354 },
4355 {
4356 "type" : "expression",
4357 "value" : {
4358 "type" : "expression",
4359 "value" : {
4360 "op" : "b2d",
4361 "left" : null,
4362 "right" : {
4363 "type" : "bool",
4364 "value" : false
4365 }
4366 }
4367 }
4368 }
4369 ]
4370 }
4371 ]
4372 },
4373 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004374 "name" : "act_13",
Charles Chancd03f072018-08-31 17:46:37 -07004375 "id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004376 "runtime_data" : [],
4377 "primitives" : [
4378 {
4379 "op" : "assign",
4380 "parameters" : [
4381 {
4382 "type" : "field",
4383 "value" : ["userMetadata.spgw", "ipv4_len"]
4384 },
4385 {
4386 "type" : "field",
4387 "value" : ["ipv4", "total_len"]
4388 }
4389 ],
4390 "source_info" : {
4391 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004392 "line" : 170,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004393 "column" : 8,
4394 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4395 }
4396 }
4397 ]
4398 },
4399 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004400 "name" : "act_14",
Charles Chancd03f072018-08-31 17:46:37 -07004401 "id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004402 "runtime_data" : [],
4403 "primitives" : [
4404 {
4405 "op" : "assign",
4406 "parameters" : [
4407 {
4408 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004409 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004410 },
4411 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004412 "type" : "expression",
4413 "value" : {
4414 "type" : "expression",
4415 "value" : {
4416 "op" : "b2d",
4417 "left" : null,
4418 "right" : {
4419 "type" : "bool",
4420 "value" : true
4421 }
4422 }
4423 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004424 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004425 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004426 }
4427 ]
4428 },
4429 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004430 "name" : "act_15",
Charles Chancd03f072018-08-31 17:46:37 -07004431 "id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004432 "runtime_data" : [],
4433 "primitives" : [
4434 {
4435 "op" : "assign",
4436 "parameters" : [
4437 {
4438 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004439 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004440 },
4441 {
4442 "type" : "expression",
4443 "value" : {
4444 "type" : "expression",
4445 "value" : {
4446 "op" : "b2d",
4447 "left" : null,
4448 "right" : {
4449 "type" : "bool",
4450 "value" : false
4451 }
4452 }
4453 }
4454 }
4455 ]
4456 }
4457 ]
4458 },
4459 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004460 "name" : "act_16",
Charles Chancd03f072018-08-31 17:46:37 -07004461 "id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004462 "runtime_data" : [],
4463 "primitives" : [
4464 {
4465 "op" : "assign",
4466 "parameters" : [
4467 {
4468 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004469 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004470 },
4471 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004472 "type" : "hexstr",
4473 "value" : "0x07"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004474 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004475 ],
4476 "source_info" : {
4477 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004478 "line" : 111,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004479 "column" : 31,
4480 "source_fragment" : "7; ..."
4481 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004482 }
4483 ]
4484 },
4485 {
4486 "name" : "act_17",
Charles Chancd03f072018-08-31 17:46:37 -07004487 "id" : 61,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004488 "runtime_data" : [],
4489 "primitives" : [
4490 {
4491 "op" : "assign",
4492 "parameters" : [
4493 {
4494 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004495 "value" : ["vlan_tag", "ether_type"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004496 },
4497 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004498 "type" : "hexstr",
4499 "value" : "0x0800"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004500 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004501 ],
4502 "source_info" : {
4503 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004504 "line" : 94,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004505 "column" : 31,
4506 "source_fragment" : "0x0800; ..."
4507 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004508 }
4509 ]
4510 },
4511 {
4512 "name" : "act_18",
Charles Chancd03f072018-08-31 17:46:37 -07004513 "id" : 62,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004514 "runtime_data" : [],
4515 "primitives" : [
4516 {
4517 "op" : "assign",
4518 "parameters" : [
4519 {
4520 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004521 "value" : ["scalars", "next_hasReturned_0"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004522 },
4523 {
4524 "type" : "expression",
4525 "value" : {
4526 "type" : "expression",
4527 "value" : {
4528 "op" : "b2d",
4529 "left" : null,
4530 "right" : {
4531 "type" : "bool",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004532 "value" : false
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004533 }
4534 }
4535 }
4536 }
4537 ]
4538 }
4539 ]
4540 },
4541 {
4542 "name" : "act_19",
Charles Chancd03f072018-08-31 17:46:37 -07004543 "id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004544 "runtime_data" : [],
4545 "primitives" : [
4546 {
4547 "op" : "assign",
4548 "parameters" : [
4549 {
4550 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004551 "value" : ["scalars", "next_tmp_4"]
4552 },
4553 {
4554 "type" : "expression",
4555 "value" : {
4556 "type" : "expression",
4557 "value" : {
4558 "op" : "b2d",
4559 "left" : null,
4560 "right" : {
4561 "type" : "bool",
4562 "value" : true
4563 }
4564 }
4565 }
4566 }
4567 ]
4568 }
4569 ]
4570 },
4571 {
4572 "name" : "act_20",
Charles Chancd03f072018-08-31 17:46:37 -07004573 "id" : 64,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004574 "runtime_data" : [],
4575 "primitives" : [
4576 {
4577 "op" : "assign",
4578 "parameters" : [
4579 {
4580 "type" : "field",
4581 "value" : ["scalars", "next_tmp_4"]
4582 },
4583 {
4584 "type" : "expression",
4585 "value" : {
4586 "type" : "expression",
4587 "value" : {
4588 "op" : "b2d",
4589 "left" : null,
4590 "right" : {
4591 "type" : "bool",
4592 "value" : false
4593 }
4594 }
4595 }
4596 }
4597 ]
4598 }
4599 ]
4600 },
4601 {
4602 "name" : "act_21",
Charles Chancd03f072018-08-31 17:46:37 -07004603 "id" : 65,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004604 "runtime_data" : [],
4605 "primitives" : [
4606 {
4607 "op" : "assign",
4608 "parameters" : [
4609 {
4610 "type" : "field",
4611 "value" : ["scalars", "next_tmp_3"]
4612 },
4613 {
4614 "type" : "expression",
4615 "value" : {
4616 "type" : "expression",
4617 "value" : {
4618 "op" : "b2d",
4619 "left" : null,
4620 "right" : {
4621 "type" : "bool",
4622 "value" : true
4623 }
4624 }
4625 }
4626 }
4627 ]
4628 }
4629 ]
4630 },
4631 {
4632 "name" : "act_22",
Charles Chancd03f072018-08-31 17:46:37 -07004633 "id" : 66,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004634 "runtime_data" : [],
4635 "primitives" : [
4636 {
4637 "op" : "assign",
4638 "parameters" : [
4639 {
4640 "type" : "field",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004641 "value" : ["scalars", "next_tmp_3"]
4642 },
4643 {
4644 "type" : "expression",
4645 "value" : {
4646 "type" : "expression",
4647 "value" : {
4648 "op" : "b2d",
4649 "left" : null,
4650 "right" : {
4651 "type" : "bool",
4652 "value" : false
4653 }
4654 }
4655 }
4656 }
4657 ]
4658 }
4659 ]
4660 },
4661 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004662 "name" : "act_23",
Charles Chancd03f072018-08-31 17:46:37 -07004663 "id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004664 "runtime_data" : [],
4665 "primitives" : [
4666 {
4667 "op" : "assign",
4668 "parameters" : [
4669 {
4670 "type" : "field",
4671 "value" : ["scalars", "next_tmp_2"]
4672 },
4673 {
4674 "type" : "expression",
4675 "value" : {
4676 "type" : "expression",
4677 "value" : {
4678 "op" : "b2d",
4679 "left" : null,
4680 "right" : {
4681 "type" : "bool",
4682 "value" : true
4683 }
4684 }
4685 }
4686 }
4687 ]
4688 }
4689 ]
4690 },
4691 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004692 "name" : "act_24",
Charles Chancd03f072018-08-31 17:46:37 -07004693 "id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004694 "runtime_data" : [],
4695 "primitives" : [
4696 {
4697 "op" : "assign",
4698 "parameters" : [
4699 {
4700 "type" : "field",
4701 "value" : ["scalars", "next_tmp_2"]
4702 },
4703 {
4704 "type" : "expression",
4705 "value" : {
4706 "type" : "expression",
4707 "value" : {
4708 "op" : "b2d",
4709 "left" : null,
4710 "right" : {
4711 "type" : "bool",
4712 "value" : false
4713 }
4714 }
4715 }
4716 }
4717 ]
4718 }
4719 ]
4720 },
4721 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004722 "name" : "act_25",
Charles Chancd03f072018-08-31 17:46:37 -07004723 "id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004724 "runtime_data" : [],
4725 "primitives" : [
4726 {
4727 "op" : "assign",
4728 "parameters" : [
4729 {
4730 "type" : "field",
4731 "value" : ["scalars", "next_hasReturned_0"]
4732 },
4733 {
4734 "type" : "expression",
4735 "value" : {
4736 "type" : "expression",
4737 "value" : {
4738 "op" : "b2d",
4739 "left" : null,
4740 "right" : {
4741 "type" : "bool",
4742 "value" : true
4743 }
4744 }
4745 }
4746 }
4747 ],
4748 "source_info" : {
4749 "filename" : "include/control/next.p4",
4750 "line" : 223,
4751 "column" : 20,
4752 "source_fragment" : "return"
4753 }
4754 }
4755 ]
4756 },
4757 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004758 "name" : "act_26",
Charles Chancd03f072018-08-31 17:46:37 -07004759 "id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004760 "runtime_data" : [],
4761 "primitives" : [
4762 {
4763 "op" : "assign",
4764 "parameters" : [
4765 {
4766 "type" : "field",
4767 "value" : ["ipv4", "ttl"]
4768 },
4769 {
4770 "type" : "expression",
4771 "value" : {
4772 "type" : "expression",
4773 "value" : {
4774 "op" : "&",
4775 "left" : {
4776 "type" : "expression",
4777 "value" : {
4778 "op" : "+",
4779 "left" : {
4780 "type" : "field",
4781 "value" : ["ipv4", "ttl"]
4782 },
4783 "right" : {
4784 "type" : "hexstr",
4785 "value" : "0xff"
4786 }
4787 }
4788 },
4789 "right" : {
4790 "type" : "hexstr",
4791 "value" : "0xff"
4792 }
4793 }
4794 }
4795 }
4796 ],
4797 "source_info" : {
4798 "filename" : "include/control/next.p4",
4799 "line" : 230,
4800 "column" : 16,
4801 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4802 }
4803 }
4804 ]
4805 },
4806 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004807 "name" : "act_27",
Charles Chancd03f072018-08-31 17:46:37 -07004808 "id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004809 "runtime_data" : [],
4810 "primitives" : [
4811 {
4812 "op" : "assign",
4813 "parameters" : [
4814 {
4815 "type" : "field",
4816 "value" : ["ipv6", "hop_limit"]
4817 },
4818 {
4819 "type" : "expression",
4820 "value" : {
4821 "type" : "expression",
4822 "value" : {
4823 "op" : "&",
4824 "left" : {
4825 "type" : "expression",
4826 "value" : {
4827 "op" : "+",
4828 "left" : {
4829 "type" : "field",
4830 "value" : ["ipv6", "hop_limit"]
4831 },
4832 "right" : {
4833 "type" : "hexstr",
4834 "value" : "0xff"
4835 }
4836 }
4837 },
4838 "right" : {
4839 "type" : "hexstr",
4840 "value" : "0xff"
4841 }
4842 }
4843 }
4844 }
4845 ],
4846 "source_info" : {
4847 "filename" : "include/control/next.p4",
4848 "line" : 234,
4849 "column" : 16,
4850 "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
4851 }
4852 }
4853 ]
4854 },
4855 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004856 "name" : "act_28",
Charles Chancd03f072018-08-31 17:46:37 -07004857 "id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004858 "runtime_data" : [],
4859 "primitives" : [
4860 {
4861 "op" : "assign",
4862 "parameters" : [
4863 {
4864 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004865 "value" : ["scalars", "tmp_2"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004866 },
4867 {
4868 "type" : "expression",
4869 "value" : {
4870 "type" : "expression",
4871 "value" : {
4872 "op" : "&",
4873 "left" : {
4874 "type" : "field",
4875 "value" : ["standard_metadata", "egress_spec"]
4876 },
4877 "right" : {
4878 "type" : "hexstr",
4879 "value" : "0xffffffff"
4880 }
4881 }
4882 }
4883 }
4884 ],
4885 "source_info" : {
4886 "filename" : "include/control/port_counter.p4",
4887 "line" : 28,
4888 "column" : 38,
4889 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4890 }
4891 },
4892 {
4893 "op" : "count",
4894 "parameters" : [
4895 {
4896 "type" : "counter_array",
4897 "value" : "FabricIngress.port_counters_control.egress_port_counter"
4898 },
4899 {
4900 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004901 "value" : ["scalars", "tmp_2"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004902 }
4903 ],
4904 "source_info" : {
4905 "filename" : "include/control/port_counter.p4",
4906 "line" : 28,
4907 "column" : 12,
4908 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4909 }
4910 }
4911 ]
4912 },
4913 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004914 "name" : "act_29",
Charles Chancd03f072018-08-31 17:46:37 -07004915 "id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004916 "runtime_data" : [],
4917 "primitives" : [
4918 {
4919 "op" : "assign",
4920 "parameters" : [
4921 {
4922 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004923 "value" : ["scalars", "tmp_3"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004924 },
4925 {
4926 "type" : "expression",
4927 "value" : {
4928 "type" : "expression",
4929 "value" : {
4930 "op" : "&",
4931 "left" : {
4932 "type" : "field",
4933 "value" : ["standard_metadata", "ingress_port"]
4934 },
4935 "right" : {
4936 "type" : "hexstr",
4937 "value" : "0xffffffff"
4938 }
4939 }
4940 }
4941 }
4942 ],
4943 "source_info" : {
4944 "filename" : "include/control/port_counter.p4",
4945 "line" : 31,
4946 "column" : 39,
4947 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
4948 }
4949 },
4950 {
4951 "op" : "count",
4952 "parameters" : [
4953 {
4954 "type" : "counter_array",
4955 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
4956 },
4957 {
4958 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07004959 "value" : ["scalars", "tmp_3"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004960 }
4961 ],
4962 "source_info" : {
4963 "filename" : "include/control/port_counter.p4",
4964 "line" : 31,
4965 "column" : 12,
4966 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4967 }
4968 }
4969 ]
4970 },
4971 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004972 "name" : "act_30",
Charles Chancd03f072018-08-31 17:46:37 -07004973 "id" : 74,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004974 "runtime_data" : [],
4975 "primitives" : [
4976 {
4977 "op" : "clone_ingress_pkt_to_egress",
4978 "parameters" : [
4979 {
4980 "type" : "hexstr",
4981 "value" : "0x000001f4"
4982 },
4983 {
4984 "type" : "hexstr",
4985 "value" : "0x1"
4986 }
4987 ]
4988 }
4989 ]
4990 },
4991 {
4992 "name" : "NoAction",
Charles Chan384aea22018-08-23 22:08:02 -07004993 "id" : 75,
4994 "runtime_data" : [],
4995 "primitives" : []
4996 },
4997 {
4998 "name" : "NoAction",
4999 "id" : 76,
5000 "runtime_data" : [],
5001 "primitives" : []
5002 },
5003 {
5004 "name" : "NoAction",
5005 "id" : 77,
5006 "runtime_data" : [],
5007 "primitives" : []
5008 },
5009 {
5010 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005011 "id" : 78,
5012 "runtime_data" : [],
5013 "primitives" : []
5014 },
5015 {
Charles Chancd03f072018-08-31 17:46:37 -07005016 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005017 "id" : 79,
5018 "runtime_data" : [],
5019 "primitives" : []
5020 },
5021 {
Charles Chancd03f072018-08-31 17:46:37 -07005022 "name" : "nop",
Charles Chan384aea22018-08-23 22:08:02 -07005023 "id" : 80,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005024 "runtime_data" : [],
Charles Chancd03f072018-08-31 17:46:37 -07005025 "primitives" : []
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005026 },
5027 {
5028 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07005029 "id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005030 "runtime_data" : [],
5031 "primitives" : [
5032 {
5033 "op" : "drop",
5034 "parameters" : [],
5035 "source_info" : {
5036 "filename" : "include/control/../action.p4",
5037 "line" : 24,
5038 "column" : 4,
5039 "source_fragment" : "mark_to_drop()"
5040 }
5041 },
5042 {
5043 "op" : "exit",
5044 "parameters" : [],
5045 "source_info" : {
5046 "filename" : "include/control/../action.p4",
5047 "line" : 25,
5048 "column" : 4,
5049 "source_fragment" : "exit"
5050 }
5051 }
5052 ]
5053 },
5054 {
Charles Chancd03f072018-08-31 17:46:37 -07005055 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07005056 "id" : 82,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005057 "runtime_data" : [],
5058 "primitives" : [
5059 {
Charles Chancd03f072018-08-31 17:46:37 -07005060 "op" : "drop",
5061 "parameters" : [],
5062 "source_info" : {
5063 "filename" : "include/control/../action.p4",
5064 "line" : 24,
5065 "column" : 4,
5066 "source_fragment" : "mark_to_drop()"
5067 }
5068 },
5069 {
5070 "op" : "exit",
5071 "parameters" : [],
5072 "source_info" : {
5073 "filename" : "include/control/../action.p4",
5074 "line" : 25,
5075 "column" : 4,
5076 "source_fragment" : "exit"
5077 }
5078 }
5079 ]
5080 },
5081 {
5082 "name" : "FabricEgress.spgw_egress.gtpu_encap",
5083 "id" : 83,
5084 "runtime_data" : [],
5085 "primitives" : [
5086 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005087 "op" : "add_header",
5088 "parameters" : [
5089 {
5090 "type" : "header",
5091 "value" : "gtpu_ipv4"
5092 }
5093 ],
5094 "source_info" : {
5095 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005096 "line" : 185,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005097 "column" : 8,
5098 "source_fragment" : "gtpu_ipv4.setValid()"
5099 }
5100 },
5101 {
5102 "op" : "assign",
5103 "parameters" : [
5104 {
5105 "type" : "field",
5106 "value" : ["gtpu_ipv4", "version"]
5107 },
5108 {
5109 "type" : "hexstr",
5110 "value" : "0x04"
5111 }
5112 ],
5113 "source_info" : {
5114 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005115 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005116 "column" : 8,
5117 "source_fragment" : "gtpu_ipv4.version = 4"
5118 }
5119 },
5120 {
5121 "op" : "assign",
5122 "parameters" : [
5123 {
5124 "type" : "field",
5125 "value" : ["gtpu_ipv4", "ihl"]
5126 },
5127 {
5128 "type" : "hexstr",
5129 "value" : "0x05"
5130 }
5131 ],
5132 "source_info" : {
5133 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005134 "line" : 103,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005135 "column" : 28,
5136 "source_fragment" : "5; ..."
5137 }
5138 },
5139 {
5140 "op" : "assign",
5141 "parameters" : [
5142 {
5143 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005144 "value" : ["gtpu_ipv4", "dscp"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005145 },
5146 {
5147 "type" : "hexstr",
5148 "value" : "0x00"
5149 }
5150 ],
5151 "source_info" : {
5152 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005153 "line" : 188,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005154 "column" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005155 "source_fragment" : "gtpu_ipv4.dscp = 0"
5156 }
5157 },
5158 {
5159 "op" : "assign",
5160 "parameters" : [
5161 {
5162 "type" : "field",
5163 "value" : ["gtpu_ipv4", "ecn"]
5164 },
5165 {
5166 "type" : "hexstr",
5167 "value" : "0x00"
5168 }
5169 ],
5170 "source_info" : {
5171 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005172 "line" : 189,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005173 "column" : 8,
5174 "source_fragment" : "gtpu_ipv4.ecn = 0"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005175 }
5176 },
5177 {
5178 "op" : "assign",
5179 "parameters" : [
5180 {
5181 "type" : "field",
5182 "value" : ["gtpu_ipv4", "total_len"]
5183 },
5184 {
5185 "type" : "expression",
5186 "value" : {
5187 "type" : "expression",
5188 "value" : {
5189 "op" : "&",
5190 "left" : {
5191 "type" : "expression",
5192 "value" : {
5193 "op" : "+",
5194 "left" : {
5195 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005196 "value" : ["ipv4", "total_len"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005197 },
5198 "right" : {
5199 "type" : "hexstr",
5200 "value" : "0x0024"
5201 }
5202 }
5203 },
5204 "right" : {
5205 "type" : "hexstr",
5206 "value" : "0xffff"
5207 }
5208 }
5209 }
5210 }
5211 ],
5212 "source_info" : {
5213 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005214 "line" : 190,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005215 "column" : 8,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005216 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005217 }
5218 },
5219 {
5220 "op" : "assign",
5221 "parameters" : [
5222 {
5223 "type" : "field",
5224 "value" : ["gtpu_ipv4", "identification"]
5225 },
5226 {
5227 "type" : "hexstr",
5228 "value" : "0x1513"
5229 }
5230 ],
5231 "source_info" : {
5232 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005233 "line" : 192,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005234 "column" : 8,
5235 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
5236 }
5237 },
5238 {
5239 "op" : "assign",
5240 "parameters" : [
5241 {
5242 "type" : "field",
5243 "value" : ["gtpu_ipv4", "flags"]
5244 },
5245 {
5246 "type" : "hexstr",
5247 "value" : "0x00"
5248 }
5249 ],
5250 "source_info" : {
5251 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005252 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005253 "column" : 8,
5254 "source_fragment" : "gtpu_ipv4.flags = 0"
5255 }
5256 },
5257 {
5258 "op" : "assign",
5259 "parameters" : [
5260 {
5261 "type" : "field",
5262 "value" : ["gtpu_ipv4", "frag_offset"]
5263 },
5264 {
5265 "type" : "hexstr",
5266 "value" : "0x0000"
5267 }
5268 ],
5269 "source_info" : {
5270 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005271 "line" : 194,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005272 "column" : 8,
5273 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
5274 }
5275 },
5276 {
5277 "op" : "assign",
5278 "parameters" : [
5279 {
5280 "type" : "field",
5281 "value" : ["gtpu_ipv4", "ttl"]
5282 },
5283 {
5284 "type" : "hexstr",
5285 "value" : "0x40"
5286 }
5287 ],
5288 "source_info" : {
5289 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005290 "line" : 116,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005291 "column" : 32,
5292 "source_fragment" : "64; ..."
5293 }
5294 },
5295 {
5296 "op" : "assign",
5297 "parameters" : [
5298 {
5299 "type" : "field",
5300 "value" : ["gtpu_ipv4", "protocol"]
5301 },
5302 {
5303 "type" : "hexstr",
5304 "value" : "0x11"
5305 }
5306 ],
5307 "source_info" : {
5308 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005309 "line" : 100,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005310 "column" : 25,
5311 "source_fragment" : "17; ..."
5312 }
5313 },
5314 {
5315 "op" : "assign",
5316 "parameters" : [
5317 {
5318 "type" : "field",
5319 "value" : ["gtpu_ipv4", "dst_addr"]
5320 },
5321 {
5322 "type" : "field",
5323 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5324 }
5325 ],
5326 "source_info" : {
5327 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005328 "line" : 197,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005329 "column" : 8,
5330 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5331 }
5332 },
5333 {
5334 "op" : "assign",
5335 "parameters" : [
5336 {
5337 "type" : "field",
5338 "value" : ["gtpu_ipv4", "src_addr"]
5339 },
5340 {
5341 "type" : "field",
5342 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5343 }
5344 ],
5345 "source_info" : {
5346 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005347 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005348 "column" : 8,
5349 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5350 }
5351 },
5352 {
5353 "op" : "assign",
5354 "parameters" : [
5355 {
5356 "type" : "field",
5357 "value" : ["gtpu_ipv4", "hdr_checksum"]
5358 },
5359 {
5360 "type" : "hexstr",
5361 "value" : "0x0000"
5362 }
5363 ],
5364 "source_info" : {
5365 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005366 "line" : 199,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005367 "column" : 8,
5368 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5369 }
5370 },
5371 {
5372 "op" : "add_header",
5373 "parameters" : [
5374 {
5375 "type" : "header",
5376 "value" : "gtpu_udp"
5377 }
5378 ],
5379 "source_info" : {
5380 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005381 "line" : 201,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005382 "column" : 8,
5383 "source_fragment" : "gtpu_udp.setValid()"
5384 }
5385 },
5386 {
5387 "op" : "assign",
5388 "parameters" : [
5389 {
5390 "type" : "field",
5391 "value" : ["gtpu_udp", "src_port"]
5392 },
5393 {
5394 "type" : "hexstr",
5395 "value" : "0x0868"
5396 }
5397 ],
5398 "source_info" : {
5399 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005400 "line" : 202,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005401 "column" : 8,
5402 "source_fragment" : "gtpu_udp.src_port = 2152"
5403 }
5404 },
5405 {
5406 "op" : "assign",
5407 "parameters" : [
5408 {
5409 "type" : "field",
5410 "value" : ["gtpu_udp", "dst_port"]
5411 },
5412 {
5413 "type" : "hexstr",
5414 "value" : "0x0868"
5415 }
5416 ],
5417 "source_info" : {
5418 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005419 "line" : 203,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005420 "column" : 8,
5421 "source_fragment" : "gtpu_udp.dst_port = 2152"
5422 }
5423 },
5424 {
5425 "op" : "assign",
5426 "parameters" : [
5427 {
5428 "type" : "field",
5429 "value" : ["gtpu_udp", "len"]
5430 },
5431 {
5432 "type" : "expression",
5433 "value" : {
5434 "type" : "expression",
5435 "value" : {
5436 "op" : "&",
5437 "left" : {
5438 "type" : "expression",
5439 "value" : {
5440 "op" : "+",
5441 "left" : {
5442 "type" : "field",
5443 "value" : ["userMetadata.spgw", "ipv4_len"]
5444 },
5445 "right" : {
5446 "type" : "hexstr",
5447 "value" : "0x0010"
5448 }
5449 }
5450 },
5451 "right" : {
5452 "type" : "hexstr",
5453 "value" : "0xffff"
5454 }
5455 }
5456 }
5457 }
5458 ],
5459 "source_info" : {
5460 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005461 "line" : 204,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005462 "column" : 8,
5463 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5464 }
5465 },
5466 {
5467 "op" : "assign",
5468 "parameters" : [
5469 {
5470 "type" : "field",
5471 "value" : ["gtpu_udp", "checksum"]
5472 },
5473 {
5474 "type" : "hexstr",
5475 "value" : "0x0000"
5476 }
5477 ],
5478 "source_info" : {
5479 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005480 "line" : 206,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005481 "column" : 8,
5482 "source_fragment" : "gtpu_udp.checksum = 0"
5483 }
5484 },
5485 {
5486 "op" : "add_header",
5487 "parameters" : [
5488 {
5489 "type" : "header",
5490 "value" : "gtpu"
5491 }
5492 ],
5493 "source_info" : {
5494 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005495 "line" : 208,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005496 "column" : 8,
5497 "source_fragment" : "gtpu.setValid()"
5498 }
5499 },
5500 {
5501 "op" : "assign",
5502 "parameters" : [
5503 {
5504 "type" : "field",
5505 "value" : ["gtpu", "version"]
5506 },
5507 {
5508 "type" : "hexstr",
5509 "value" : "0x01"
5510 }
5511 ],
5512 "source_info" : {
5513 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005514 "line" : 209,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005515 "column" : 8,
5516 "source_fragment" : "gtpu.version = 0x01"
5517 }
5518 },
5519 {
5520 "op" : "assign",
5521 "parameters" : [
5522 {
5523 "type" : "field",
5524 "value" : ["gtpu", "pt"]
5525 },
5526 {
5527 "type" : "hexstr",
5528 "value" : "0x01"
5529 }
5530 ],
5531 "source_info" : {
5532 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005533 "line" : 210,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005534 "column" : 8,
5535 "source_fragment" : "gtpu.pt = 0x01"
5536 }
5537 },
5538 {
5539 "op" : "assign",
5540 "parameters" : [
5541 {
5542 "type" : "field",
5543 "value" : ["gtpu", "spare"]
5544 },
5545 {
5546 "type" : "hexstr",
5547 "value" : "0x00"
5548 }
5549 ],
5550 "source_info" : {
5551 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005552 "line" : 211,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005553 "column" : 8,
5554 "source_fragment" : "gtpu.spare = 0"
5555 }
5556 },
5557 {
5558 "op" : "assign",
5559 "parameters" : [
5560 {
5561 "type" : "field",
5562 "value" : ["gtpu", "ex_flag"]
5563 },
5564 {
5565 "type" : "hexstr",
5566 "value" : "0x00"
5567 }
5568 ],
5569 "source_info" : {
5570 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005571 "line" : 212,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005572 "column" : 8,
5573 "source_fragment" : "gtpu.ex_flag = 0"
5574 }
5575 },
5576 {
5577 "op" : "assign",
5578 "parameters" : [
5579 {
5580 "type" : "field",
5581 "value" : ["gtpu", "seq_flag"]
5582 },
5583 {
5584 "type" : "hexstr",
5585 "value" : "0x00"
5586 }
5587 ],
5588 "source_info" : {
5589 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005590 "line" : 213,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005591 "column" : 8,
5592 "source_fragment" : "gtpu.seq_flag = 0"
5593 }
5594 },
5595 {
5596 "op" : "assign",
5597 "parameters" : [
5598 {
5599 "type" : "field",
5600 "value" : ["gtpu", "npdu_flag"]
5601 },
5602 {
5603 "type" : "hexstr",
5604 "value" : "0x00"
5605 }
5606 ],
5607 "source_info" : {
5608 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005609 "line" : 214,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005610 "column" : 8,
5611 "source_fragment" : "gtpu.npdu_flag = 0"
5612 }
5613 },
5614 {
5615 "op" : "assign",
5616 "parameters" : [
5617 {
5618 "type" : "field",
5619 "value" : ["gtpu", "msgtype"]
5620 },
5621 {
5622 "type" : "hexstr",
5623 "value" : "0xff"
5624 }
5625 ],
5626 "source_info" : {
5627 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005628 "line" : 215,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005629 "column" : 8,
5630 "source_fragment" : "gtpu.msgtype = 0xff"
5631 }
5632 },
5633 {
5634 "op" : "assign",
5635 "parameters" : [
5636 {
5637 "type" : "field",
5638 "value" : ["gtpu", "msglen"]
5639 },
5640 {
5641 "type" : "field",
5642 "value" : ["userMetadata.spgw", "ipv4_len"]
5643 }
5644 ],
5645 "source_info" : {
5646 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005647 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005648 "column" : 8,
5649 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5650 }
5651 },
5652 {
5653 "op" : "assign",
5654 "parameters" : [
5655 {
5656 "type" : "field",
5657 "value" : ["gtpu", "teid"]
5658 },
5659 {
5660 "type" : "field",
5661 "value" : ["userMetadata.spgw", "teid"]
5662 }
5663 ],
5664 "source_info" : {
5665 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005666 "line" : 217,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005667 "column" : 8,
5668 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5669 }
5670 }
5671 ]
5672 },
5673 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005674 "name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
Charles Chancd03f072018-08-31 17:46:37 -07005675 "id" : 84,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005676 "runtime_data" : [
5677 {
5678 "name" : "max_hop",
5679 "bitwidth" : 8
5680 },
5681 {
5682 "name" : "ins_cnt",
5683 "bitwidth" : 5
5684 },
5685 {
5686 "name" : "ins_mask0003",
5687 "bitwidth" : 4
5688 },
5689 {
5690 "name" : "ins_mask0407",
5691 "bitwidth" : 4
5692 }
5693 ],
5694 "primitives" : [
5695 {
5696 "op" : "add_header",
5697 "parameters" : [
5698 {
5699 "type" : "header",
5700 "value" : "intl4_shim"
5701 }
5702 ],
5703 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005704 "filename" : "include/int/int_source.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005705 "line" : 31,
5706 "column" : 8,
5707 "source_fragment" : "hdr.intl4_shim.setValid()"
5708 }
5709 },
5710 {
5711 "op" : "assign",
5712 "parameters" : [
5713 {
5714 "type" : "field",
5715 "value" : ["intl4_shim", "int_type"]
5716 },
5717 {
5718 "type" : "hexstr",
5719 "value" : "0x01"
5720 }
5721 ],
5722 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005723 "filename" : "include/int/int_source.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005724 "line" : 33,
5725 "column" : 8,
5726 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5727 }
5728 },
5729 {
5730 "op" : "assign",
5731 "parameters" : [
5732 {
5733 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005734 "value" : ["intl4_shim", "len_words"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005735 },
5736 {
5737 "type" : "hexstr",
5738 "value" : "0x04"
5739 }
5740 ],
5741 "source_info" : {
5742 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005743 "line" : 131,
5744 "column" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005745 "source_fragment" : "4; ..."
5746 }
5747 },
5748 {
5749 "op" : "add_header",
5750 "parameters" : [
5751 {
5752 "type" : "header",
5753 "value" : "int_header"
5754 }
5755 ],
5756 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005757 "filename" : "include/int/int_source.p4",
5758 "line" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005759 "column" : 8,
5760 "source_fragment" : "hdr.int_header.setValid()"
5761 }
5762 },
5763 {
5764 "op" : "assign",
5765 "parameters" : [
5766 {
5767 "type" : "field",
5768 "value" : ["int_header", "ver"]
5769 },
5770 {
5771 "type" : "hexstr",
5772 "value" : "0x00"
5773 }
5774 ],
5775 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005776 "filename" : "include/int/int_source.p4",
5777 "line" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005778 "column" : 8,
5779 "source_fragment" : "hdr.int_header.ver = 0"
5780 }
5781 },
5782 {
5783 "op" : "assign",
5784 "parameters" : [
5785 {
5786 "type" : "field",
5787 "value" : ["int_header", "rep"]
5788 },
5789 {
5790 "type" : "hexstr",
5791 "value" : "0x00"
5792 }
5793 ],
5794 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005795 "filename" : "include/int/int_source.p4",
5796 "line" : 38,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005797 "column" : 8,
5798 "source_fragment" : "hdr.int_header.rep = 0"
5799 }
5800 },
5801 {
5802 "op" : "assign",
5803 "parameters" : [
5804 {
5805 "type" : "field",
5806 "value" : ["int_header", "c"]
5807 },
5808 {
5809 "type" : "hexstr",
5810 "value" : "0x00"
5811 }
5812 ],
5813 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005814 "filename" : "include/int/int_source.p4",
5815 "line" : 39,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005816 "column" : 8,
5817 "source_fragment" : "hdr.int_header.c = 0"
5818 }
5819 },
5820 {
5821 "op" : "assign",
5822 "parameters" : [
5823 {
5824 "type" : "field",
5825 "value" : ["int_header", "e"]
5826 },
5827 {
5828 "type" : "hexstr",
5829 "value" : "0x00"
5830 }
5831 ],
5832 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005833 "filename" : "include/int/int_source.p4",
5834 "line" : 40,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005835 "column" : 8,
5836 "source_fragment" : "hdr.int_header.e = 0"
5837 }
5838 },
5839 {
5840 "op" : "assign",
5841 "parameters" : [
5842 {
5843 "type" : "field",
5844 "value" : ["int_header", "rsvd1"]
5845 },
5846 {
5847 "type" : "hexstr",
5848 "value" : "0x00"
5849 }
5850 ],
5851 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005852 "filename" : "include/int/int_source.p4",
5853 "line" : 41,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005854 "column" : 8,
5855 "source_fragment" : "hdr.int_header.rsvd1 = 0"
5856 }
5857 },
5858 {
5859 "op" : "assign",
5860 "parameters" : [
5861 {
5862 "type" : "field",
5863 "value" : ["int_header", "ins_cnt"]
5864 },
5865 {
5866 "type" : "runtime_data",
5867 "value" : 1
5868 }
5869 ],
5870 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005871 "filename" : "include/int/int_source.p4",
5872 "line" : 42,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005873 "column" : 8,
5874 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
5875 }
5876 },
5877 {
5878 "op" : "assign",
5879 "parameters" : [
5880 {
5881 "type" : "field",
5882 "value" : ["int_header", "max_hop_cnt"]
5883 },
5884 {
5885 "type" : "runtime_data",
5886 "value" : 0
5887 }
5888 ],
5889 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005890 "filename" : "include/int/int_source.p4",
5891 "line" : 43,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005892 "column" : 8,
5893 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
5894 }
5895 },
5896 {
5897 "op" : "assign",
5898 "parameters" : [
5899 {
5900 "type" : "field",
5901 "value" : ["int_header", "total_hop_cnt"]
5902 },
5903 {
5904 "type" : "hexstr",
5905 "value" : "0x00"
5906 }
5907 ],
5908 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005909 "filename" : "include/int/int_source.p4",
5910 "line" : 44,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005911 "column" : 8,
5912 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
5913 }
5914 },
5915 {
5916 "op" : "assign",
5917 "parameters" : [
5918 {
5919 "type" : "field",
5920 "value" : ["int_header", "instruction_mask_0003"]
5921 },
5922 {
5923 "type" : "runtime_data",
5924 "value" : 2
5925 }
5926 ],
5927 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005928 "filename" : "include/int/int_source.p4",
5929 "line" : 45,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005930 "column" : 8,
5931 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
5932 }
5933 },
5934 {
5935 "op" : "assign",
5936 "parameters" : [
5937 {
5938 "type" : "field",
5939 "value" : ["int_header", "instruction_mask_0407"]
5940 },
5941 {
5942 "type" : "runtime_data",
5943 "value" : 3
5944 }
5945 ],
5946 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005947 "filename" : "include/int/int_source.p4",
5948 "line" : 46,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005949 "column" : 8,
5950 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
5951 }
5952 },
5953 {
5954 "op" : "assign",
5955 "parameters" : [
5956 {
5957 "type" : "field",
5958 "value" : ["int_header", "instruction_mask_0811"]
5959 },
5960 {
5961 "type" : "hexstr",
5962 "value" : "0x00"
5963 }
5964 ],
5965 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005966 "filename" : "include/int/int_source.p4",
5967 "line" : 47,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005968 "column" : 8,
5969 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
5970 }
5971 },
5972 {
5973 "op" : "assign",
5974 "parameters" : [
5975 {
5976 "type" : "field",
5977 "value" : ["int_header", "instruction_mask_1215"]
5978 },
5979 {
5980 "type" : "hexstr",
5981 "value" : "0x00"
5982 }
5983 ],
5984 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07005985 "filename" : "include/int/int_source.p4",
5986 "line" : 48,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005987 "column" : 8,
5988 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
5989 }
5990 },
5991 {
5992 "op" : "add_header",
5993 "parameters" : [
5994 {
5995 "type" : "header",
5996 "value" : "intl4_tail"
5997 }
5998 ],
5999 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006000 "filename" : "include/int/int_source.p4",
6001 "line" : 50,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006002 "column" : 8,
6003 "source_fragment" : "hdr.intl4_tail.setValid()"
6004 }
6005 },
6006 {
6007 "op" : "assign",
6008 "parameters" : [
6009 {
6010 "type" : "field",
6011 "value" : ["intl4_tail", "next_proto"]
6012 },
6013 {
6014 "type" : "field",
6015 "value" : ["ipv4", "protocol"]
6016 }
6017 ],
6018 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006019 "filename" : "include/int/int_source.p4",
6020 "line" : 51,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006021 "column" : 8,
6022 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
6023 }
6024 },
6025 {
6026 "op" : "assign",
6027 "parameters" : [
6028 {
6029 "type" : "field",
6030 "value" : ["intl4_tail", "dest_port"]
6031 },
6032 {
6033 "type" : "field",
6034 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
6035 }
6036 ],
6037 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006038 "filename" : "include/int/int_source.p4",
6039 "line" : 52,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006040 "column" : 8,
6041 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
6042 }
6043 },
6044 {
6045 "op" : "assign",
6046 "parameters" : [
6047 {
6048 "type" : "field",
6049 "value" : ["intl4_tail", "dscp"]
6050 },
6051 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006052 "type" : "field",
6053 "value" : ["ipv4", "dscp"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006054 }
6055 ],
6056 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006057 "filename" : "include/int/int_source.p4",
6058 "line" : 53,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006059 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006060 "source_fragment" : "hdr.intl4_tail.dscp = hdr.ipv4.dscp"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006061 }
6062 },
6063 {
6064 "op" : "assign",
6065 "parameters" : [
6066 {
6067 "type" : "field",
6068 "value" : ["ipv4", "total_len"]
6069 },
6070 {
6071 "type" : "expression",
6072 "value" : {
6073 "type" : "expression",
6074 "value" : {
6075 "op" : "&",
6076 "left" : {
6077 "type" : "expression",
6078 "value" : {
6079 "op" : "+",
6080 "left" : {
6081 "type" : "field",
6082 "value" : ["ipv4", "total_len"]
6083 },
6084 "right" : {
6085 "type" : "hexstr",
6086 "value" : "0x0010"
6087 }
6088 }
6089 },
6090 "right" : {
6091 "type" : "hexstr",
6092 "value" : "0xffff"
6093 }
6094 }
6095 }
6096 }
6097 ],
6098 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006099 "filename" : "include/int/int_source.p4",
6100 "line" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006101 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006102 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + INT_HEADER_LEN_BYTES"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006103 }
6104 },
6105 {
6106 "op" : "assign",
6107 "parameters" : [
6108 {
6109 "type" : "field",
6110 "value" : ["udp", "len"]
6111 },
6112 {
6113 "type" : "expression",
6114 "value" : {
6115 "type" : "expression",
6116 "value" : {
6117 "op" : "&",
6118 "left" : {
6119 "type" : "expression",
6120 "value" : {
6121 "op" : "+",
6122 "left" : {
6123 "type" : "field",
6124 "value" : ["udp", "len"]
6125 },
6126 "right" : {
6127 "type" : "hexstr",
6128 "value" : "0x0010"
6129 }
6130 }
6131 },
6132 "right" : {
6133 "type" : "hexstr",
6134 "value" : "0xffff"
6135 }
6136 }
6137 }
6138 }
6139 ],
6140 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006141 "filename" : "include/int/int_source.p4",
6142 "line" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006143 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006144 "source_fragment" : "hdr.udp.len = hdr.udp.len + INT_HEADER_LEN_BYTES"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006145 }
6146 },
6147 {
6148 "op" : "assign",
6149 "parameters" : [
6150 {
6151 "type" : "field",
6152 "value" : ["ipv4", "dscp"]
6153 },
6154 {
6155 "type" : "hexstr",
6156 "value" : "0x01"
6157 }
6158 ],
6159 "source_info" : {
6160 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006161 "line" : 127,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006162 "column" : 24,
6163 "source_fragment" : "0x1; ..."
6164 }
6165 }
6166 ]
6167 },
6168 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006169 "name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
Charles Chancd03f072018-08-31 17:46:37 -07006170 "id" : 85,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006171 "runtime_data" : [
6172 {
6173 "name" : "switch_id",
6174 "bitwidth" : 32
6175 }
6176 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006177 "primitives" : [
6178 {
6179 "op" : "assign",
6180 "parameters" : [
6181 {
6182 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006183 "value" : ["userMetadata.int_meta", "transit"]
6184 },
6185 {
6186 "type" : "expression",
6187 "value" : {
6188 "type" : "expression",
6189 "value" : {
6190 "op" : "b2d",
6191 "left" : null,
6192 "right" : {
6193 "type" : "bool",
6194 "value" : true
6195 }
6196 }
6197 }
6198 }
6199 ],
6200 "source_info" : {
6201 "filename" : "include/int/int_transit.p4",
6202 "line" : 26,
6203 "column" : 8,
6204 "source_fragment" : "fmeta.int_meta.transit = true"
6205 }
6206 },
6207 {
6208 "op" : "assign",
6209 "parameters" : [
6210 {
6211 "type" : "field",
6212 "value" : ["userMetadata.int_meta", "switch_id"]
6213 },
6214 {
6215 "type" : "runtime_data",
6216 "value" : 0
6217 }
6218 ],
6219 "source_info" : {
6220 "filename" : "include/int/int_transit.p4",
6221 "line" : 31,
6222 "column" : 8,
6223 "source_fragment" : "fmeta.int_meta.switch_id = switch_id"
6224 }
6225 }
6226 ]
6227 },
6228 {
6229 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
6230 "id" : 86,
6231 "runtime_data" : [],
6232 "primitives" : []
6233 },
6234 {
6235 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
6236 "id" : 87,
6237 "runtime_data" : [],
6238 "primitives" : [
6239 {
6240 "op" : "add_header",
6241 "parameters" : [
6242 {
6243 "type" : "header",
6244 "value" : "int_q_occupancy"
6245 }
6246 ],
6247 "source_info" : {
6248 "filename" : "include/int/int_transit.p4",
6249 "line" : 56,
6250 "column" : 8,
6251 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6252 }
6253 },
6254 {
6255 "op" : "assign",
6256 "parameters" : [
6257 {
6258 "type" : "field",
6259 "value" : ["int_q_occupancy", "q_id"]
6260 },
6261 {
6262 "type" : "hexstr",
6263 "value" : "0x00"
6264 }
6265 ],
6266 "source_info" : {
6267 "filename" : "include/int/int_transit.p4",
6268 "line" : 58,
6269 "column" : 8,
6270 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
6271 }
6272 },
6273 {
6274 "op" : "assign",
6275 "parameters" : [
6276 {
6277 "type" : "field",
6278 "value" : ["int_q_occupancy", "q_occupancy"]
6279 },
6280 {
6281 "type" : "expression",
6282 "value" : {
6283 "type" : "expression",
6284 "value" : {
6285 "op" : "&",
6286 "left" : {
6287 "type" : "field",
6288 "value" : ["standard_metadata", "deq_qdepth"]
6289 },
6290 "right" : {
6291 "type" : "hexstr",
6292 "value" : "0xffffff"
6293 }
6294 }
6295 }
6296 }
6297 ],
6298 "source_info" : {
6299 "filename" : "include/int/int_transit.p4",
6300 "line" : 59,
6301 "column" : 8,
6302 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
6303 }
6304 },
6305 {
6306 "op" : "assign",
6307 "parameters" : [
6308 {
6309 "type" : "field",
6310 "value" : ["userMetadata.int_meta", "new_words"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006311 },
6312 {
6313 "type" : "expression",
6314 "value" : {
6315 "type" : "expression",
6316 "value" : {
6317 "op" : "&",
6318 "left" : {
6319 "type" : "expression",
6320 "value" : {
6321 "op" : "+",
6322 "left" : {
6323 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006324 "value" : ["userMetadata.int_meta", "new_words"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006325 },
6326 "right" : {
6327 "type" : "hexstr",
6328 "value" : "0x01"
6329 }
6330 }
6331 },
6332 "right" : {
6333 "type" : "hexstr",
6334 "value" : "0xff"
6335 }
6336 }
6337 }
6338 }
6339 ],
6340 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006341 "filename" : "include/int/int_transit.p4",
6342 "line" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006343 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006344 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006345 }
6346 },
6347 {
6348 "op" : "assign",
6349 "parameters" : [
6350 {
6351 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006352 "value" : ["userMetadata.int_meta", "new_bytes"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006353 },
6354 {
6355 "type" : "expression",
6356 "value" : {
6357 "type" : "expression",
6358 "value" : {
6359 "op" : "&",
6360 "left" : {
6361 "type" : "expression",
6362 "value" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006363 "op" : "+",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006364 "left" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006365 "type" : "field",
6366 "value" : ["userMetadata.int_meta", "new_bytes"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006367 },
6368 "right" : {
6369 "type" : "hexstr",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006370 "value" : "0x0004"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006371 }
6372 }
6373 },
6374 "right" : {
6375 "type" : "hexstr",
6376 "value" : "0xffff"
6377 }
6378 }
6379 }
6380 }
6381 ],
6382 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006383 "filename" : "include/int/int_transit.p4",
6384 "line" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006385 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006386 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006387 }
6388 }
6389 ]
6390 },
6391 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006392 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
Charles Chancd03f072018-08-31 17:46:37 -07006393 "id" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006394 "runtime_data" : [],
6395 "primitives" : [
6396 {
6397 "op" : "add_header",
6398 "parameters" : [
6399 {
6400 "type" : "header",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006401 "value" : "int_hop_latency"
6402 }
6403 ],
6404 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006405 "filename" : "include/int/int_transit.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006406 "line" : 51,
6407 "column" : 8,
6408 "source_fragment" : "hdr.int_hop_latency.setValid()"
6409 }
6410 },
6411 {
6412 "op" : "assign",
6413 "parameters" : [
6414 {
6415 "type" : "field",
6416 "value" : ["int_hop_latency", "hop_latency"]
6417 },
6418 {
6419 "type" : "field",
6420 "value" : ["standard_metadata", "deq_timedelta"]
6421 }
6422 ],
6423 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006424 "filename" : "include/int/int_transit.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006425 "line" : 52,
6426 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006427 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006428 }
6429 },
6430 {
6431 "op" : "assign",
6432 "parameters" : [
6433 {
6434 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006435 "value" : ["userMetadata.int_meta", "new_words"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006436 },
6437 {
6438 "type" : "expression",
6439 "value" : {
6440 "type" : "expression",
6441 "value" : {
6442 "op" : "&",
6443 "left" : {
6444 "type" : "expression",
6445 "value" : {
6446 "op" : "+",
6447 "left" : {
6448 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006449 "value" : ["userMetadata.int_meta", "new_words"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006450 },
6451 "right" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006452 "type" : "hexstr",
6453 "value" : "0x01"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006454 }
6455 }
6456 },
6457 "right" : {
6458 "type" : "hexstr",
6459 "value" : "0xff"
6460 }
6461 }
6462 }
6463 }
6464 ],
6465 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006466 "filename" : "include/int/int_transit.p4",
6467 "line" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006468 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006469 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
6470 }
6471 },
6472 {
6473 "op" : "assign",
6474 "parameters" : [
6475 {
6476 "type" : "field",
6477 "value" : ["userMetadata.int_meta", "new_bytes"]
6478 },
6479 {
6480 "type" : "expression",
6481 "value" : {
6482 "type" : "expression",
6483 "value" : {
6484 "op" : "&",
6485 "left" : {
6486 "type" : "expression",
6487 "value" : {
6488 "op" : "+",
6489 "left" : {
6490 "type" : "field",
6491 "value" : ["userMetadata.int_meta", "new_bytes"]
6492 },
6493 "right" : {
6494 "type" : "hexstr",
6495 "value" : "0x0004"
6496 }
6497 }
6498 },
6499 "right" : {
6500 "type" : "hexstr",
6501 "value" : "0xffff"
6502 }
6503 }
6504 }
6505 }
6506 ],
6507 "source_info" : {
6508 "filename" : "include/int/int_transit.p4",
6509 "line" : 89,
6510 "column" : 8,
6511 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006512 }
6513 }
6514 ]
6515 },
6516 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -07006517 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
6518 "id" : 89,
6519 "runtime_data" : [],
6520 "primitives" : [
6521 {
6522 "op" : "add_header",
6523 "parameters" : [
6524 {
6525 "type" : "header",
6526 "value" : "int_q_occupancy"
6527 }
6528 ],
6529 "source_info" : {
6530 "filename" : "include/int/int_transit.p4",
6531 "line" : 56,
6532 "column" : 8,
6533 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6534 }
6535 },
6536 {
6537 "op" : "assign",
6538 "parameters" : [
6539 {
6540 "type" : "field",
6541 "value" : ["int_q_occupancy", "q_id"]
6542 },
6543 {
6544 "type" : "hexstr",
6545 "value" : "0x00"
6546 }
6547 ],
6548 "source_info" : {
6549 "filename" : "include/int/int_transit.p4",
6550 "line" : 58,
6551 "column" : 8,
6552 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
6553 }
6554 },
6555 {
6556 "op" : "assign",
6557 "parameters" : [
6558 {
6559 "type" : "field",
6560 "value" : ["int_q_occupancy", "q_occupancy"]
6561 },
6562 {
6563 "type" : "expression",
6564 "value" : {
6565 "type" : "expression",
6566 "value" : {
6567 "op" : "&",
6568 "left" : {
6569 "type" : "field",
6570 "value" : ["standard_metadata", "deq_qdepth"]
6571 },
6572 "right" : {
6573 "type" : "hexstr",
6574 "value" : "0xffffff"
6575 }
6576 }
6577 }
6578 }
6579 ],
6580 "source_info" : {
6581 "filename" : "include/int/int_transit.p4",
6582 "line" : 59,
6583 "column" : 8,
6584 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
6585 }
6586 },
6587 {
6588 "op" : "add_header",
6589 "parameters" : [
6590 {
6591 "type" : "header",
6592 "value" : "int_hop_latency"
6593 }
6594 ],
6595 "source_info" : {
6596 "filename" : "include/int/int_transit.p4",
6597 "line" : 51,
6598 "column" : 8,
6599 "source_fragment" : "hdr.int_hop_latency.setValid()"
6600 }
6601 },
6602 {
6603 "op" : "assign",
6604 "parameters" : [
6605 {
6606 "type" : "field",
6607 "value" : ["int_hop_latency", "hop_latency"]
6608 },
6609 {
6610 "type" : "field",
6611 "value" : ["standard_metadata", "deq_timedelta"]
6612 }
6613 ],
6614 "source_info" : {
6615 "filename" : "include/int/int_transit.p4",
6616 "line" : 52,
6617 "column" : 8,
6618 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
6619 }
6620 },
6621 {
6622 "op" : "assign",
6623 "parameters" : [
6624 {
6625 "type" : "field",
6626 "value" : ["userMetadata.int_meta", "new_words"]
6627 },
6628 {
6629 "type" : "expression",
6630 "value" : {
6631 "type" : "expression",
6632 "value" : {
6633 "op" : "&",
6634 "left" : {
6635 "type" : "expression",
6636 "value" : {
6637 "op" : "+",
6638 "left" : {
6639 "type" : "field",
6640 "value" : ["userMetadata.int_meta", "new_words"]
6641 },
6642 "right" : {
6643 "type" : "hexstr",
6644 "value" : "0x02"
6645 }
6646 }
6647 },
6648 "right" : {
6649 "type" : "hexstr",
6650 "value" : "0xff"
6651 }
6652 }
6653 }
6654 }
6655 ],
6656 "source_info" : {
6657 "filename" : "include/int/int_transit.p4",
6658 "line" : 93,
6659 "column" : 8,
6660 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
6661 }
6662 },
6663 {
6664 "op" : "assign",
6665 "parameters" : [
6666 {
6667 "type" : "field",
6668 "value" : ["userMetadata.int_meta", "new_bytes"]
6669 },
6670 {
6671 "type" : "expression",
6672 "value" : {
6673 "type" : "expression",
6674 "value" : {
6675 "op" : "&",
6676 "left" : {
6677 "type" : "expression",
6678 "value" : {
6679 "op" : "+",
6680 "left" : {
6681 "type" : "field",
6682 "value" : ["userMetadata.int_meta", "new_bytes"]
6683 },
6684 "right" : {
6685 "type" : "hexstr",
6686 "value" : "0x0008"
6687 }
6688 }
6689 },
6690 "right" : {
6691 "type" : "hexstr",
6692 "value" : "0xffff"
6693 }
6694 }
6695 }
6696 }
6697 ],
6698 "source_info" : {
6699 "filename" : "include/int/int_transit.p4",
6700 "line" : 94,
6701 "column" : 8,
6702 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
6703 }
6704 }
6705 ]
6706 },
6707 {
6708 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
6709 "id" : 90,
6710 "runtime_data" : [],
6711 "primitives" : [
6712 {
6713 "op" : "add_header",
6714 "parameters" : [
6715 {
6716 "type" : "header",
6717 "value" : "int_port_ids"
6718 }
6719 ],
6720 "source_info" : {
6721 "filename" : "include/int/int_transit.p4",
6722 "line" : 45,
6723 "column" : 8,
6724 "source_fragment" : "hdr.int_port_ids.setValid()"
6725 }
6726 },
6727 {
6728 "op" : "assign",
6729 "parameters" : [
6730 {
6731 "type" : "field",
6732 "value" : ["int_port_ids", "ingress_port_id"]
6733 },
6734 {
6735 "type" : "expression",
6736 "value" : {
6737 "type" : "expression",
6738 "value" : {
6739 "op" : "&",
6740 "left" : {
6741 "type" : "field",
6742 "value" : ["standard_metadata", "ingress_port"]
6743 },
6744 "right" : {
6745 "type" : "hexstr",
6746 "value" : "0xffff"
6747 }
6748 }
6749 }
6750 }
6751 ],
6752 "source_info" : {
6753 "filename" : "include/int/int_transit.p4",
6754 "line" : 46,
6755 "column" : 8,
6756 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
6757 }
6758 },
6759 {
6760 "op" : "assign",
6761 "parameters" : [
6762 {
6763 "type" : "field",
6764 "value" : ["int_port_ids", "egress_port_id"]
6765 },
6766 {
6767 "type" : "expression",
6768 "value" : {
6769 "type" : "expression",
6770 "value" : {
6771 "op" : "&",
6772 "left" : {
6773 "type" : "field",
6774 "value" : ["standard_metadata", "egress_port"]
6775 },
6776 "right" : {
6777 "type" : "hexstr",
6778 "value" : "0xffff"
6779 }
6780 }
6781 }
6782 }
6783 ],
6784 "source_info" : {
6785 "filename" : "include/int/int_transit.p4",
6786 "line" : 47,
6787 "column" : 8,
6788 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
6789 }
6790 },
6791 {
6792 "op" : "assign",
6793 "parameters" : [
6794 {
6795 "type" : "field",
6796 "value" : ["userMetadata.int_meta", "new_words"]
6797 },
6798 {
6799 "type" : "expression",
6800 "value" : {
6801 "type" : "expression",
6802 "value" : {
6803 "op" : "&",
6804 "left" : {
6805 "type" : "expression",
6806 "value" : {
6807 "op" : "+",
6808 "left" : {
6809 "type" : "field",
6810 "value" : ["userMetadata.int_meta", "new_words"]
6811 },
6812 "right" : {
6813 "type" : "hexstr",
6814 "value" : "0x01"
6815 }
6816 }
6817 },
6818 "right" : {
6819 "type" : "hexstr",
6820 "value" : "0xff"
6821 }
6822 }
6823 }
6824 }
6825 ],
6826 "source_info" : {
6827 "filename" : "include/int/int_transit.p4",
6828 "line" : 88,
6829 "column" : 8,
6830 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
6831 }
6832 },
6833 {
6834 "op" : "assign",
6835 "parameters" : [
6836 {
6837 "type" : "field",
6838 "value" : ["userMetadata.int_meta", "new_bytes"]
6839 },
6840 {
6841 "type" : "expression",
6842 "value" : {
6843 "type" : "expression",
6844 "value" : {
6845 "op" : "&",
6846 "left" : {
6847 "type" : "expression",
6848 "value" : {
6849 "op" : "+",
6850 "left" : {
6851 "type" : "field",
6852 "value" : ["userMetadata.int_meta", "new_bytes"]
6853 },
6854 "right" : {
6855 "type" : "hexstr",
6856 "value" : "0x0004"
6857 }
6858 }
6859 },
6860 "right" : {
6861 "type" : "hexstr",
6862 "value" : "0xffff"
6863 }
6864 }
6865 }
6866 }
6867 ],
6868 "source_info" : {
6869 "filename" : "include/int/int_transit.p4",
6870 "line" : 89,
6871 "column" : 8,
6872 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
6873 }
6874 }
6875 ]
6876 },
6877 {
6878 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
6879 "id" : 91,
6880 "runtime_data" : [],
6881 "primitives" : [
6882 {
6883 "op" : "add_header",
6884 "parameters" : [
6885 {
6886 "type" : "header",
6887 "value" : "int_q_occupancy"
6888 }
6889 ],
6890 "source_info" : {
6891 "filename" : "include/int/int_transit.p4",
6892 "line" : 56,
6893 "column" : 8,
6894 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6895 }
6896 },
6897 {
6898 "op" : "assign",
6899 "parameters" : [
6900 {
6901 "type" : "field",
6902 "value" : ["int_q_occupancy", "q_id"]
6903 },
6904 {
6905 "type" : "hexstr",
6906 "value" : "0x00"
6907 }
6908 ],
6909 "source_info" : {
6910 "filename" : "include/int/int_transit.p4",
6911 "line" : 58,
6912 "column" : 8,
6913 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
6914 }
6915 },
6916 {
6917 "op" : "assign",
6918 "parameters" : [
6919 {
6920 "type" : "field",
6921 "value" : ["int_q_occupancy", "q_occupancy"]
6922 },
6923 {
6924 "type" : "expression",
6925 "value" : {
6926 "type" : "expression",
6927 "value" : {
6928 "op" : "&",
6929 "left" : {
6930 "type" : "field",
6931 "value" : ["standard_metadata", "deq_qdepth"]
6932 },
6933 "right" : {
6934 "type" : "hexstr",
6935 "value" : "0xffffff"
6936 }
6937 }
6938 }
6939 }
6940 ],
6941 "source_info" : {
6942 "filename" : "include/int/int_transit.p4",
6943 "line" : 59,
6944 "column" : 8,
6945 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
6946 }
6947 },
6948 {
6949 "op" : "add_header",
6950 "parameters" : [
6951 {
6952 "type" : "header",
6953 "value" : "int_port_ids"
6954 }
6955 ],
6956 "source_info" : {
6957 "filename" : "include/int/int_transit.p4",
6958 "line" : 45,
6959 "column" : 8,
6960 "source_fragment" : "hdr.int_port_ids.setValid()"
6961 }
6962 },
6963 {
6964 "op" : "assign",
6965 "parameters" : [
6966 {
6967 "type" : "field",
6968 "value" : ["int_port_ids", "ingress_port_id"]
6969 },
6970 {
6971 "type" : "expression",
6972 "value" : {
6973 "type" : "expression",
6974 "value" : {
6975 "op" : "&",
6976 "left" : {
6977 "type" : "field",
6978 "value" : ["standard_metadata", "ingress_port"]
6979 },
6980 "right" : {
6981 "type" : "hexstr",
6982 "value" : "0xffff"
6983 }
6984 }
6985 }
6986 }
6987 ],
6988 "source_info" : {
6989 "filename" : "include/int/int_transit.p4",
6990 "line" : 46,
6991 "column" : 8,
6992 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
6993 }
6994 },
6995 {
6996 "op" : "assign",
6997 "parameters" : [
6998 {
6999 "type" : "field",
7000 "value" : ["int_port_ids", "egress_port_id"]
7001 },
7002 {
7003 "type" : "expression",
7004 "value" : {
7005 "type" : "expression",
7006 "value" : {
7007 "op" : "&",
7008 "left" : {
7009 "type" : "field",
7010 "value" : ["standard_metadata", "egress_port"]
7011 },
7012 "right" : {
7013 "type" : "hexstr",
7014 "value" : "0xffff"
7015 }
7016 }
7017 }
7018 }
7019 ],
7020 "source_info" : {
7021 "filename" : "include/int/int_transit.p4",
7022 "line" : 47,
7023 "column" : 8,
7024 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
7025 }
7026 },
7027 {
7028 "op" : "assign",
7029 "parameters" : [
7030 {
7031 "type" : "field",
7032 "value" : ["userMetadata.int_meta", "new_words"]
7033 },
7034 {
7035 "type" : "expression",
7036 "value" : {
7037 "type" : "expression",
7038 "value" : {
7039 "op" : "&",
7040 "left" : {
7041 "type" : "expression",
7042 "value" : {
7043 "op" : "+",
7044 "left" : {
7045 "type" : "field",
7046 "value" : ["userMetadata.int_meta", "new_words"]
7047 },
7048 "right" : {
7049 "type" : "hexstr",
7050 "value" : "0x02"
7051 }
7052 }
7053 },
7054 "right" : {
7055 "type" : "hexstr",
7056 "value" : "0xff"
7057 }
7058 }
7059 }
7060 }
7061 ],
7062 "source_info" : {
7063 "filename" : "include/int/int_transit.p4",
7064 "line" : 93,
7065 "column" : 8,
7066 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
7067 }
7068 },
7069 {
7070 "op" : "assign",
7071 "parameters" : [
7072 {
7073 "type" : "field",
7074 "value" : ["userMetadata.int_meta", "new_bytes"]
7075 },
7076 {
7077 "type" : "expression",
7078 "value" : {
7079 "type" : "expression",
7080 "value" : {
7081 "op" : "&",
7082 "left" : {
7083 "type" : "expression",
7084 "value" : {
7085 "op" : "+",
7086 "left" : {
7087 "type" : "field",
7088 "value" : ["userMetadata.int_meta", "new_bytes"]
7089 },
7090 "right" : {
7091 "type" : "hexstr",
7092 "value" : "0x0008"
7093 }
7094 }
7095 },
7096 "right" : {
7097 "type" : "hexstr",
7098 "value" : "0xffff"
7099 }
7100 }
7101 }
7102 }
7103 ],
7104 "source_info" : {
7105 "filename" : "include/int/int_transit.p4",
7106 "line" : 94,
7107 "column" : 8,
7108 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
7109 }
7110 }
7111 ]
7112 },
7113 {
7114 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
7115 "id" : 92,
7116 "runtime_data" : [],
7117 "primitives" : [
7118 {
7119 "op" : "add_header",
7120 "parameters" : [
7121 {
7122 "type" : "header",
7123 "value" : "int_hop_latency"
7124 }
7125 ],
7126 "source_info" : {
7127 "filename" : "include/int/int_transit.p4",
7128 "line" : 51,
7129 "column" : 8,
7130 "source_fragment" : "hdr.int_hop_latency.setValid()"
7131 }
7132 },
7133 {
7134 "op" : "assign",
7135 "parameters" : [
7136 {
7137 "type" : "field",
7138 "value" : ["int_hop_latency", "hop_latency"]
7139 },
7140 {
7141 "type" : "field",
7142 "value" : ["standard_metadata", "deq_timedelta"]
7143 }
7144 ],
7145 "source_info" : {
7146 "filename" : "include/int/int_transit.p4",
7147 "line" : 52,
7148 "column" : 8,
7149 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7150 }
7151 },
7152 {
7153 "op" : "add_header",
7154 "parameters" : [
7155 {
7156 "type" : "header",
7157 "value" : "int_port_ids"
7158 }
7159 ],
7160 "source_info" : {
7161 "filename" : "include/int/int_transit.p4",
7162 "line" : 45,
7163 "column" : 8,
7164 "source_fragment" : "hdr.int_port_ids.setValid()"
7165 }
7166 },
7167 {
7168 "op" : "assign",
7169 "parameters" : [
7170 {
7171 "type" : "field",
7172 "value" : ["int_port_ids", "ingress_port_id"]
7173 },
7174 {
7175 "type" : "expression",
7176 "value" : {
7177 "type" : "expression",
7178 "value" : {
7179 "op" : "&",
7180 "left" : {
7181 "type" : "field",
7182 "value" : ["standard_metadata", "ingress_port"]
7183 },
7184 "right" : {
7185 "type" : "hexstr",
7186 "value" : "0xffff"
7187 }
7188 }
7189 }
7190 }
7191 ],
7192 "source_info" : {
7193 "filename" : "include/int/int_transit.p4",
7194 "line" : 46,
7195 "column" : 8,
7196 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
7197 }
7198 },
7199 {
7200 "op" : "assign",
7201 "parameters" : [
7202 {
7203 "type" : "field",
7204 "value" : ["int_port_ids", "egress_port_id"]
7205 },
7206 {
7207 "type" : "expression",
7208 "value" : {
7209 "type" : "expression",
7210 "value" : {
7211 "op" : "&",
7212 "left" : {
7213 "type" : "field",
7214 "value" : ["standard_metadata", "egress_port"]
7215 },
7216 "right" : {
7217 "type" : "hexstr",
7218 "value" : "0xffff"
7219 }
7220 }
7221 }
7222 }
7223 ],
7224 "source_info" : {
7225 "filename" : "include/int/int_transit.p4",
7226 "line" : 47,
7227 "column" : 8,
7228 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
7229 }
7230 },
7231 {
7232 "op" : "assign",
7233 "parameters" : [
7234 {
7235 "type" : "field",
7236 "value" : ["userMetadata.int_meta", "new_words"]
7237 },
7238 {
7239 "type" : "expression",
7240 "value" : {
7241 "type" : "expression",
7242 "value" : {
7243 "op" : "&",
7244 "left" : {
7245 "type" : "expression",
7246 "value" : {
7247 "op" : "+",
7248 "left" : {
7249 "type" : "field",
7250 "value" : ["userMetadata.int_meta", "new_words"]
7251 },
7252 "right" : {
7253 "type" : "hexstr",
7254 "value" : "0x02"
7255 }
7256 }
7257 },
7258 "right" : {
7259 "type" : "hexstr",
7260 "value" : "0xff"
7261 }
7262 }
7263 }
7264 }
7265 ],
7266 "source_info" : {
7267 "filename" : "include/int/int_transit.p4",
7268 "line" : 93,
7269 "column" : 8,
7270 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
7271 }
7272 },
7273 {
7274 "op" : "assign",
7275 "parameters" : [
7276 {
7277 "type" : "field",
7278 "value" : ["userMetadata.int_meta", "new_bytes"]
7279 },
7280 {
7281 "type" : "expression",
7282 "value" : {
7283 "type" : "expression",
7284 "value" : {
7285 "op" : "&",
7286 "left" : {
7287 "type" : "expression",
7288 "value" : {
7289 "op" : "+",
7290 "left" : {
7291 "type" : "field",
7292 "value" : ["userMetadata.int_meta", "new_bytes"]
7293 },
7294 "right" : {
7295 "type" : "hexstr",
7296 "value" : "0x0008"
7297 }
7298 }
7299 },
7300 "right" : {
7301 "type" : "hexstr",
7302 "value" : "0xffff"
7303 }
7304 }
7305 }
7306 }
7307 ],
7308 "source_info" : {
7309 "filename" : "include/int/int_transit.p4",
7310 "line" : 94,
7311 "column" : 8,
7312 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
7313 }
7314 }
7315 ]
7316 },
7317 {
7318 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
7319 "id" : 93,
7320 "runtime_data" : [],
7321 "primitives" : [
7322 {
7323 "op" : "add_header",
7324 "parameters" : [
7325 {
7326 "type" : "header",
7327 "value" : "int_q_occupancy"
7328 }
7329 ],
7330 "source_info" : {
7331 "filename" : "include/int/int_transit.p4",
7332 "line" : 56,
7333 "column" : 8,
7334 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7335 }
7336 },
7337 {
7338 "op" : "assign",
7339 "parameters" : [
7340 {
7341 "type" : "field",
7342 "value" : ["int_q_occupancy", "q_id"]
7343 },
7344 {
7345 "type" : "hexstr",
7346 "value" : "0x00"
7347 }
7348 ],
7349 "source_info" : {
7350 "filename" : "include/int/int_transit.p4",
7351 "line" : 58,
7352 "column" : 8,
7353 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
7354 }
7355 },
7356 {
7357 "op" : "assign",
7358 "parameters" : [
7359 {
7360 "type" : "field",
7361 "value" : ["int_q_occupancy", "q_occupancy"]
7362 },
7363 {
7364 "type" : "expression",
7365 "value" : {
7366 "type" : "expression",
7367 "value" : {
7368 "op" : "&",
7369 "left" : {
7370 "type" : "field",
7371 "value" : ["standard_metadata", "deq_qdepth"]
7372 },
7373 "right" : {
7374 "type" : "hexstr",
7375 "value" : "0xffffff"
7376 }
7377 }
7378 }
7379 }
7380 ],
7381 "source_info" : {
7382 "filename" : "include/int/int_transit.p4",
7383 "line" : 59,
7384 "column" : 8,
7385 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
7386 }
7387 },
7388 {
7389 "op" : "add_header",
7390 "parameters" : [
7391 {
7392 "type" : "header",
7393 "value" : "int_hop_latency"
7394 }
7395 ],
7396 "source_info" : {
7397 "filename" : "include/int/int_transit.p4",
7398 "line" : 51,
7399 "column" : 8,
7400 "source_fragment" : "hdr.int_hop_latency.setValid()"
7401 }
7402 },
7403 {
7404 "op" : "assign",
7405 "parameters" : [
7406 {
7407 "type" : "field",
7408 "value" : ["int_hop_latency", "hop_latency"]
7409 },
7410 {
7411 "type" : "field",
7412 "value" : ["standard_metadata", "deq_timedelta"]
7413 }
7414 ],
7415 "source_info" : {
7416 "filename" : "include/int/int_transit.p4",
7417 "line" : 52,
7418 "column" : 8,
7419 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7420 }
7421 },
7422 {
7423 "op" : "add_header",
7424 "parameters" : [
7425 {
7426 "type" : "header",
7427 "value" : "int_port_ids"
7428 }
7429 ],
7430 "source_info" : {
7431 "filename" : "include/int/int_transit.p4",
7432 "line" : 45,
7433 "column" : 8,
7434 "source_fragment" : "hdr.int_port_ids.setValid()"
7435 }
7436 },
7437 {
7438 "op" : "assign",
7439 "parameters" : [
7440 {
7441 "type" : "field",
7442 "value" : ["int_port_ids", "ingress_port_id"]
7443 },
7444 {
7445 "type" : "expression",
7446 "value" : {
7447 "type" : "expression",
7448 "value" : {
7449 "op" : "&",
7450 "left" : {
7451 "type" : "field",
7452 "value" : ["standard_metadata", "ingress_port"]
7453 },
7454 "right" : {
7455 "type" : "hexstr",
7456 "value" : "0xffff"
7457 }
7458 }
7459 }
7460 }
7461 ],
7462 "source_info" : {
7463 "filename" : "include/int/int_transit.p4",
7464 "line" : 46,
7465 "column" : 8,
7466 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
7467 }
7468 },
7469 {
7470 "op" : "assign",
7471 "parameters" : [
7472 {
7473 "type" : "field",
7474 "value" : ["int_port_ids", "egress_port_id"]
7475 },
7476 {
7477 "type" : "expression",
7478 "value" : {
7479 "type" : "expression",
7480 "value" : {
7481 "op" : "&",
7482 "left" : {
7483 "type" : "field",
7484 "value" : ["standard_metadata", "egress_port"]
7485 },
7486 "right" : {
7487 "type" : "hexstr",
7488 "value" : "0xffff"
7489 }
7490 }
7491 }
7492 }
7493 ],
7494 "source_info" : {
7495 "filename" : "include/int/int_transit.p4",
7496 "line" : 47,
7497 "column" : 8,
7498 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
7499 }
7500 },
7501 {
7502 "op" : "assign",
7503 "parameters" : [
7504 {
7505 "type" : "field",
7506 "value" : ["userMetadata.int_meta", "new_words"]
7507 },
7508 {
7509 "type" : "expression",
7510 "value" : {
7511 "type" : "expression",
7512 "value" : {
7513 "op" : "&",
7514 "left" : {
7515 "type" : "expression",
7516 "value" : {
7517 "op" : "+",
7518 "left" : {
7519 "type" : "field",
7520 "value" : ["userMetadata.int_meta", "new_words"]
7521 },
7522 "right" : {
7523 "type" : "hexstr",
7524 "value" : "0x03"
7525 }
7526 }
7527 },
7528 "right" : {
7529 "type" : "hexstr",
7530 "value" : "0xff"
7531 }
7532 }
7533 }
7534 }
7535 ],
7536 "source_info" : {
7537 "filename" : "include/int/int_transit.p4",
7538 "line" : 98,
7539 "column" : 8,
7540 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
7541 }
7542 },
7543 {
7544 "op" : "assign",
7545 "parameters" : [
7546 {
7547 "type" : "field",
7548 "value" : ["userMetadata.int_meta", "new_bytes"]
7549 },
7550 {
7551 "type" : "expression",
7552 "value" : {
7553 "type" : "expression",
7554 "value" : {
7555 "op" : "&",
7556 "left" : {
7557 "type" : "expression",
7558 "value" : {
7559 "op" : "+",
7560 "left" : {
7561 "type" : "field",
7562 "value" : ["userMetadata.int_meta", "new_bytes"]
7563 },
7564 "right" : {
7565 "type" : "hexstr",
7566 "value" : "0x000c"
7567 }
7568 }
7569 },
7570 "right" : {
7571 "type" : "hexstr",
7572 "value" : "0xffff"
7573 }
7574 }
7575 }
7576 }
7577 ],
7578 "source_info" : {
7579 "filename" : "include/int/int_transit.p4",
7580 "line" : 99,
7581 "column" : 8,
7582 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
7583 }
7584 }
7585 ]
7586 },
7587 {
7588 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
7589 "id" : 94,
7590 "runtime_data" : [],
7591 "primitives" : [
7592 {
7593 "op" : "add_header",
7594 "parameters" : [
7595 {
7596 "type" : "header",
7597 "value" : "int_switch_id"
7598 }
7599 ],
7600 "source_info" : {
7601 "filename" : "include/int/int_transit.p4",
7602 "line" : 40,
7603 "column" : 8,
7604 "source_fragment" : "hdr.int_switch_id.setValid()"
7605 }
7606 },
7607 {
7608 "op" : "assign",
7609 "parameters" : [
7610 {
7611 "type" : "field",
7612 "value" : ["int_switch_id", "switch_id"]
7613 },
7614 {
7615 "type" : "field",
7616 "value" : ["userMetadata.int_meta", "switch_id"]
7617 }
7618 ],
7619 "source_info" : {
7620 "filename" : "include/int/int_transit.p4",
7621 "line" : 41,
7622 "column" : 8,
7623 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7624 }
7625 },
7626 {
7627 "op" : "assign",
7628 "parameters" : [
7629 {
7630 "type" : "field",
7631 "value" : ["userMetadata.int_meta", "new_words"]
7632 },
7633 {
7634 "type" : "expression",
7635 "value" : {
7636 "type" : "expression",
7637 "value" : {
7638 "op" : "&",
7639 "left" : {
7640 "type" : "expression",
7641 "value" : {
7642 "op" : "+",
7643 "left" : {
7644 "type" : "field",
7645 "value" : ["userMetadata.int_meta", "new_words"]
7646 },
7647 "right" : {
7648 "type" : "hexstr",
7649 "value" : "0x01"
7650 }
7651 }
7652 },
7653 "right" : {
7654 "type" : "hexstr",
7655 "value" : "0xff"
7656 }
7657 }
7658 }
7659 }
7660 ],
7661 "source_info" : {
7662 "filename" : "include/int/int_transit.p4",
7663 "line" : 88,
7664 "column" : 8,
7665 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
7666 }
7667 },
7668 {
7669 "op" : "assign",
7670 "parameters" : [
7671 {
7672 "type" : "field",
7673 "value" : ["userMetadata.int_meta", "new_bytes"]
7674 },
7675 {
7676 "type" : "expression",
7677 "value" : {
7678 "type" : "expression",
7679 "value" : {
7680 "op" : "&",
7681 "left" : {
7682 "type" : "expression",
7683 "value" : {
7684 "op" : "+",
7685 "left" : {
7686 "type" : "field",
7687 "value" : ["userMetadata.int_meta", "new_bytes"]
7688 },
7689 "right" : {
7690 "type" : "hexstr",
7691 "value" : "0x0004"
7692 }
7693 }
7694 },
7695 "right" : {
7696 "type" : "hexstr",
7697 "value" : "0xffff"
7698 }
7699 }
7700 }
7701 }
7702 ],
7703 "source_info" : {
7704 "filename" : "include/int/int_transit.p4",
7705 "line" : 89,
7706 "column" : 8,
7707 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
7708 }
7709 }
7710 ]
7711 },
7712 {
7713 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
7714 "id" : 95,
7715 "runtime_data" : [],
7716 "primitives" : [
7717 {
7718 "op" : "add_header",
7719 "parameters" : [
7720 {
7721 "type" : "header",
7722 "value" : "int_q_occupancy"
7723 }
7724 ],
7725 "source_info" : {
7726 "filename" : "include/int/int_transit.p4",
7727 "line" : 56,
7728 "column" : 8,
7729 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7730 }
7731 },
7732 {
7733 "op" : "assign",
7734 "parameters" : [
7735 {
7736 "type" : "field",
7737 "value" : ["int_q_occupancy", "q_id"]
7738 },
7739 {
7740 "type" : "hexstr",
7741 "value" : "0x00"
7742 }
7743 ],
7744 "source_info" : {
7745 "filename" : "include/int/int_transit.p4",
7746 "line" : 58,
7747 "column" : 8,
7748 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
7749 }
7750 },
7751 {
7752 "op" : "assign",
7753 "parameters" : [
7754 {
7755 "type" : "field",
7756 "value" : ["int_q_occupancy", "q_occupancy"]
7757 },
7758 {
7759 "type" : "expression",
7760 "value" : {
7761 "type" : "expression",
7762 "value" : {
7763 "op" : "&",
7764 "left" : {
7765 "type" : "field",
7766 "value" : ["standard_metadata", "deq_qdepth"]
7767 },
7768 "right" : {
7769 "type" : "hexstr",
7770 "value" : "0xffffff"
7771 }
7772 }
7773 }
7774 }
7775 ],
7776 "source_info" : {
7777 "filename" : "include/int/int_transit.p4",
7778 "line" : 59,
7779 "column" : 8,
7780 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
7781 }
7782 },
7783 {
7784 "op" : "add_header",
7785 "parameters" : [
7786 {
7787 "type" : "header",
7788 "value" : "int_switch_id"
7789 }
7790 ],
7791 "source_info" : {
7792 "filename" : "include/int/int_transit.p4",
7793 "line" : 40,
7794 "column" : 8,
7795 "source_fragment" : "hdr.int_switch_id.setValid()"
7796 }
7797 },
7798 {
7799 "op" : "assign",
7800 "parameters" : [
7801 {
7802 "type" : "field",
7803 "value" : ["int_switch_id", "switch_id"]
7804 },
7805 {
7806 "type" : "field",
7807 "value" : ["userMetadata.int_meta", "switch_id"]
7808 }
7809 ],
7810 "source_info" : {
7811 "filename" : "include/int/int_transit.p4",
7812 "line" : 41,
7813 "column" : 8,
7814 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7815 }
7816 },
7817 {
7818 "op" : "assign",
7819 "parameters" : [
7820 {
7821 "type" : "field",
7822 "value" : ["userMetadata.int_meta", "new_words"]
7823 },
7824 {
7825 "type" : "expression",
7826 "value" : {
7827 "type" : "expression",
7828 "value" : {
7829 "op" : "&",
7830 "left" : {
7831 "type" : "expression",
7832 "value" : {
7833 "op" : "+",
7834 "left" : {
7835 "type" : "field",
7836 "value" : ["userMetadata.int_meta", "new_words"]
7837 },
7838 "right" : {
7839 "type" : "hexstr",
7840 "value" : "0x02"
7841 }
7842 }
7843 },
7844 "right" : {
7845 "type" : "hexstr",
7846 "value" : "0xff"
7847 }
7848 }
7849 }
7850 }
7851 ],
7852 "source_info" : {
7853 "filename" : "include/int/int_transit.p4",
7854 "line" : 93,
7855 "column" : 8,
7856 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
7857 }
7858 },
7859 {
7860 "op" : "assign",
7861 "parameters" : [
7862 {
7863 "type" : "field",
7864 "value" : ["userMetadata.int_meta", "new_bytes"]
7865 },
7866 {
7867 "type" : "expression",
7868 "value" : {
7869 "type" : "expression",
7870 "value" : {
7871 "op" : "&",
7872 "left" : {
7873 "type" : "expression",
7874 "value" : {
7875 "op" : "+",
7876 "left" : {
7877 "type" : "field",
7878 "value" : ["userMetadata.int_meta", "new_bytes"]
7879 },
7880 "right" : {
7881 "type" : "hexstr",
7882 "value" : "0x0008"
7883 }
7884 }
7885 },
7886 "right" : {
7887 "type" : "hexstr",
7888 "value" : "0xffff"
7889 }
7890 }
7891 }
7892 }
7893 ],
7894 "source_info" : {
7895 "filename" : "include/int/int_transit.p4",
7896 "line" : 94,
7897 "column" : 8,
7898 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
7899 }
7900 }
7901 ]
7902 },
7903 {
7904 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
7905 "id" : 96,
7906 "runtime_data" : [],
7907 "primitives" : [
7908 {
7909 "op" : "add_header",
7910 "parameters" : [
7911 {
7912 "type" : "header",
7913 "value" : "int_hop_latency"
7914 }
7915 ],
7916 "source_info" : {
7917 "filename" : "include/int/int_transit.p4",
7918 "line" : 51,
7919 "column" : 8,
7920 "source_fragment" : "hdr.int_hop_latency.setValid()"
7921 }
7922 },
7923 {
7924 "op" : "assign",
7925 "parameters" : [
7926 {
7927 "type" : "field",
7928 "value" : ["int_hop_latency", "hop_latency"]
7929 },
7930 {
7931 "type" : "field",
7932 "value" : ["standard_metadata", "deq_timedelta"]
7933 }
7934 ],
7935 "source_info" : {
7936 "filename" : "include/int/int_transit.p4",
7937 "line" : 52,
7938 "column" : 8,
7939 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7940 }
7941 },
7942 {
7943 "op" : "add_header",
7944 "parameters" : [
7945 {
7946 "type" : "header",
7947 "value" : "int_switch_id"
7948 }
7949 ],
7950 "source_info" : {
7951 "filename" : "include/int/int_transit.p4",
7952 "line" : 40,
7953 "column" : 8,
7954 "source_fragment" : "hdr.int_switch_id.setValid()"
7955 }
7956 },
7957 {
7958 "op" : "assign",
7959 "parameters" : [
7960 {
7961 "type" : "field",
7962 "value" : ["int_switch_id", "switch_id"]
7963 },
7964 {
7965 "type" : "field",
7966 "value" : ["userMetadata.int_meta", "switch_id"]
7967 }
7968 ],
7969 "source_info" : {
7970 "filename" : "include/int/int_transit.p4",
7971 "line" : 41,
7972 "column" : 8,
7973 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7974 }
7975 },
7976 {
7977 "op" : "assign",
7978 "parameters" : [
7979 {
7980 "type" : "field",
7981 "value" : ["userMetadata.int_meta", "new_words"]
7982 },
7983 {
7984 "type" : "expression",
7985 "value" : {
7986 "type" : "expression",
7987 "value" : {
7988 "op" : "&",
7989 "left" : {
7990 "type" : "expression",
7991 "value" : {
7992 "op" : "+",
7993 "left" : {
7994 "type" : "field",
7995 "value" : ["userMetadata.int_meta", "new_words"]
7996 },
7997 "right" : {
7998 "type" : "hexstr",
7999 "value" : "0x02"
8000 }
8001 }
8002 },
8003 "right" : {
8004 "type" : "hexstr",
8005 "value" : "0xff"
8006 }
8007 }
8008 }
8009 }
8010 ],
8011 "source_info" : {
8012 "filename" : "include/int/int_transit.p4",
8013 "line" : 93,
8014 "column" : 8,
8015 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
8016 }
8017 },
8018 {
8019 "op" : "assign",
8020 "parameters" : [
8021 {
8022 "type" : "field",
8023 "value" : ["userMetadata.int_meta", "new_bytes"]
8024 },
8025 {
8026 "type" : "expression",
8027 "value" : {
8028 "type" : "expression",
8029 "value" : {
8030 "op" : "&",
8031 "left" : {
8032 "type" : "expression",
8033 "value" : {
8034 "op" : "+",
8035 "left" : {
8036 "type" : "field",
8037 "value" : ["userMetadata.int_meta", "new_bytes"]
8038 },
8039 "right" : {
8040 "type" : "hexstr",
8041 "value" : "0x0008"
8042 }
8043 }
8044 },
8045 "right" : {
8046 "type" : "hexstr",
8047 "value" : "0xffff"
8048 }
8049 }
8050 }
8051 }
8052 ],
8053 "source_info" : {
8054 "filename" : "include/int/int_transit.p4",
8055 "line" : 94,
8056 "column" : 8,
8057 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
8058 }
8059 }
8060 ]
8061 },
8062 {
8063 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
8064 "id" : 97,
8065 "runtime_data" : [],
8066 "primitives" : [
8067 {
8068 "op" : "add_header",
8069 "parameters" : [
8070 {
8071 "type" : "header",
8072 "value" : "int_q_occupancy"
8073 }
8074 ],
8075 "source_info" : {
8076 "filename" : "include/int/int_transit.p4",
8077 "line" : 56,
8078 "column" : 8,
8079 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8080 }
8081 },
8082 {
8083 "op" : "assign",
8084 "parameters" : [
8085 {
8086 "type" : "field",
8087 "value" : ["int_q_occupancy", "q_id"]
8088 },
8089 {
8090 "type" : "hexstr",
8091 "value" : "0x00"
8092 }
8093 ],
8094 "source_info" : {
8095 "filename" : "include/int/int_transit.p4",
8096 "line" : 58,
8097 "column" : 8,
8098 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
8099 }
8100 },
8101 {
8102 "op" : "assign",
8103 "parameters" : [
8104 {
8105 "type" : "field",
8106 "value" : ["int_q_occupancy", "q_occupancy"]
8107 },
8108 {
8109 "type" : "expression",
8110 "value" : {
8111 "type" : "expression",
8112 "value" : {
8113 "op" : "&",
8114 "left" : {
8115 "type" : "field",
8116 "value" : ["standard_metadata", "deq_qdepth"]
8117 },
8118 "right" : {
8119 "type" : "hexstr",
8120 "value" : "0xffffff"
8121 }
8122 }
8123 }
8124 }
8125 ],
8126 "source_info" : {
8127 "filename" : "include/int/int_transit.p4",
8128 "line" : 59,
8129 "column" : 8,
8130 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
8131 }
8132 },
8133 {
8134 "op" : "add_header",
8135 "parameters" : [
8136 {
8137 "type" : "header",
8138 "value" : "int_hop_latency"
8139 }
8140 ],
8141 "source_info" : {
8142 "filename" : "include/int/int_transit.p4",
8143 "line" : 51,
8144 "column" : 8,
8145 "source_fragment" : "hdr.int_hop_latency.setValid()"
8146 }
8147 },
8148 {
8149 "op" : "assign",
8150 "parameters" : [
8151 {
8152 "type" : "field",
8153 "value" : ["int_hop_latency", "hop_latency"]
8154 },
8155 {
8156 "type" : "field",
8157 "value" : ["standard_metadata", "deq_timedelta"]
8158 }
8159 ],
8160 "source_info" : {
8161 "filename" : "include/int/int_transit.p4",
8162 "line" : 52,
8163 "column" : 8,
8164 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
8165 }
8166 },
8167 {
8168 "op" : "add_header",
8169 "parameters" : [
8170 {
8171 "type" : "header",
8172 "value" : "int_switch_id"
8173 }
8174 ],
8175 "source_info" : {
8176 "filename" : "include/int/int_transit.p4",
8177 "line" : 40,
8178 "column" : 8,
8179 "source_fragment" : "hdr.int_switch_id.setValid()"
8180 }
8181 },
8182 {
8183 "op" : "assign",
8184 "parameters" : [
8185 {
8186 "type" : "field",
8187 "value" : ["int_switch_id", "switch_id"]
8188 },
8189 {
8190 "type" : "field",
8191 "value" : ["userMetadata.int_meta", "switch_id"]
8192 }
8193 ],
8194 "source_info" : {
8195 "filename" : "include/int/int_transit.p4",
8196 "line" : 41,
8197 "column" : 8,
8198 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8199 }
8200 },
8201 {
8202 "op" : "assign",
8203 "parameters" : [
8204 {
8205 "type" : "field",
8206 "value" : ["userMetadata.int_meta", "new_words"]
8207 },
8208 {
8209 "type" : "expression",
8210 "value" : {
8211 "type" : "expression",
8212 "value" : {
8213 "op" : "&",
8214 "left" : {
8215 "type" : "expression",
8216 "value" : {
8217 "op" : "+",
8218 "left" : {
8219 "type" : "field",
8220 "value" : ["userMetadata.int_meta", "new_words"]
8221 },
8222 "right" : {
8223 "type" : "hexstr",
8224 "value" : "0x03"
8225 }
8226 }
8227 },
8228 "right" : {
8229 "type" : "hexstr",
8230 "value" : "0xff"
8231 }
8232 }
8233 }
8234 }
8235 ],
8236 "source_info" : {
8237 "filename" : "include/int/int_transit.p4",
8238 "line" : 98,
8239 "column" : 8,
8240 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
8241 }
8242 },
8243 {
8244 "op" : "assign",
8245 "parameters" : [
8246 {
8247 "type" : "field",
8248 "value" : ["userMetadata.int_meta", "new_bytes"]
8249 },
8250 {
8251 "type" : "expression",
8252 "value" : {
8253 "type" : "expression",
8254 "value" : {
8255 "op" : "&",
8256 "left" : {
8257 "type" : "expression",
8258 "value" : {
8259 "op" : "+",
8260 "left" : {
8261 "type" : "field",
8262 "value" : ["userMetadata.int_meta", "new_bytes"]
8263 },
8264 "right" : {
8265 "type" : "hexstr",
8266 "value" : "0x000c"
8267 }
8268 }
8269 },
8270 "right" : {
8271 "type" : "hexstr",
8272 "value" : "0xffff"
8273 }
8274 }
8275 }
8276 }
8277 ],
8278 "source_info" : {
8279 "filename" : "include/int/int_transit.p4",
8280 "line" : 99,
8281 "column" : 8,
8282 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
8283 }
8284 }
8285 ]
8286 },
8287 {
8288 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
8289 "id" : 98,
8290 "runtime_data" : [],
8291 "primitives" : [
8292 {
8293 "op" : "add_header",
8294 "parameters" : [
8295 {
8296 "type" : "header",
8297 "value" : "int_port_ids"
8298 }
8299 ],
8300 "source_info" : {
8301 "filename" : "include/int/int_transit.p4",
8302 "line" : 45,
8303 "column" : 8,
8304 "source_fragment" : "hdr.int_port_ids.setValid()"
8305 }
8306 },
8307 {
8308 "op" : "assign",
8309 "parameters" : [
8310 {
8311 "type" : "field",
8312 "value" : ["int_port_ids", "ingress_port_id"]
8313 },
8314 {
8315 "type" : "expression",
8316 "value" : {
8317 "type" : "expression",
8318 "value" : {
8319 "op" : "&",
8320 "left" : {
8321 "type" : "field",
8322 "value" : ["standard_metadata", "ingress_port"]
8323 },
8324 "right" : {
8325 "type" : "hexstr",
8326 "value" : "0xffff"
8327 }
8328 }
8329 }
8330 }
8331 ],
8332 "source_info" : {
8333 "filename" : "include/int/int_transit.p4",
8334 "line" : 46,
8335 "column" : 8,
8336 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8337 }
8338 },
8339 {
8340 "op" : "assign",
8341 "parameters" : [
8342 {
8343 "type" : "field",
8344 "value" : ["int_port_ids", "egress_port_id"]
8345 },
8346 {
8347 "type" : "expression",
8348 "value" : {
8349 "type" : "expression",
8350 "value" : {
8351 "op" : "&",
8352 "left" : {
8353 "type" : "field",
8354 "value" : ["standard_metadata", "egress_port"]
8355 },
8356 "right" : {
8357 "type" : "hexstr",
8358 "value" : "0xffff"
8359 }
8360 }
8361 }
8362 }
8363 ],
8364 "source_info" : {
8365 "filename" : "include/int/int_transit.p4",
8366 "line" : 47,
8367 "column" : 8,
8368 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8369 }
8370 },
8371 {
8372 "op" : "add_header",
8373 "parameters" : [
8374 {
8375 "type" : "header",
8376 "value" : "int_switch_id"
8377 }
8378 ],
8379 "source_info" : {
8380 "filename" : "include/int/int_transit.p4",
8381 "line" : 40,
8382 "column" : 8,
8383 "source_fragment" : "hdr.int_switch_id.setValid()"
8384 }
8385 },
8386 {
8387 "op" : "assign",
8388 "parameters" : [
8389 {
8390 "type" : "field",
8391 "value" : ["int_switch_id", "switch_id"]
8392 },
8393 {
8394 "type" : "field",
8395 "value" : ["userMetadata.int_meta", "switch_id"]
8396 }
8397 ],
8398 "source_info" : {
8399 "filename" : "include/int/int_transit.p4",
8400 "line" : 41,
8401 "column" : 8,
8402 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8403 }
8404 },
8405 {
8406 "op" : "assign",
8407 "parameters" : [
8408 {
8409 "type" : "field",
8410 "value" : ["userMetadata.int_meta", "new_words"]
8411 },
8412 {
8413 "type" : "expression",
8414 "value" : {
8415 "type" : "expression",
8416 "value" : {
8417 "op" : "&",
8418 "left" : {
8419 "type" : "expression",
8420 "value" : {
8421 "op" : "+",
8422 "left" : {
8423 "type" : "field",
8424 "value" : ["userMetadata.int_meta", "new_words"]
8425 },
8426 "right" : {
8427 "type" : "hexstr",
8428 "value" : "0x02"
8429 }
8430 }
8431 },
8432 "right" : {
8433 "type" : "hexstr",
8434 "value" : "0xff"
8435 }
8436 }
8437 }
8438 }
8439 ],
8440 "source_info" : {
8441 "filename" : "include/int/int_transit.p4",
8442 "line" : 93,
8443 "column" : 8,
8444 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
8445 }
8446 },
8447 {
8448 "op" : "assign",
8449 "parameters" : [
8450 {
8451 "type" : "field",
8452 "value" : ["userMetadata.int_meta", "new_bytes"]
8453 },
8454 {
8455 "type" : "expression",
8456 "value" : {
8457 "type" : "expression",
8458 "value" : {
8459 "op" : "&",
8460 "left" : {
8461 "type" : "expression",
8462 "value" : {
8463 "op" : "+",
8464 "left" : {
8465 "type" : "field",
8466 "value" : ["userMetadata.int_meta", "new_bytes"]
8467 },
8468 "right" : {
8469 "type" : "hexstr",
8470 "value" : "0x0008"
8471 }
8472 }
8473 },
8474 "right" : {
8475 "type" : "hexstr",
8476 "value" : "0xffff"
8477 }
8478 }
8479 }
8480 }
8481 ],
8482 "source_info" : {
8483 "filename" : "include/int/int_transit.p4",
8484 "line" : 94,
8485 "column" : 8,
8486 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
8487 }
8488 }
8489 ]
8490 },
8491 {
8492 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
8493 "id" : 99,
8494 "runtime_data" : [],
8495 "primitives" : [
8496 {
8497 "op" : "add_header",
8498 "parameters" : [
8499 {
8500 "type" : "header",
8501 "value" : "int_q_occupancy"
8502 }
8503 ],
8504 "source_info" : {
8505 "filename" : "include/int/int_transit.p4",
8506 "line" : 56,
8507 "column" : 8,
8508 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8509 }
8510 },
8511 {
8512 "op" : "assign",
8513 "parameters" : [
8514 {
8515 "type" : "field",
8516 "value" : ["int_q_occupancy", "q_id"]
8517 },
8518 {
8519 "type" : "hexstr",
8520 "value" : "0x00"
8521 }
8522 ],
8523 "source_info" : {
8524 "filename" : "include/int/int_transit.p4",
8525 "line" : 58,
8526 "column" : 8,
8527 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
8528 }
8529 },
8530 {
8531 "op" : "assign",
8532 "parameters" : [
8533 {
8534 "type" : "field",
8535 "value" : ["int_q_occupancy", "q_occupancy"]
8536 },
8537 {
8538 "type" : "expression",
8539 "value" : {
8540 "type" : "expression",
8541 "value" : {
8542 "op" : "&",
8543 "left" : {
8544 "type" : "field",
8545 "value" : ["standard_metadata", "deq_qdepth"]
8546 },
8547 "right" : {
8548 "type" : "hexstr",
8549 "value" : "0xffffff"
8550 }
8551 }
8552 }
8553 }
8554 ],
8555 "source_info" : {
8556 "filename" : "include/int/int_transit.p4",
8557 "line" : 59,
8558 "column" : 8,
8559 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
8560 }
8561 },
8562 {
8563 "op" : "add_header",
8564 "parameters" : [
8565 {
8566 "type" : "header",
8567 "value" : "int_port_ids"
8568 }
8569 ],
8570 "source_info" : {
8571 "filename" : "include/int/int_transit.p4",
8572 "line" : 45,
8573 "column" : 8,
8574 "source_fragment" : "hdr.int_port_ids.setValid()"
8575 }
8576 },
8577 {
8578 "op" : "assign",
8579 "parameters" : [
8580 {
8581 "type" : "field",
8582 "value" : ["int_port_ids", "ingress_port_id"]
8583 },
8584 {
8585 "type" : "expression",
8586 "value" : {
8587 "type" : "expression",
8588 "value" : {
8589 "op" : "&",
8590 "left" : {
8591 "type" : "field",
8592 "value" : ["standard_metadata", "ingress_port"]
8593 },
8594 "right" : {
8595 "type" : "hexstr",
8596 "value" : "0xffff"
8597 }
8598 }
8599 }
8600 }
8601 ],
8602 "source_info" : {
8603 "filename" : "include/int/int_transit.p4",
8604 "line" : 46,
8605 "column" : 8,
8606 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8607 }
8608 },
8609 {
8610 "op" : "assign",
8611 "parameters" : [
8612 {
8613 "type" : "field",
8614 "value" : ["int_port_ids", "egress_port_id"]
8615 },
8616 {
8617 "type" : "expression",
8618 "value" : {
8619 "type" : "expression",
8620 "value" : {
8621 "op" : "&",
8622 "left" : {
8623 "type" : "field",
8624 "value" : ["standard_metadata", "egress_port"]
8625 },
8626 "right" : {
8627 "type" : "hexstr",
8628 "value" : "0xffff"
8629 }
8630 }
8631 }
8632 }
8633 ],
8634 "source_info" : {
8635 "filename" : "include/int/int_transit.p4",
8636 "line" : 47,
8637 "column" : 8,
8638 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8639 }
8640 },
8641 {
8642 "op" : "add_header",
8643 "parameters" : [
8644 {
8645 "type" : "header",
8646 "value" : "int_switch_id"
8647 }
8648 ],
8649 "source_info" : {
8650 "filename" : "include/int/int_transit.p4",
8651 "line" : 40,
8652 "column" : 8,
8653 "source_fragment" : "hdr.int_switch_id.setValid()"
8654 }
8655 },
8656 {
8657 "op" : "assign",
8658 "parameters" : [
8659 {
8660 "type" : "field",
8661 "value" : ["int_switch_id", "switch_id"]
8662 },
8663 {
8664 "type" : "field",
8665 "value" : ["userMetadata.int_meta", "switch_id"]
8666 }
8667 ],
8668 "source_info" : {
8669 "filename" : "include/int/int_transit.p4",
8670 "line" : 41,
8671 "column" : 8,
8672 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8673 }
8674 },
8675 {
8676 "op" : "assign",
8677 "parameters" : [
8678 {
8679 "type" : "field",
8680 "value" : ["userMetadata.int_meta", "new_words"]
8681 },
8682 {
8683 "type" : "expression",
8684 "value" : {
8685 "type" : "expression",
8686 "value" : {
8687 "op" : "&",
8688 "left" : {
8689 "type" : "expression",
8690 "value" : {
8691 "op" : "+",
8692 "left" : {
8693 "type" : "field",
8694 "value" : ["userMetadata.int_meta", "new_words"]
8695 },
8696 "right" : {
8697 "type" : "hexstr",
8698 "value" : "0x03"
8699 }
8700 }
8701 },
8702 "right" : {
8703 "type" : "hexstr",
8704 "value" : "0xff"
8705 }
8706 }
8707 }
8708 }
8709 ],
8710 "source_info" : {
8711 "filename" : "include/int/int_transit.p4",
8712 "line" : 98,
8713 "column" : 8,
8714 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
8715 }
8716 },
8717 {
8718 "op" : "assign",
8719 "parameters" : [
8720 {
8721 "type" : "field",
8722 "value" : ["userMetadata.int_meta", "new_bytes"]
8723 },
8724 {
8725 "type" : "expression",
8726 "value" : {
8727 "type" : "expression",
8728 "value" : {
8729 "op" : "&",
8730 "left" : {
8731 "type" : "expression",
8732 "value" : {
8733 "op" : "+",
8734 "left" : {
8735 "type" : "field",
8736 "value" : ["userMetadata.int_meta", "new_bytes"]
8737 },
8738 "right" : {
8739 "type" : "hexstr",
8740 "value" : "0x000c"
8741 }
8742 }
8743 },
8744 "right" : {
8745 "type" : "hexstr",
8746 "value" : "0xffff"
8747 }
8748 }
8749 }
8750 }
8751 ],
8752 "source_info" : {
8753 "filename" : "include/int/int_transit.p4",
8754 "line" : 99,
8755 "column" : 8,
8756 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
8757 }
8758 }
8759 ]
8760 },
8761 {
8762 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
8763 "id" : 100,
8764 "runtime_data" : [],
8765 "primitives" : [
8766 {
8767 "op" : "add_header",
8768 "parameters" : [
8769 {
8770 "type" : "header",
8771 "value" : "int_hop_latency"
8772 }
8773 ],
8774 "source_info" : {
8775 "filename" : "include/int/int_transit.p4",
8776 "line" : 51,
8777 "column" : 8,
8778 "source_fragment" : "hdr.int_hop_latency.setValid()"
8779 }
8780 },
8781 {
8782 "op" : "assign",
8783 "parameters" : [
8784 {
8785 "type" : "field",
8786 "value" : ["int_hop_latency", "hop_latency"]
8787 },
8788 {
8789 "type" : "field",
8790 "value" : ["standard_metadata", "deq_timedelta"]
8791 }
8792 ],
8793 "source_info" : {
8794 "filename" : "include/int/int_transit.p4",
8795 "line" : 52,
8796 "column" : 8,
8797 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
8798 }
8799 },
8800 {
8801 "op" : "add_header",
8802 "parameters" : [
8803 {
8804 "type" : "header",
8805 "value" : "int_port_ids"
8806 }
8807 ],
8808 "source_info" : {
8809 "filename" : "include/int/int_transit.p4",
8810 "line" : 45,
8811 "column" : 8,
8812 "source_fragment" : "hdr.int_port_ids.setValid()"
8813 }
8814 },
8815 {
8816 "op" : "assign",
8817 "parameters" : [
8818 {
8819 "type" : "field",
8820 "value" : ["int_port_ids", "ingress_port_id"]
8821 },
8822 {
8823 "type" : "expression",
8824 "value" : {
8825 "type" : "expression",
8826 "value" : {
8827 "op" : "&",
8828 "left" : {
8829 "type" : "field",
8830 "value" : ["standard_metadata", "ingress_port"]
8831 },
8832 "right" : {
8833 "type" : "hexstr",
8834 "value" : "0xffff"
8835 }
8836 }
8837 }
8838 }
8839 ],
8840 "source_info" : {
8841 "filename" : "include/int/int_transit.p4",
8842 "line" : 46,
8843 "column" : 8,
8844 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8845 }
8846 },
8847 {
8848 "op" : "assign",
8849 "parameters" : [
8850 {
8851 "type" : "field",
8852 "value" : ["int_port_ids", "egress_port_id"]
8853 },
8854 {
8855 "type" : "expression",
8856 "value" : {
8857 "type" : "expression",
8858 "value" : {
8859 "op" : "&",
8860 "left" : {
8861 "type" : "field",
8862 "value" : ["standard_metadata", "egress_port"]
8863 },
8864 "right" : {
8865 "type" : "hexstr",
8866 "value" : "0xffff"
8867 }
8868 }
8869 }
8870 }
8871 ],
8872 "source_info" : {
8873 "filename" : "include/int/int_transit.p4",
8874 "line" : 47,
8875 "column" : 8,
8876 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8877 }
8878 },
8879 {
8880 "op" : "add_header",
8881 "parameters" : [
8882 {
8883 "type" : "header",
8884 "value" : "int_switch_id"
8885 }
8886 ],
8887 "source_info" : {
8888 "filename" : "include/int/int_transit.p4",
8889 "line" : 40,
8890 "column" : 8,
8891 "source_fragment" : "hdr.int_switch_id.setValid()"
8892 }
8893 },
8894 {
8895 "op" : "assign",
8896 "parameters" : [
8897 {
8898 "type" : "field",
8899 "value" : ["int_switch_id", "switch_id"]
8900 },
8901 {
8902 "type" : "field",
8903 "value" : ["userMetadata.int_meta", "switch_id"]
8904 }
8905 ],
8906 "source_info" : {
8907 "filename" : "include/int/int_transit.p4",
8908 "line" : 41,
8909 "column" : 8,
8910 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8911 }
8912 },
8913 {
8914 "op" : "assign",
8915 "parameters" : [
8916 {
8917 "type" : "field",
8918 "value" : ["userMetadata.int_meta", "new_words"]
8919 },
8920 {
8921 "type" : "expression",
8922 "value" : {
8923 "type" : "expression",
8924 "value" : {
8925 "op" : "&",
8926 "left" : {
8927 "type" : "expression",
8928 "value" : {
8929 "op" : "+",
8930 "left" : {
8931 "type" : "field",
8932 "value" : ["userMetadata.int_meta", "new_words"]
8933 },
8934 "right" : {
8935 "type" : "hexstr",
8936 "value" : "0x03"
8937 }
8938 }
8939 },
8940 "right" : {
8941 "type" : "hexstr",
8942 "value" : "0xff"
8943 }
8944 }
8945 }
8946 }
8947 ],
8948 "source_info" : {
8949 "filename" : "include/int/int_transit.p4",
8950 "line" : 98,
8951 "column" : 8,
8952 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
8953 }
8954 },
8955 {
8956 "op" : "assign",
8957 "parameters" : [
8958 {
8959 "type" : "field",
8960 "value" : ["userMetadata.int_meta", "new_bytes"]
8961 },
8962 {
8963 "type" : "expression",
8964 "value" : {
8965 "type" : "expression",
8966 "value" : {
8967 "op" : "&",
8968 "left" : {
8969 "type" : "expression",
8970 "value" : {
8971 "op" : "+",
8972 "left" : {
8973 "type" : "field",
8974 "value" : ["userMetadata.int_meta", "new_bytes"]
8975 },
8976 "right" : {
8977 "type" : "hexstr",
8978 "value" : "0x000c"
8979 }
8980 }
8981 },
8982 "right" : {
8983 "type" : "hexstr",
8984 "value" : "0xffff"
8985 }
8986 }
8987 }
8988 }
8989 ],
8990 "source_info" : {
8991 "filename" : "include/int/int_transit.p4",
8992 "line" : 99,
8993 "column" : 8,
8994 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
8995 }
8996 }
8997 ]
8998 },
8999 {
9000 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
9001 "id" : 101,
9002 "runtime_data" : [],
9003 "primitives" : [
9004 {
9005 "op" : "add_header",
9006 "parameters" : [
9007 {
9008 "type" : "header",
9009 "value" : "int_q_occupancy"
9010 }
9011 ],
9012 "source_info" : {
9013 "filename" : "include/int/int_transit.p4",
9014 "line" : 56,
9015 "column" : 8,
9016 "source_fragment" : "hdr.int_q_occupancy.setValid()"
9017 }
9018 },
9019 {
9020 "op" : "assign",
9021 "parameters" : [
9022 {
9023 "type" : "field",
9024 "value" : ["int_q_occupancy", "q_id"]
9025 },
9026 {
9027 "type" : "hexstr",
9028 "value" : "0x00"
9029 }
9030 ],
9031 "source_info" : {
9032 "filename" : "include/int/int_transit.p4",
9033 "line" : 58,
9034 "column" : 8,
9035 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
9036 }
9037 },
9038 {
9039 "op" : "assign",
9040 "parameters" : [
9041 {
9042 "type" : "field",
9043 "value" : ["int_q_occupancy", "q_occupancy"]
9044 },
9045 {
9046 "type" : "expression",
9047 "value" : {
9048 "type" : "expression",
9049 "value" : {
9050 "op" : "&",
9051 "left" : {
9052 "type" : "field",
9053 "value" : ["standard_metadata", "deq_qdepth"]
9054 },
9055 "right" : {
9056 "type" : "hexstr",
9057 "value" : "0xffffff"
9058 }
9059 }
9060 }
9061 }
9062 ],
9063 "source_info" : {
9064 "filename" : "include/int/int_transit.p4",
9065 "line" : 59,
9066 "column" : 8,
9067 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
9068 }
9069 },
9070 {
9071 "op" : "add_header",
9072 "parameters" : [
9073 {
9074 "type" : "header",
9075 "value" : "int_hop_latency"
9076 }
9077 ],
9078 "source_info" : {
9079 "filename" : "include/int/int_transit.p4",
9080 "line" : 51,
9081 "column" : 8,
9082 "source_fragment" : "hdr.int_hop_latency.setValid()"
9083 }
9084 },
9085 {
9086 "op" : "assign",
9087 "parameters" : [
9088 {
9089 "type" : "field",
9090 "value" : ["int_hop_latency", "hop_latency"]
9091 },
9092 {
9093 "type" : "field",
9094 "value" : ["standard_metadata", "deq_timedelta"]
9095 }
9096 ],
9097 "source_info" : {
9098 "filename" : "include/int/int_transit.p4",
9099 "line" : 52,
9100 "column" : 8,
9101 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
9102 }
9103 },
9104 {
9105 "op" : "add_header",
9106 "parameters" : [
9107 {
9108 "type" : "header",
9109 "value" : "int_port_ids"
9110 }
9111 ],
9112 "source_info" : {
9113 "filename" : "include/int/int_transit.p4",
9114 "line" : 45,
9115 "column" : 8,
9116 "source_fragment" : "hdr.int_port_ids.setValid()"
9117 }
9118 },
9119 {
9120 "op" : "assign",
9121 "parameters" : [
9122 {
9123 "type" : "field",
9124 "value" : ["int_port_ids", "ingress_port_id"]
9125 },
9126 {
9127 "type" : "expression",
9128 "value" : {
9129 "type" : "expression",
9130 "value" : {
9131 "op" : "&",
9132 "left" : {
9133 "type" : "field",
9134 "value" : ["standard_metadata", "ingress_port"]
9135 },
9136 "right" : {
9137 "type" : "hexstr",
9138 "value" : "0xffff"
9139 }
9140 }
9141 }
9142 }
9143 ],
9144 "source_info" : {
9145 "filename" : "include/int/int_transit.p4",
9146 "line" : 46,
9147 "column" : 8,
9148 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
9149 }
9150 },
9151 {
9152 "op" : "assign",
9153 "parameters" : [
9154 {
9155 "type" : "field",
9156 "value" : ["int_port_ids", "egress_port_id"]
9157 },
9158 {
9159 "type" : "expression",
9160 "value" : {
9161 "type" : "expression",
9162 "value" : {
9163 "op" : "&",
9164 "left" : {
9165 "type" : "field",
9166 "value" : ["standard_metadata", "egress_port"]
9167 },
9168 "right" : {
9169 "type" : "hexstr",
9170 "value" : "0xffff"
9171 }
9172 }
9173 }
9174 }
9175 ],
9176 "source_info" : {
9177 "filename" : "include/int/int_transit.p4",
9178 "line" : 47,
9179 "column" : 8,
9180 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
9181 }
9182 },
9183 {
9184 "op" : "add_header",
9185 "parameters" : [
9186 {
9187 "type" : "header",
9188 "value" : "int_switch_id"
9189 }
9190 ],
9191 "source_info" : {
9192 "filename" : "include/int/int_transit.p4",
9193 "line" : 40,
9194 "column" : 8,
9195 "source_fragment" : "hdr.int_switch_id.setValid()"
9196 }
9197 },
9198 {
9199 "op" : "assign",
9200 "parameters" : [
9201 {
9202 "type" : "field",
9203 "value" : ["int_switch_id", "switch_id"]
9204 },
9205 {
9206 "type" : "field",
9207 "value" : ["userMetadata.int_meta", "switch_id"]
9208 }
9209 ],
9210 "source_info" : {
9211 "filename" : "include/int/int_transit.p4",
9212 "line" : 41,
9213 "column" : 8,
9214 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
9215 }
9216 },
9217 {
9218 "op" : "assign",
9219 "parameters" : [
9220 {
9221 "type" : "field",
9222 "value" : ["userMetadata.int_meta", "new_words"]
9223 },
9224 {
9225 "type" : "expression",
9226 "value" : {
9227 "type" : "expression",
9228 "value" : {
9229 "op" : "&",
9230 "left" : {
9231 "type" : "expression",
9232 "value" : {
9233 "op" : "+",
9234 "left" : {
9235 "type" : "field",
9236 "value" : ["userMetadata.int_meta", "new_words"]
9237 },
9238 "right" : {
9239 "type" : "hexstr",
9240 "value" : "0x04"
9241 }
9242 }
9243 },
9244 "right" : {
9245 "type" : "hexstr",
9246 "value" : "0xff"
9247 }
9248 }
9249 }
9250 }
9251 ],
9252 "source_info" : {
9253 "filename" : "include/int/int_transit.p4",
9254 "line" : 103,
9255 "column" : 8,
9256 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
9257 }
9258 },
9259 {
9260 "op" : "assign",
9261 "parameters" : [
9262 {
9263 "type" : "field",
9264 "value" : ["userMetadata.int_meta", "new_bytes"]
9265 },
9266 {
9267 "type" : "expression",
9268 "value" : {
9269 "type" : "expression",
9270 "value" : {
9271 "op" : "&",
9272 "left" : {
9273 "type" : "expression",
9274 "value" : {
9275 "op" : "+",
9276 "left" : {
9277 "type" : "field",
9278 "value" : ["userMetadata.int_meta", "new_bytes"]
9279 },
9280 "right" : {
9281 "type" : "hexstr",
9282 "value" : "0x0010"
9283 }
9284 }
9285 },
9286 "right" : {
9287 "type" : "hexstr",
9288 "value" : "0xffff"
9289 }
9290 }
9291 }
9292 }
9293 ],
9294 "source_info" : {
9295 "filename" : "include/int/int_transit.p4",
9296 "line" : 104,
9297 "column" : 8,
9298 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
9299 }
9300 }
9301 ]
9302 },
9303 {
9304 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
9305 "id" : 102,
9306 "runtime_data" : [],
9307 "primitives" : []
9308 },
9309 {
9310 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
9311 "id" : 103,
9312 "runtime_data" : [],
9313 "primitives" : [
9314 {
9315 "op" : "add_header",
9316 "parameters" : [
9317 {
9318 "type" : "header",
9319 "value" : "int_egress_tx_util"
9320 }
9321 ],
9322 "source_info" : {
9323 "filename" : "include/int/int_transit.p4",
9324 "line" : 80,
9325 "column" : 8,
9326 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9327 }
9328 },
9329 {
9330 "op" : "assign",
9331 "parameters" : [
9332 {
9333 "type" : "field",
9334 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9335 },
9336 {
9337 "type" : "hexstr",
9338 "value" : "0x00000000"
9339 }
9340 ],
9341 "source_info" : {
9342 "filename" : "include/int/int_transit.p4",
9343 "line" : 82,
9344 "column" : 8,
9345 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9346 }
9347 },
9348 {
9349 "op" : "assign",
9350 "parameters" : [
9351 {
9352 "type" : "field",
9353 "value" : ["userMetadata.int_meta", "new_words"]
9354 },
9355 {
9356 "type" : "expression",
9357 "value" : {
9358 "type" : "expression",
9359 "value" : {
9360 "op" : "&",
9361 "left" : {
9362 "type" : "expression",
9363 "value" : {
9364 "op" : "+",
9365 "left" : {
9366 "type" : "field",
9367 "value" : ["userMetadata.int_meta", "new_words"]
9368 },
9369 "right" : {
9370 "type" : "hexstr",
9371 "value" : "0x01"
9372 }
9373 }
9374 },
9375 "right" : {
9376 "type" : "hexstr",
9377 "value" : "0xff"
9378 }
9379 }
9380 }
9381 }
9382 ],
9383 "source_info" : {
9384 "filename" : "include/int/int_transit.p4",
9385 "line" : 88,
9386 "column" : 8,
9387 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
9388 }
9389 },
9390 {
9391 "op" : "assign",
9392 "parameters" : [
9393 {
9394 "type" : "field",
9395 "value" : ["userMetadata.int_meta", "new_bytes"]
9396 },
9397 {
9398 "type" : "expression",
9399 "value" : {
9400 "type" : "expression",
9401 "value" : {
9402 "op" : "&",
9403 "left" : {
9404 "type" : "expression",
9405 "value" : {
9406 "op" : "+",
9407 "left" : {
9408 "type" : "field",
9409 "value" : ["userMetadata.int_meta", "new_bytes"]
9410 },
9411 "right" : {
9412 "type" : "hexstr",
9413 "value" : "0x0004"
9414 }
9415 }
9416 },
9417 "right" : {
9418 "type" : "hexstr",
9419 "value" : "0xffff"
9420 }
9421 }
9422 }
9423 }
9424 ],
9425 "source_info" : {
9426 "filename" : "include/int/int_transit.p4",
9427 "line" : 89,
9428 "column" : 8,
9429 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9430 }
9431 }
9432 ]
9433 },
9434 {
9435 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
9436 "id" : 104,
9437 "runtime_data" : [],
9438 "primitives" : [
9439 {
9440 "op" : "add_header",
9441 "parameters" : [
9442 {
9443 "type" : "header",
9444 "value" : "int_q_congestion"
9445 }
9446 ],
9447 "source_info" : {
9448 "filename" : "include/int/int_transit.p4",
9449 "line" : 73,
9450 "column" : 8,
9451 "source_fragment" : "hdr.int_q_congestion.setValid()"
9452 }
9453 },
9454 {
9455 "op" : "assign",
9456 "parameters" : [
9457 {
9458 "type" : "field",
9459 "value" : ["int_q_congestion", "q_id"]
9460 },
9461 {
9462 "type" : "hexstr",
9463 "value" : "0x00"
9464 }
9465 ],
9466 "source_info" : {
9467 "filename" : "include/int/int_transit.p4",
9468 "line" : 75,
9469 "column" : 8,
9470 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9471 }
9472 },
9473 {
9474 "op" : "assign",
9475 "parameters" : [
9476 {
9477 "type" : "field",
9478 "value" : ["int_q_congestion", "q_congestion"]
9479 },
9480 {
9481 "type" : "hexstr",
9482 "value" : "0x000000"
9483 }
9484 ],
9485 "source_info" : {
9486 "filename" : "include/int/int_transit.p4",
9487 "line" : 76,
9488 "column" : 8,
9489 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9490 }
9491 },
9492 {
9493 "op" : "assign",
9494 "parameters" : [
9495 {
9496 "type" : "field",
9497 "value" : ["userMetadata.int_meta", "new_words"]
9498 },
9499 {
9500 "type" : "expression",
9501 "value" : {
9502 "type" : "expression",
9503 "value" : {
9504 "op" : "&",
9505 "left" : {
9506 "type" : "expression",
9507 "value" : {
9508 "op" : "+",
9509 "left" : {
9510 "type" : "field",
9511 "value" : ["userMetadata.int_meta", "new_words"]
9512 },
9513 "right" : {
9514 "type" : "hexstr",
9515 "value" : "0x01"
9516 }
9517 }
9518 },
9519 "right" : {
9520 "type" : "hexstr",
9521 "value" : "0xff"
9522 }
9523 }
9524 }
9525 }
9526 ],
9527 "source_info" : {
9528 "filename" : "include/int/int_transit.p4",
9529 "line" : 88,
9530 "column" : 8,
9531 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
9532 }
9533 },
9534 {
9535 "op" : "assign",
9536 "parameters" : [
9537 {
9538 "type" : "field",
9539 "value" : ["userMetadata.int_meta", "new_bytes"]
9540 },
9541 {
9542 "type" : "expression",
9543 "value" : {
9544 "type" : "expression",
9545 "value" : {
9546 "op" : "&",
9547 "left" : {
9548 "type" : "expression",
9549 "value" : {
9550 "op" : "+",
9551 "left" : {
9552 "type" : "field",
9553 "value" : ["userMetadata.int_meta", "new_bytes"]
9554 },
9555 "right" : {
9556 "type" : "hexstr",
9557 "value" : "0x0004"
9558 }
9559 }
9560 },
9561 "right" : {
9562 "type" : "hexstr",
9563 "value" : "0xffff"
9564 }
9565 }
9566 }
9567 }
9568 ],
9569 "source_info" : {
9570 "filename" : "include/int/int_transit.p4",
9571 "line" : 89,
9572 "column" : 8,
9573 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9574 }
9575 }
9576 ]
9577 },
9578 {
9579 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
9580 "id" : 105,
9581 "runtime_data" : [],
9582 "primitives" : [
9583 {
9584 "op" : "add_header",
9585 "parameters" : [
9586 {
9587 "type" : "header",
9588 "value" : "int_egress_tx_util"
9589 }
9590 ],
9591 "source_info" : {
9592 "filename" : "include/int/int_transit.p4",
9593 "line" : 80,
9594 "column" : 8,
9595 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9596 }
9597 },
9598 {
9599 "op" : "assign",
9600 "parameters" : [
9601 {
9602 "type" : "field",
9603 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9604 },
9605 {
9606 "type" : "hexstr",
9607 "value" : "0x00000000"
9608 }
9609 ],
9610 "source_info" : {
9611 "filename" : "include/int/int_transit.p4",
9612 "line" : 82,
9613 "column" : 8,
9614 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9615 }
9616 },
9617 {
9618 "op" : "add_header",
9619 "parameters" : [
9620 {
9621 "type" : "header",
9622 "value" : "int_q_congestion"
9623 }
9624 ],
9625 "source_info" : {
9626 "filename" : "include/int/int_transit.p4",
9627 "line" : 73,
9628 "column" : 8,
9629 "source_fragment" : "hdr.int_q_congestion.setValid()"
9630 }
9631 },
9632 {
9633 "op" : "assign",
9634 "parameters" : [
9635 {
9636 "type" : "field",
9637 "value" : ["int_q_congestion", "q_id"]
9638 },
9639 {
9640 "type" : "hexstr",
9641 "value" : "0x00"
9642 }
9643 ],
9644 "source_info" : {
9645 "filename" : "include/int/int_transit.p4",
9646 "line" : 75,
9647 "column" : 8,
9648 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9649 }
9650 },
9651 {
9652 "op" : "assign",
9653 "parameters" : [
9654 {
9655 "type" : "field",
9656 "value" : ["int_q_congestion", "q_congestion"]
9657 },
9658 {
9659 "type" : "hexstr",
9660 "value" : "0x000000"
9661 }
9662 ],
9663 "source_info" : {
9664 "filename" : "include/int/int_transit.p4",
9665 "line" : 76,
9666 "column" : 8,
9667 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9668 }
9669 },
9670 {
9671 "op" : "assign",
9672 "parameters" : [
9673 {
9674 "type" : "field",
9675 "value" : ["userMetadata.int_meta", "new_words"]
9676 },
9677 {
9678 "type" : "expression",
9679 "value" : {
9680 "type" : "expression",
9681 "value" : {
9682 "op" : "&",
9683 "left" : {
9684 "type" : "expression",
9685 "value" : {
9686 "op" : "+",
9687 "left" : {
9688 "type" : "field",
9689 "value" : ["userMetadata.int_meta", "new_words"]
9690 },
9691 "right" : {
9692 "type" : "hexstr",
9693 "value" : "0x02"
9694 }
9695 }
9696 },
9697 "right" : {
9698 "type" : "hexstr",
9699 "value" : "0xff"
9700 }
9701 }
9702 }
9703 }
9704 ],
9705 "source_info" : {
9706 "filename" : "include/int/int_transit.p4",
9707 "line" : 93,
9708 "column" : 8,
9709 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
9710 }
9711 },
9712 {
9713 "op" : "assign",
9714 "parameters" : [
9715 {
9716 "type" : "field",
9717 "value" : ["userMetadata.int_meta", "new_bytes"]
9718 },
9719 {
9720 "type" : "expression",
9721 "value" : {
9722 "type" : "expression",
9723 "value" : {
9724 "op" : "&",
9725 "left" : {
9726 "type" : "expression",
9727 "value" : {
9728 "op" : "+",
9729 "left" : {
9730 "type" : "field",
9731 "value" : ["userMetadata.int_meta", "new_bytes"]
9732 },
9733 "right" : {
9734 "type" : "hexstr",
9735 "value" : "0x0008"
9736 }
9737 }
9738 },
9739 "right" : {
9740 "type" : "hexstr",
9741 "value" : "0xffff"
9742 }
9743 }
9744 }
9745 }
9746 ],
9747 "source_info" : {
9748 "filename" : "include/int/int_transit.p4",
9749 "line" : 94,
9750 "column" : 8,
9751 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
9752 }
9753 }
9754 ]
9755 },
9756 {
9757 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
9758 "id" : 106,
9759 "runtime_data" : [],
9760 "primitives" : [
9761 {
9762 "op" : "add_header",
9763 "parameters" : [
9764 {
9765 "type" : "header",
9766 "value" : "int_egress_tstamp"
9767 }
9768 ],
9769 "source_info" : {
9770 "filename" : "include/int/int_transit.p4",
9771 "line" : 68,
9772 "column" : 8,
9773 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9774 }
9775 },
9776 {
9777 "op" : "assign",
9778 "parameters" : [
9779 {
9780 "type" : "field",
9781 "value" : ["int_egress_tstamp", "egress_tstamp"]
9782 },
9783 {
9784 "type" : "expression",
9785 "value" : {
9786 "type" : "expression",
9787 "value" : {
9788 "op" : "&",
9789 "left" : {
9790 "type" : "expression",
9791 "value" : {
9792 "op" : "+",
9793 "left" : {
9794 "type" : "field",
9795 "value" : ["standard_metadata", "enq_timestamp"]
9796 },
9797 "right" : {
9798 "type" : "field",
9799 "value" : ["standard_metadata", "deq_timedelta"]
9800 }
9801 }
9802 },
9803 "right" : {
9804 "type" : "hexstr",
9805 "value" : "0xffffffff"
9806 }
9807 }
9808 }
9809 }
9810 ],
9811 "source_info" : {
9812 "filename" : "include/int/int_transit.p4",
9813 "line" : 69,
9814 "column" : 8,
9815 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
9816 }
9817 },
9818 {
9819 "op" : "assign",
9820 "parameters" : [
9821 {
9822 "type" : "field",
9823 "value" : ["userMetadata.int_meta", "new_words"]
9824 },
9825 {
9826 "type" : "expression",
9827 "value" : {
9828 "type" : "expression",
9829 "value" : {
9830 "op" : "&",
9831 "left" : {
9832 "type" : "expression",
9833 "value" : {
9834 "op" : "+",
9835 "left" : {
9836 "type" : "field",
9837 "value" : ["userMetadata.int_meta", "new_words"]
9838 },
9839 "right" : {
9840 "type" : "hexstr",
9841 "value" : "0x01"
9842 }
9843 }
9844 },
9845 "right" : {
9846 "type" : "hexstr",
9847 "value" : "0xff"
9848 }
9849 }
9850 }
9851 }
9852 ],
9853 "source_info" : {
9854 "filename" : "include/int/int_transit.p4",
9855 "line" : 88,
9856 "column" : 8,
9857 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
9858 }
9859 },
9860 {
9861 "op" : "assign",
9862 "parameters" : [
9863 {
9864 "type" : "field",
9865 "value" : ["userMetadata.int_meta", "new_bytes"]
9866 },
9867 {
9868 "type" : "expression",
9869 "value" : {
9870 "type" : "expression",
9871 "value" : {
9872 "op" : "&",
9873 "left" : {
9874 "type" : "expression",
9875 "value" : {
9876 "op" : "+",
9877 "left" : {
9878 "type" : "field",
9879 "value" : ["userMetadata.int_meta", "new_bytes"]
9880 },
9881 "right" : {
9882 "type" : "hexstr",
9883 "value" : "0x0004"
9884 }
9885 }
9886 },
9887 "right" : {
9888 "type" : "hexstr",
9889 "value" : "0xffff"
9890 }
9891 }
9892 }
9893 }
9894 ],
9895 "source_info" : {
9896 "filename" : "include/int/int_transit.p4",
9897 "line" : 89,
9898 "column" : 8,
9899 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9900 }
9901 }
9902 ]
9903 },
9904 {
9905 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
9906 "id" : 107,
9907 "runtime_data" : [],
9908 "primitives" : [
9909 {
9910 "op" : "add_header",
9911 "parameters" : [
9912 {
9913 "type" : "header",
9914 "value" : "int_egress_tx_util"
9915 }
9916 ],
9917 "source_info" : {
9918 "filename" : "include/int/int_transit.p4",
9919 "line" : 80,
9920 "column" : 8,
9921 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9922 }
9923 },
9924 {
9925 "op" : "assign",
9926 "parameters" : [
9927 {
9928 "type" : "field",
9929 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9930 },
9931 {
9932 "type" : "hexstr",
9933 "value" : "0x00000000"
9934 }
9935 ],
9936 "source_info" : {
9937 "filename" : "include/int/int_transit.p4",
9938 "line" : 82,
9939 "column" : 8,
9940 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9941 }
9942 },
9943 {
9944 "op" : "add_header",
9945 "parameters" : [
9946 {
9947 "type" : "header",
9948 "value" : "int_egress_tstamp"
9949 }
9950 ],
9951 "source_info" : {
9952 "filename" : "include/int/int_transit.p4",
9953 "line" : 68,
9954 "column" : 8,
9955 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9956 }
9957 },
9958 {
9959 "op" : "assign",
9960 "parameters" : [
9961 {
9962 "type" : "field",
9963 "value" : ["int_egress_tstamp", "egress_tstamp"]
9964 },
9965 {
9966 "type" : "expression",
9967 "value" : {
9968 "type" : "expression",
9969 "value" : {
9970 "op" : "&",
9971 "left" : {
9972 "type" : "expression",
9973 "value" : {
9974 "op" : "+",
9975 "left" : {
9976 "type" : "field",
9977 "value" : ["standard_metadata", "enq_timestamp"]
9978 },
9979 "right" : {
9980 "type" : "field",
9981 "value" : ["standard_metadata", "deq_timedelta"]
9982 }
9983 }
9984 },
9985 "right" : {
9986 "type" : "hexstr",
9987 "value" : "0xffffffff"
9988 }
9989 }
9990 }
9991 }
9992 ],
9993 "source_info" : {
9994 "filename" : "include/int/int_transit.p4",
9995 "line" : 69,
9996 "column" : 8,
9997 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
9998 }
9999 },
10000 {
10001 "op" : "assign",
10002 "parameters" : [
10003 {
10004 "type" : "field",
10005 "value" : ["userMetadata.int_meta", "new_words"]
10006 },
10007 {
10008 "type" : "expression",
10009 "value" : {
10010 "type" : "expression",
10011 "value" : {
10012 "op" : "&",
10013 "left" : {
10014 "type" : "expression",
10015 "value" : {
10016 "op" : "+",
10017 "left" : {
10018 "type" : "field",
10019 "value" : ["userMetadata.int_meta", "new_words"]
10020 },
10021 "right" : {
10022 "type" : "hexstr",
10023 "value" : "0x02"
10024 }
10025 }
10026 },
10027 "right" : {
10028 "type" : "hexstr",
10029 "value" : "0xff"
10030 }
10031 }
10032 }
10033 }
10034 ],
10035 "source_info" : {
10036 "filename" : "include/int/int_transit.p4",
10037 "line" : 93,
10038 "column" : 8,
10039 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10040 }
10041 },
10042 {
10043 "op" : "assign",
10044 "parameters" : [
10045 {
10046 "type" : "field",
10047 "value" : ["userMetadata.int_meta", "new_bytes"]
10048 },
10049 {
10050 "type" : "expression",
10051 "value" : {
10052 "type" : "expression",
10053 "value" : {
10054 "op" : "&",
10055 "left" : {
10056 "type" : "expression",
10057 "value" : {
10058 "op" : "+",
10059 "left" : {
10060 "type" : "field",
10061 "value" : ["userMetadata.int_meta", "new_bytes"]
10062 },
10063 "right" : {
10064 "type" : "hexstr",
10065 "value" : "0x0008"
10066 }
10067 }
10068 },
10069 "right" : {
10070 "type" : "hexstr",
10071 "value" : "0xffff"
10072 }
10073 }
10074 }
10075 }
10076 ],
10077 "source_info" : {
10078 "filename" : "include/int/int_transit.p4",
10079 "line" : 94,
10080 "column" : 8,
10081 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10082 }
10083 }
10084 ]
10085 },
10086 {
10087 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
10088 "id" : 108,
10089 "runtime_data" : [],
10090 "primitives" : [
10091 {
10092 "op" : "add_header",
10093 "parameters" : [
10094 {
10095 "type" : "header",
10096 "value" : "int_q_congestion"
10097 }
10098 ],
10099 "source_info" : {
10100 "filename" : "include/int/int_transit.p4",
10101 "line" : 73,
10102 "column" : 8,
10103 "source_fragment" : "hdr.int_q_congestion.setValid()"
10104 }
10105 },
10106 {
10107 "op" : "assign",
10108 "parameters" : [
10109 {
10110 "type" : "field",
10111 "value" : ["int_q_congestion", "q_id"]
10112 },
10113 {
10114 "type" : "hexstr",
10115 "value" : "0x00"
10116 }
10117 ],
10118 "source_info" : {
10119 "filename" : "include/int/int_transit.p4",
10120 "line" : 75,
10121 "column" : 8,
10122 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
10123 }
10124 },
10125 {
10126 "op" : "assign",
10127 "parameters" : [
10128 {
10129 "type" : "field",
10130 "value" : ["int_q_congestion", "q_congestion"]
10131 },
10132 {
10133 "type" : "hexstr",
10134 "value" : "0x000000"
10135 }
10136 ],
10137 "source_info" : {
10138 "filename" : "include/int/int_transit.p4",
10139 "line" : 76,
10140 "column" : 8,
10141 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
10142 }
10143 },
10144 {
10145 "op" : "add_header",
10146 "parameters" : [
10147 {
10148 "type" : "header",
10149 "value" : "int_egress_tstamp"
10150 }
10151 ],
10152 "source_info" : {
10153 "filename" : "include/int/int_transit.p4",
10154 "line" : 68,
10155 "column" : 8,
10156 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
10157 }
10158 },
10159 {
10160 "op" : "assign",
10161 "parameters" : [
10162 {
10163 "type" : "field",
10164 "value" : ["int_egress_tstamp", "egress_tstamp"]
10165 },
10166 {
10167 "type" : "expression",
10168 "value" : {
10169 "type" : "expression",
10170 "value" : {
10171 "op" : "&",
10172 "left" : {
10173 "type" : "expression",
10174 "value" : {
10175 "op" : "+",
10176 "left" : {
10177 "type" : "field",
10178 "value" : ["standard_metadata", "enq_timestamp"]
10179 },
10180 "right" : {
10181 "type" : "field",
10182 "value" : ["standard_metadata", "deq_timedelta"]
10183 }
10184 }
10185 },
10186 "right" : {
10187 "type" : "hexstr",
10188 "value" : "0xffffffff"
10189 }
10190 }
10191 }
10192 }
10193 ],
10194 "source_info" : {
10195 "filename" : "include/int/int_transit.p4",
10196 "line" : 69,
10197 "column" : 8,
10198 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
10199 }
10200 },
10201 {
10202 "op" : "assign",
10203 "parameters" : [
10204 {
10205 "type" : "field",
10206 "value" : ["userMetadata.int_meta", "new_words"]
10207 },
10208 {
10209 "type" : "expression",
10210 "value" : {
10211 "type" : "expression",
10212 "value" : {
10213 "op" : "&",
10214 "left" : {
10215 "type" : "expression",
10216 "value" : {
10217 "op" : "+",
10218 "left" : {
10219 "type" : "field",
10220 "value" : ["userMetadata.int_meta", "new_words"]
10221 },
10222 "right" : {
10223 "type" : "hexstr",
10224 "value" : "0x02"
10225 }
10226 }
10227 },
10228 "right" : {
10229 "type" : "hexstr",
10230 "value" : "0xff"
10231 }
10232 }
10233 }
10234 }
10235 ],
10236 "source_info" : {
10237 "filename" : "include/int/int_transit.p4",
10238 "line" : 93,
10239 "column" : 8,
10240 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10241 }
10242 },
10243 {
10244 "op" : "assign",
10245 "parameters" : [
10246 {
10247 "type" : "field",
10248 "value" : ["userMetadata.int_meta", "new_bytes"]
10249 },
10250 {
10251 "type" : "expression",
10252 "value" : {
10253 "type" : "expression",
10254 "value" : {
10255 "op" : "&",
10256 "left" : {
10257 "type" : "expression",
10258 "value" : {
10259 "op" : "+",
10260 "left" : {
10261 "type" : "field",
10262 "value" : ["userMetadata.int_meta", "new_bytes"]
10263 },
10264 "right" : {
10265 "type" : "hexstr",
10266 "value" : "0x0008"
10267 }
10268 }
10269 },
10270 "right" : {
10271 "type" : "hexstr",
10272 "value" : "0xffff"
10273 }
10274 }
10275 }
10276 }
10277 ],
10278 "source_info" : {
10279 "filename" : "include/int/int_transit.p4",
10280 "line" : 94,
10281 "column" : 8,
10282 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10283 }
10284 }
10285 ]
10286 },
10287 {
10288 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
10289 "id" : 109,
10290 "runtime_data" : [],
10291 "primitives" : [
10292 {
10293 "op" : "add_header",
10294 "parameters" : [
10295 {
10296 "type" : "header",
10297 "value" : "int_egress_tx_util"
10298 }
10299 ],
10300 "source_info" : {
10301 "filename" : "include/int/int_transit.p4",
10302 "line" : 80,
10303 "column" : 8,
10304 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
10305 }
10306 },
10307 {
10308 "op" : "assign",
10309 "parameters" : [
10310 {
10311 "type" : "field",
10312 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
10313 },
10314 {
10315 "type" : "hexstr",
10316 "value" : "0x00000000"
10317 }
10318 ],
10319 "source_info" : {
10320 "filename" : "include/int/int_transit.p4",
10321 "line" : 82,
10322 "column" : 8,
10323 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
10324 }
10325 },
10326 {
10327 "op" : "add_header",
10328 "parameters" : [
10329 {
10330 "type" : "header",
10331 "value" : "int_q_congestion"
10332 }
10333 ],
10334 "source_info" : {
10335 "filename" : "include/int/int_transit.p4",
10336 "line" : 73,
10337 "column" : 8,
10338 "source_fragment" : "hdr.int_q_congestion.setValid()"
10339 }
10340 },
10341 {
10342 "op" : "assign",
10343 "parameters" : [
10344 {
10345 "type" : "field",
10346 "value" : ["int_q_congestion", "q_id"]
10347 },
10348 {
10349 "type" : "hexstr",
10350 "value" : "0x00"
10351 }
10352 ],
10353 "source_info" : {
10354 "filename" : "include/int/int_transit.p4",
10355 "line" : 75,
10356 "column" : 8,
10357 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
10358 }
10359 },
10360 {
10361 "op" : "assign",
10362 "parameters" : [
10363 {
10364 "type" : "field",
10365 "value" : ["int_q_congestion", "q_congestion"]
10366 },
10367 {
10368 "type" : "hexstr",
10369 "value" : "0x000000"
10370 }
10371 ],
10372 "source_info" : {
10373 "filename" : "include/int/int_transit.p4",
10374 "line" : 76,
10375 "column" : 8,
10376 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
10377 }
10378 },
10379 {
10380 "op" : "add_header",
10381 "parameters" : [
10382 {
10383 "type" : "header",
10384 "value" : "int_egress_tstamp"
10385 }
10386 ],
10387 "source_info" : {
10388 "filename" : "include/int/int_transit.p4",
10389 "line" : 68,
10390 "column" : 8,
10391 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
10392 }
10393 },
10394 {
10395 "op" : "assign",
10396 "parameters" : [
10397 {
10398 "type" : "field",
10399 "value" : ["int_egress_tstamp", "egress_tstamp"]
10400 },
10401 {
10402 "type" : "expression",
10403 "value" : {
10404 "type" : "expression",
10405 "value" : {
10406 "op" : "&",
10407 "left" : {
10408 "type" : "expression",
10409 "value" : {
10410 "op" : "+",
10411 "left" : {
10412 "type" : "field",
10413 "value" : ["standard_metadata", "enq_timestamp"]
10414 },
10415 "right" : {
10416 "type" : "field",
10417 "value" : ["standard_metadata", "deq_timedelta"]
10418 }
10419 }
10420 },
10421 "right" : {
10422 "type" : "hexstr",
10423 "value" : "0xffffffff"
10424 }
10425 }
10426 }
10427 }
10428 ],
10429 "source_info" : {
10430 "filename" : "include/int/int_transit.p4",
10431 "line" : 69,
10432 "column" : 8,
10433 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
10434 }
10435 },
10436 {
10437 "op" : "assign",
10438 "parameters" : [
10439 {
10440 "type" : "field",
10441 "value" : ["userMetadata.int_meta", "new_words"]
10442 },
10443 {
10444 "type" : "expression",
10445 "value" : {
10446 "type" : "expression",
10447 "value" : {
10448 "op" : "&",
10449 "left" : {
10450 "type" : "expression",
10451 "value" : {
10452 "op" : "+",
10453 "left" : {
10454 "type" : "field",
10455 "value" : ["userMetadata.int_meta", "new_words"]
10456 },
10457 "right" : {
10458 "type" : "hexstr",
10459 "value" : "0x03"
10460 }
10461 }
10462 },
10463 "right" : {
10464 "type" : "hexstr",
10465 "value" : "0xff"
10466 }
10467 }
10468 }
10469 }
10470 ],
10471 "source_info" : {
10472 "filename" : "include/int/int_transit.p4",
10473 "line" : 98,
10474 "column" : 8,
10475 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
10476 }
10477 },
10478 {
10479 "op" : "assign",
10480 "parameters" : [
10481 {
10482 "type" : "field",
10483 "value" : ["userMetadata.int_meta", "new_bytes"]
10484 },
10485 {
10486 "type" : "expression",
10487 "value" : {
10488 "type" : "expression",
10489 "value" : {
10490 "op" : "&",
10491 "left" : {
10492 "type" : "expression",
10493 "value" : {
10494 "op" : "+",
10495 "left" : {
10496 "type" : "field",
10497 "value" : ["userMetadata.int_meta", "new_bytes"]
10498 },
10499 "right" : {
10500 "type" : "hexstr",
10501 "value" : "0x000c"
10502 }
10503 }
10504 },
10505 "right" : {
10506 "type" : "hexstr",
10507 "value" : "0xffff"
10508 }
10509 }
10510 }
10511 }
10512 ],
10513 "source_info" : {
10514 "filename" : "include/int/int_transit.p4",
10515 "line" : 99,
10516 "column" : 8,
10517 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
10518 }
10519 }
10520 ]
10521 },
10522 {
10523 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
10524 "id" : 110,
10525 "runtime_data" : [],
10526 "primitives" : [
10527 {
10528 "op" : "add_header",
10529 "parameters" : [
10530 {
10531 "type" : "header",
10532 "value" : "int_ingress_tstamp"
10533 }
10534 ],
10535 "source_info" : {
10536 "filename" : "include/int/int_transit.p4",
10537 "line" : 63,
10538 "column" : 8,
10539 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10540 }
10541 },
10542 {
10543 "op" : "assign",
10544 "parameters" : [
10545 {
10546 "type" : "field",
10547 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10548 },
10549 {
10550 "type" : "field",
10551 "value" : ["standard_metadata", "enq_timestamp"]
10552 }
10553 ],
10554 "source_info" : {
10555 "filename" : "include/int/int_transit.p4",
10556 "line" : 64,
10557 "column" : 8,
10558 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10559 }
10560 },
10561 {
10562 "op" : "assign",
10563 "parameters" : [
10564 {
10565 "type" : "field",
10566 "value" : ["userMetadata.int_meta", "new_words"]
10567 },
10568 {
10569 "type" : "expression",
10570 "value" : {
10571 "type" : "expression",
10572 "value" : {
10573 "op" : "&",
10574 "left" : {
10575 "type" : "expression",
10576 "value" : {
10577 "op" : "+",
10578 "left" : {
10579 "type" : "field",
10580 "value" : ["userMetadata.int_meta", "new_words"]
10581 },
10582 "right" : {
10583 "type" : "hexstr",
10584 "value" : "0x01"
10585 }
10586 }
10587 },
10588 "right" : {
10589 "type" : "hexstr",
10590 "value" : "0xff"
10591 }
10592 }
10593 }
10594 }
10595 ],
10596 "source_info" : {
10597 "filename" : "include/int/int_transit.p4",
10598 "line" : 88,
10599 "column" : 8,
10600 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
10601 }
10602 },
10603 {
10604 "op" : "assign",
10605 "parameters" : [
10606 {
10607 "type" : "field",
10608 "value" : ["userMetadata.int_meta", "new_bytes"]
10609 },
10610 {
10611 "type" : "expression",
10612 "value" : {
10613 "type" : "expression",
10614 "value" : {
10615 "op" : "&",
10616 "left" : {
10617 "type" : "expression",
10618 "value" : {
10619 "op" : "+",
10620 "left" : {
10621 "type" : "field",
10622 "value" : ["userMetadata.int_meta", "new_bytes"]
10623 },
10624 "right" : {
10625 "type" : "hexstr",
10626 "value" : "0x0004"
10627 }
10628 }
10629 },
10630 "right" : {
10631 "type" : "hexstr",
10632 "value" : "0xffff"
10633 }
10634 }
10635 }
10636 }
10637 ],
10638 "source_info" : {
10639 "filename" : "include/int/int_transit.p4",
10640 "line" : 89,
10641 "column" : 8,
10642 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
10643 }
10644 }
10645 ]
10646 },
10647 {
10648 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
10649 "id" : 111,
10650 "runtime_data" : [],
10651 "primitives" : [
10652 {
10653 "op" : "add_header",
10654 "parameters" : [
10655 {
10656 "type" : "header",
10657 "value" : "int_egress_tx_util"
10658 }
10659 ],
10660 "source_info" : {
10661 "filename" : "include/int/int_transit.p4",
10662 "line" : 80,
10663 "column" : 8,
10664 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
10665 }
10666 },
10667 {
10668 "op" : "assign",
10669 "parameters" : [
10670 {
10671 "type" : "field",
10672 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
10673 },
10674 {
10675 "type" : "hexstr",
10676 "value" : "0x00000000"
10677 }
10678 ],
10679 "source_info" : {
10680 "filename" : "include/int/int_transit.p4",
10681 "line" : 82,
10682 "column" : 8,
10683 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
10684 }
10685 },
10686 {
10687 "op" : "add_header",
10688 "parameters" : [
10689 {
10690 "type" : "header",
10691 "value" : "int_ingress_tstamp"
10692 }
10693 ],
10694 "source_info" : {
10695 "filename" : "include/int/int_transit.p4",
10696 "line" : 63,
10697 "column" : 8,
10698 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10699 }
10700 },
10701 {
10702 "op" : "assign",
10703 "parameters" : [
10704 {
10705 "type" : "field",
10706 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10707 },
10708 {
10709 "type" : "field",
10710 "value" : ["standard_metadata", "enq_timestamp"]
10711 }
10712 ],
10713 "source_info" : {
10714 "filename" : "include/int/int_transit.p4",
10715 "line" : 64,
10716 "column" : 8,
10717 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10718 }
10719 },
10720 {
10721 "op" : "assign",
10722 "parameters" : [
10723 {
10724 "type" : "field",
10725 "value" : ["userMetadata.int_meta", "new_words"]
10726 },
10727 {
10728 "type" : "expression",
10729 "value" : {
10730 "type" : "expression",
10731 "value" : {
10732 "op" : "&",
10733 "left" : {
10734 "type" : "expression",
10735 "value" : {
10736 "op" : "+",
10737 "left" : {
10738 "type" : "field",
10739 "value" : ["userMetadata.int_meta", "new_words"]
10740 },
10741 "right" : {
10742 "type" : "hexstr",
10743 "value" : "0x02"
10744 }
10745 }
10746 },
10747 "right" : {
10748 "type" : "hexstr",
10749 "value" : "0xff"
10750 }
10751 }
10752 }
10753 }
10754 ],
10755 "source_info" : {
10756 "filename" : "include/int/int_transit.p4",
10757 "line" : 93,
10758 "column" : 8,
10759 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10760 }
10761 },
10762 {
10763 "op" : "assign",
10764 "parameters" : [
10765 {
10766 "type" : "field",
10767 "value" : ["userMetadata.int_meta", "new_bytes"]
10768 },
10769 {
10770 "type" : "expression",
10771 "value" : {
10772 "type" : "expression",
10773 "value" : {
10774 "op" : "&",
10775 "left" : {
10776 "type" : "expression",
10777 "value" : {
10778 "op" : "+",
10779 "left" : {
10780 "type" : "field",
10781 "value" : ["userMetadata.int_meta", "new_bytes"]
10782 },
10783 "right" : {
10784 "type" : "hexstr",
10785 "value" : "0x0008"
10786 }
10787 }
10788 },
10789 "right" : {
10790 "type" : "hexstr",
10791 "value" : "0xffff"
10792 }
10793 }
10794 }
10795 }
10796 ],
10797 "source_info" : {
10798 "filename" : "include/int/int_transit.p4",
10799 "line" : 94,
10800 "column" : 8,
10801 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10802 }
10803 }
10804 ]
10805 },
10806 {
10807 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
10808 "id" : 112,
10809 "runtime_data" : [],
10810 "primitives" : [
10811 {
10812 "op" : "add_header",
10813 "parameters" : [
10814 {
10815 "type" : "header",
10816 "value" : "int_q_congestion"
10817 }
10818 ],
10819 "source_info" : {
10820 "filename" : "include/int/int_transit.p4",
10821 "line" : 73,
10822 "column" : 8,
10823 "source_fragment" : "hdr.int_q_congestion.setValid()"
10824 }
10825 },
10826 {
10827 "op" : "assign",
10828 "parameters" : [
10829 {
10830 "type" : "field",
10831 "value" : ["int_q_congestion", "q_id"]
10832 },
10833 {
10834 "type" : "hexstr",
10835 "value" : "0x00"
10836 }
10837 ],
10838 "source_info" : {
10839 "filename" : "include/int/int_transit.p4",
10840 "line" : 75,
10841 "column" : 8,
10842 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
10843 }
10844 },
10845 {
10846 "op" : "assign",
10847 "parameters" : [
10848 {
10849 "type" : "field",
10850 "value" : ["int_q_congestion", "q_congestion"]
10851 },
10852 {
10853 "type" : "hexstr",
10854 "value" : "0x000000"
10855 }
10856 ],
10857 "source_info" : {
10858 "filename" : "include/int/int_transit.p4",
10859 "line" : 76,
10860 "column" : 8,
10861 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
10862 }
10863 },
10864 {
10865 "op" : "add_header",
10866 "parameters" : [
10867 {
10868 "type" : "header",
10869 "value" : "int_ingress_tstamp"
10870 }
10871 ],
10872 "source_info" : {
10873 "filename" : "include/int/int_transit.p4",
10874 "line" : 63,
10875 "column" : 8,
10876 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10877 }
10878 },
10879 {
10880 "op" : "assign",
10881 "parameters" : [
10882 {
10883 "type" : "field",
10884 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10885 },
10886 {
10887 "type" : "field",
10888 "value" : ["standard_metadata", "enq_timestamp"]
10889 }
10890 ],
10891 "source_info" : {
10892 "filename" : "include/int/int_transit.p4",
10893 "line" : 64,
10894 "column" : 8,
10895 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10896 }
10897 },
10898 {
10899 "op" : "assign",
10900 "parameters" : [
10901 {
10902 "type" : "field",
10903 "value" : ["userMetadata.int_meta", "new_words"]
10904 },
10905 {
10906 "type" : "expression",
10907 "value" : {
10908 "type" : "expression",
10909 "value" : {
10910 "op" : "&",
10911 "left" : {
10912 "type" : "expression",
10913 "value" : {
10914 "op" : "+",
10915 "left" : {
10916 "type" : "field",
10917 "value" : ["userMetadata.int_meta", "new_words"]
10918 },
10919 "right" : {
10920 "type" : "hexstr",
10921 "value" : "0x02"
10922 }
10923 }
10924 },
10925 "right" : {
10926 "type" : "hexstr",
10927 "value" : "0xff"
10928 }
10929 }
10930 }
10931 }
10932 ],
10933 "source_info" : {
10934 "filename" : "include/int/int_transit.p4",
10935 "line" : 93,
10936 "column" : 8,
10937 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10938 }
10939 },
10940 {
10941 "op" : "assign",
10942 "parameters" : [
10943 {
10944 "type" : "field",
10945 "value" : ["userMetadata.int_meta", "new_bytes"]
10946 },
10947 {
10948 "type" : "expression",
10949 "value" : {
10950 "type" : "expression",
10951 "value" : {
10952 "op" : "&",
10953 "left" : {
10954 "type" : "expression",
10955 "value" : {
10956 "op" : "+",
10957 "left" : {
10958 "type" : "field",
10959 "value" : ["userMetadata.int_meta", "new_bytes"]
10960 },
10961 "right" : {
10962 "type" : "hexstr",
10963 "value" : "0x0008"
10964 }
10965 }
10966 },
10967 "right" : {
10968 "type" : "hexstr",
10969 "value" : "0xffff"
10970 }
10971 }
10972 }
10973 }
10974 ],
10975 "source_info" : {
10976 "filename" : "include/int/int_transit.p4",
10977 "line" : 94,
10978 "column" : 8,
10979 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10980 }
10981 }
10982 ]
10983 },
10984 {
10985 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
10986 "id" : 113,
10987 "runtime_data" : [],
10988 "primitives" : [
10989 {
10990 "op" : "add_header",
10991 "parameters" : [
10992 {
10993 "type" : "header",
10994 "value" : "int_egress_tx_util"
10995 }
10996 ],
10997 "source_info" : {
10998 "filename" : "include/int/int_transit.p4",
10999 "line" : 80,
11000 "column" : 8,
11001 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
11002 }
11003 },
11004 {
11005 "op" : "assign",
11006 "parameters" : [
11007 {
11008 "type" : "field",
11009 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
11010 },
11011 {
11012 "type" : "hexstr",
11013 "value" : "0x00000000"
11014 }
11015 ],
11016 "source_info" : {
11017 "filename" : "include/int/int_transit.p4",
11018 "line" : 82,
11019 "column" : 8,
11020 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
11021 }
11022 },
11023 {
11024 "op" : "add_header",
11025 "parameters" : [
11026 {
11027 "type" : "header",
11028 "value" : "int_q_congestion"
11029 }
11030 ],
11031 "source_info" : {
11032 "filename" : "include/int/int_transit.p4",
11033 "line" : 73,
11034 "column" : 8,
11035 "source_fragment" : "hdr.int_q_congestion.setValid()"
11036 }
11037 },
11038 {
11039 "op" : "assign",
11040 "parameters" : [
11041 {
11042 "type" : "field",
11043 "value" : ["int_q_congestion", "q_id"]
11044 },
11045 {
11046 "type" : "hexstr",
11047 "value" : "0x00"
11048 }
11049 ],
11050 "source_info" : {
11051 "filename" : "include/int/int_transit.p4",
11052 "line" : 75,
11053 "column" : 8,
11054 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
11055 }
11056 },
11057 {
11058 "op" : "assign",
11059 "parameters" : [
11060 {
11061 "type" : "field",
11062 "value" : ["int_q_congestion", "q_congestion"]
11063 },
11064 {
11065 "type" : "hexstr",
11066 "value" : "0x000000"
11067 }
11068 ],
11069 "source_info" : {
11070 "filename" : "include/int/int_transit.p4",
11071 "line" : 76,
11072 "column" : 8,
11073 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
11074 }
11075 },
11076 {
11077 "op" : "add_header",
11078 "parameters" : [
11079 {
11080 "type" : "header",
11081 "value" : "int_ingress_tstamp"
11082 }
11083 ],
11084 "source_info" : {
11085 "filename" : "include/int/int_transit.p4",
11086 "line" : 63,
11087 "column" : 8,
11088 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11089 }
11090 },
11091 {
11092 "op" : "assign",
11093 "parameters" : [
11094 {
11095 "type" : "field",
11096 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11097 },
11098 {
11099 "type" : "field",
11100 "value" : ["standard_metadata", "enq_timestamp"]
11101 }
11102 ],
11103 "source_info" : {
11104 "filename" : "include/int/int_transit.p4",
11105 "line" : 64,
11106 "column" : 8,
11107 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11108 }
11109 },
11110 {
11111 "op" : "assign",
11112 "parameters" : [
11113 {
11114 "type" : "field",
11115 "value" : ["userMetadata.int_meta", "new_words"]
11116 },
11117 {
11118 "type" : "expression",
11119 "value" : {
11120 "type" : "expression",
11121 "value" : {
11122 "op" : "&",
11123 "left" : {
11124 "type" : "expression",
11125 "value" : {
11126 "op" : "+",
11127 "left" : {
11128 "type" : "field",
11129 "value" : ["userMetadata.int_meta", "new_words"]
11130 },
11131 "right" : {
11132 "type" : "hexstr",
11133 "value" : "0x03"
11134 }
11135 }
11136 },
11137 "right" : {
11138 "type" : "hexstr",
11139 "value" : "0xff"
11140 }
11141 }
11142 }
11143 }
11144 ],
11145 "source_info" : {
11146 "filename" : "include/int/int_transit.p4",
11147 "line" : 98,
11148 "column" : 8,
11149 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
11150 }
11151 },
11152 {
11153 "op" : "assign",
11154 "parameters" : [
11155 {
11156 "type" : "field",
11157 "value" : ["userMetadata.int_meta", "new_bytes"]
11158 },
11159 {
11160 "type" : "expression",
11161 "value" : {
11162 "type" : "expression",
11163 "value" : {
11164 "op" : "&",
11165 "left" : {
11166 "type" : "expression",
11167 "value" : {
11168 "op" : "+",
11169 "left" : {
11170 "type" : "field",
11171 "value" : ["userMetadata.int_meta", "new_bytes"]
11172 },
11173 "right" : {
11174 "type" : "hexstr",
11175 "value" : "0x000c"
11176 }
11177 }
11178 },
11179 "right" : {
11180 "type" : "hexstr",
11181 "value" : "0xffff"
11182 }
11183 }
11184 }
11185 }
11186 ],
11187 "source_info" : {
11188 "filename" : "include/int/int_transit.p4",
11189 "line" : 99,
11190 "column" : 8,
11191 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
11192 }
11193 }
11194 ]
11195 },
11196 {
11197 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
11198 "id" : 114,
11199 "runtime_data" : [],
11200 "primitives" : [
11201 {
11202 "op" : "add_header",
11203 "parameters" : [
11204 {
11205 "type" : "header",
11206 "value" : "int_egress_tstamp"
11207 }
11208 ],
11209 "source_info" : {
11210 "filename" : "include/int/int_transit.p4",
11211 "line" : 68,
11212 "column" : 8,
11213 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11214 }
11215 },
11216 {
11217 "op" : "assign",
11218 "parameters" : [
11219 {
11220 "type" : "field",
11221 "value" : ["int_egress_tstamp", "egress_tstamp"]
11222 },
11223 {
11224 "type" : "expression",
11225 "value" : {
11226 "type" : "expression",
11227 "value" : {
11228 "op" : "&",
11229 "left" : {
11230 "type" : "expression",
11231 "value" : {
11232 "op" : "+",
11233 "left" : {
11234 "type" : "field",
11235 "value" : ["standard_metadata", "enq_timestamp"]
11236 },
11237 "right" : {
11238 "type" : "field",
11239 "value" : ["standard_metadata", "deq_timedelta"]
11240 }
11241 }
11242 },
11243 "right" : {
11244 "type" : "hexstr",
11245 "value" : "0xffffffff"
11246 }
11247 }
11248 }
11249 }
11250 ],
11251 "source_info" : {
11252 "filename" : "include/int/int_transit.p4",
11253 "line" : 69,
11254 "column" : 8,
11255 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11256 }
11257 },
11258 {
11259 "op" : "add_header",
11260 "parameters" : [
11261 {
11262 "type" : "header",
11263 "value" : "int_ingress_tstamp"
11264 }
11265 ],
11266 "source_info" : {
11267 "filename" : "include/int/int_transit.p4",
11268 "line" : 63,
11269 "column" : 8,
11270 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11271 }
11272 },
11273 {
11274 "op" : "assign",
11275 "parameters" : [
11276 {
11277 "type" : "field",
11278 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11279 },
11280 {
11281 "type" : "field",
11282 "value" : ["standard_metadata", "enq_timestamp"]
11283 }
11284 ],
11285 "source_info" : {
11286 "filename" : "include/int/int_transit.p4",
11287 "line" : 64,
11288 "column" : 8,
11289 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11290 }
11291 },
11292 {
11293 "op" : "assign",
11294 "parameters" : [
11295 {
11296 "type" : "field",
11297 "value" : ["userMetadata.int_meta", "new_words"]
11298 },
11299 {
11300 "type" : "expression",
11301 "value" : {
11302 "type" : "expression",
11303 "value" : {
11304 "op" : "&",
11305 "left" : {
11306 "type" : "expression",
11307 "value" : {
11308 "op" : "+",
11309 "left" : {
11310 "type" : "field",
11311 "value" : ["userMetadata.int_meta", "new_words"]
11312 },
11313 "right" : {
11314 "type" : "hexstr",
11315 "value" : "0x02"
11316 }
11317 }
11318 },
11319 "right" : {
11320 "type" : "hexstr",
11321 "value" : "0xff"
11322 }
11323 }
11324 }
11325 }
11326 ],
11327 "source_info" : {
11328 "filename" : "include/int/int_transit.p4",
11329 "line" : 93,
11330 "column" : 8,
11331 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
11332 }
11333 },
11334 {
11335 "op" : "assign",
11336 "parameters" : [
11337 {
11338 "type" : "field",
11339 "value" : ["userMetadata.int_meta", "new_bytes"]
11340 },
11341 {
11342 "type" : "expression",
11343 "value" : {
11344 "type" : "expression",
11345 "value" : {
11346 "op" : "&",
11347 "left" : {
11348 "type" : "expression",
11349 "value" : {
11350 "op" : "+",
11351 "left" : {
11352 "type" : "field",
11353 "value" : ["userMetadata.int_meta", "new_bytes"]
11354 },
11355 "right" : {
11356 "type" : "hexstr",
11357 "value" : "0x0008"
11358 }
11359 }
11360 },
11361 "right" : {
11362 "type" : "hexstr",
11363 "value" : "0xffff"
11364 }
11365 }
11366 }
11367 }
11368 ],
11369 "source_info" : {
11370 "filename" : "include/int/int_transit.p4",
11371 "line" : 94,
11372 "column" : 8,
11373 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
11374 }
11375 }
11376 ]
11377 },
11378 {
11379 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
11380 "id" : 115,
11381 "runtime_data" : [],
11382 "primitives" : [
11383 {
11384 "op" : "add_header",
11385 "parameters" : [
11386 {
11387 "type" : "header",
11388 "value" : "int_egress_tx_util"
11389 }
11390 ],
11391 "source_info" : {
11392 "filename" : "include/int/int_transit.p4",
11393 "line" : 80,
11394 "column" : 8,
11395 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
11396 }
11397 },
11398 {
11399 "op" : "assign",
11400 "parameters" : [
11401 {
11402 "type" : "field",
11403 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
11404 },
11405 {
11406 "type" : "hexstr",
11407 "value" : "0x00000000"
11408 }
11409 ],
11410 "source_info" : {
11411 "filename" : "include/int/int_transit.p4",
11412 "line" : 82,
11413 "column" : 8,
11414 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
11415 }
11416 },
11417 {
11418 "op" : "add_header",
11419 "parameters" : [
11420 {
11421 "type" : "header",
11422 "value" : "int_egress_tstamp"
11423 }
11424 ],
11425 "source_info" : {
11426 "filename" : "include/int/int_transit.p4",
11427 "line" : 68,
11428 "column" : 8,
11429 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11430 }
11431 },
11432 {
11433 "op" : "assign",
11434 "parameters" : [
11435 {
11436 "type" : "field",
11437 "value" : ["int_egress_tstamp", "egress_tstamp"]
11438 },
11439 {
11440 "type" : "expression",
11441 "value" : {
11442 "type" : "expression",
11443 "value" : {
11444 "op" : "&",
11445 "left" : {
11446 "type" : "expression",
11447 "value" : {
11448 "op" : "+",
11449 "left" : {
11450 "type" : "field",
11451 "value" : ["standard_metadata", "enq_timestamp"]
11452 },
11453 "right" : {
11454 "type" : "field",
11455 "value" : ["standard_metadata", "deq_timedelta"]
11456 }
11457 }
11458 },
11459 "right" : {
11460 "type" : "hexstr",
11461 "value" : "0xffffffff"
11462 }
11463 }
11464 }
11465 }
11466 ],
11467 "source_info" : {
11468 "filename" : "include/int/int_transit.p4",
11469 "line" : 69,
11470 "column" : 8,
11471 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11472 }
11473 },
11474 {
11475 "op" : "add_header",
11476 "parameters" : [
11477 {
11478 "type" : "header",
11479 "value" : "int_ingress_tstamp"
11480 }
11481 ],
11482 "source_info" : {
11483 "filename" : "include/int/int_transit.p4",
11484 "line" : 63,
11485 "column" : 8,
11486 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11487 }
11488 },
11489 {
11490 "op" : "assign",
11491 "parameters" : [
11492 {
11493 "type" : "field",
11494 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11495 },
11496 {
11497 "type" : "field",
11498 "value" : ["standard_metadata", "enq_timestamp"]
11499 }
11500 ],
11501 "source_info" : {
11502 "filename" : "include/int/int_transit.p4",
11503 "line" : 64,
11504 "column" : 8,
11505 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11506 }
11507 },
11508 {
11509 "op" : "assign",
11510 "parameters" : [
11511 {
11512 "type" : "field",
11513 "value" : ["userMetadata.int_meta", "new_words"]
11514 },
11515 {
11516 "type" : "expression",
11517 "value" : {
11518 "type" : "expression",
11519 "value" : {
11520 "op" : "&",
11521 "left" : {
11522 "type" : "expression",
11523 "value" : {
11524 "op" : "+",
11525 "left" : {
11526 "type" : "field",
11527 "value" : ["userMetadata.int_meta", "new_words"]
11528 },
11529 "right" : {
11530 "type" : "hexstr",
11531 "value" : "0x03"
11532 }
11533 }
11534 },
11535 "right" : {
11536 "type" : "hexstr",
11537 "value" : "0xff"
11538 }
11539 }
11540 }
11541 }
11542 ],
11543 "source_info" : {
11544 "filename" : "include/int/int_transit.p4",
11545 "line" : 98,
11546 "column" : 8,
11547 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
11548 }
11549 },
11550 {
11551 "op" : "assign",
11552 "parameters" : [
11553 {
11554 "type" : "field",
11555 "value" : ["userMetadata.int_meta", "new_bytes"]
11556 },
11557 {
11558 "type" : "expression",
11559 "value" : {
11560 "type" : "expression",
11561 "value" : {
11562 "op" : "&",
11563 "left" : {
11564 "type" : "expression",
11565 "value" : {
11566 "op" : "+",
11567 "left" : {
11568 "type" : "field",
11569 "value" : ["userMetadata.int_meta", "new_bytes"]
11570 },
11571 "right" : {
11572 "type" : "hexstr",
11573 "value" : "0x000c"
11574 }
11575 }
11576 },
11577 "right" : {
11578 "type" : "hexstr",
11579 "value" : "0xffff"
11580 }
11581 }
11582 }
11583 }
11584 ],
11585 "source_info" : {
11586 "filename" : "include/int/int_transit.p4",
11587 "line" : 99,
11588 "column" : 8,
11589 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
11590 }
11591 }
11592 ]
11593 },
11594 {
11595 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
11596 "id" : 116,
11597 "runtime_data" : [],
11598 "primitives" : [
11599 {
11600 "op" : "add_header",
11601 "parameters" : [
11602 {
11603 "type" : "header",
11604 "value" : "int_q_congestion"
11605 }
11606 ],
11607 "source_info" : {
11608 "filename" : "include/int/int_transit.p4",
11609 "line" : 73,
11610 "column" : 8,
11611 "source_fragment" : "hdr.int_q_congestion.setValid()"
11612 }
11613 },
11614 {
11615 "op" : "assign",
11616 "parameters" : [
11617 {
11618 "type" : "field",
11619 "value" : ["int_q_congestion", "q_id"]
11620 },
11621 {
11622 "type" : "hexstr",
11623 "value" : "0x00"
11624 }
11625 ],
11626 "source_info" : {
11627 "filename" : "include/int/int_transit.p4",
11628 "line" : 75,
11629 "column" : 8,
11630 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
11631 }
11632 },
11633 {
11634 "op" : "assign",
11635 "parameters" : [
11636 {
11637 "type" : "field",
11638 "value" : ["int_q_congestion", "q_congestion"]
11639 },
11640 {
11641 "type" : "hexstr",
11642 "value" : "0x000000"
11643 }
11644 ],
11645 "source_info" : {
11646 "filename" : "include/int/int_transit.p4",
11647 "line" : 76,
11648 "column" : 8,
11649 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
11650 }
11651 },
11652 {
11653 "op" : "add_header",
11654 "parameters" : [
11655 {
11656 "type" : "header",
11657 "value" : "int_egress_tstamp"
11658 }
11659 ],
11660 "source_info" : {
11661 "filename" : "include/int/int_transit.p4",
11662 "line" : 68,
11663 "column" : 8,
11664 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11665 }
11666 },
11667 {
11668 "op" : "assign",
11669 "parameters" : [
11670 {
11671 "type" : "field",
11672 "value" : ["int_egress_tstamp", "egress_tstamp"]
11673 },
11674 {
11675 "type" : "expression",
11676 "value" : {
11677 "type" : "expression",
11678 "value" : {
11679 "op" : "&",
11680 "left" : {
11681 "type" : "expression",
11682 "value" : {
11683 "op" : "+",
11684 "left" : {
11685 "type" : "field",
11686 "value" : ["standard_metadata", "enq_timestamp"]
11687 },
11688 "right" : {
11689 "type" : "field",
11690 "value" : ["standard_metadata", "deq_timedelta"]
11691 }
11692 }
11693 },
11694 "right" : {
11695 "type" : "hexstr",
11696 "value" : "0xffffffff"
11697 }
11698 }
11699 }
11700 }
11701 ],
11702 "source_info" : {
11703 "filename" : "include/int/int_transit.p4",
11704 "line" : 69,
11705 "column" : 8,
11706 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11707 }
11708 },
11709 {
11710 "op" : "add_header",
11711 "parameters" : [
11712 {
11713 "type" : "header",
11714 "value" : "int_ingress_tstamp"
11715 }
11716 ],
11717 "source_info" : {
11718 "filename" : "include/int/int_transit.p4",
11719 "line" : 63,
11720 "column" : 8,
11721 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11722 }
11723 },
11724 {
11725 "op" : "assign",
11726 "parameters" : [
11727 {
11728 "type" : "field",
11729 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11730 },
11731 {
11732 "type" : "field",
11733 "value" : ["standard_metadata", "enq_timestamp"]
11734 }
11735 ],
11736 "source_info" : {
11737 "filename" : "include/int/int_transit.p4",
11738 "line" : 64,
11739 "column" : 8,
11740 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11741 }
11742 },
11743 {
11744 "op" : "assign",
11745 "parameters" : [
11746 {
11747 "type" : "field",
11748 "value" : ["userMetadata.int_meta", "new_words"]
11749 },
11750 {
11751 "type" : "expression",
11752 "value" : {
11753 "type" : "expression",
11754 "value" : {
11755 "op" : "&",
11756 "left" : {
11757 "type" : "expression",
11758 "value" : {
11759 "op" : "+",
11760 "left" : {
11761 "type" : "field",
11762 "value" : ["userMetadata.int_meta", "new_words"]
11763 },
11764 "right" : {
11765 "type" : "hexstr",
11766 "value" : "0x03"
11767 }
11768 }
11769 },
11770 "right" : {
11771 "type" : "hexstr",
11772 "value" : "0xff"
11773 }
11774 }
11775 }
11776 }
11777 ],
11778 "source_info" : {
11779 "filename" : "include/int/int_transit.p4",
11780 "line" : 98,
11781 "column" : 8,
11782 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
11783 }
11784 },
11785 {
11786 "op" : "assign",
11787 "parameters" : [
11788 {
11789 "type" : "field",
11790 "value" : ["userMetadata.int_meta", "new_bytes"]
11791 },
11792 {
11793 "type" : "expression",
11794 "value" : {
11795 "type" : "expression",
11796 "value" : {
11797 "op" : "&",
11798 "left" : {
11799 "type" : "expression",
11800 "value" : {
11801 "op" : "+",
11802 "left" : {
11803 "type" : "field",
11804 "value" : ["userMetadata.int_meta", "new_bytes"]
11805 },
11806 "right" : {
11807 "type" : "hexstr",
11808 "value" : "0x000c"
11809 }
11810 }
11811 },
11812 "right" : {
11813 "type" : "hexstr",
11814 "value" : "0xffff"
11815 }
11816 }
11817 }
11818 }
11819 ],
11820 "source_info" : {
11821 "filename" : "include/int/int_transit.p4",
11822 "line" : 99,
11823 "column" : 8,
11824 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
11825 }
11826 }
11827 ]
11828 },
11829 {
11830 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
11831 "id" : 117,
11832 "runtime_data" : [],
11833 "primitives" : [
11834 {
11835 "op" : "add_header",
11836 "parameters" : [
11837 {
11838 "type" : "header",
11839 "value" : "int_egress_tx_util"
11840 }
11841 ],
11842 "source_info" : {
11843 "filename" : "include/int/int_transit.p4",
11844 "line" : 80,
11845 "column" : 8,
11846 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
11847 }
11848 },
11849 {
11850 "op" : "assign",
11851 "parameters" : [
11852 {
11853 "type" : "field",
11854 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
11855 },
11856 {
11857 "type" : "hexstr",
11858 "value" : "0x00000000"
11859 }
11860 ],
11861 "source_info" : {
11862 "filename" : "include/int/int_transit.p4",
11863 "line" : 82,
11864 "column" : 8,
11865 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
11866 }
11867 },
11868 {
11869 "op" : "add_header",
11870 "parameters" : [
11871 {
11872 "type" : "header",
11873 "value" : "int_q_congestion"
11874 }
11875 ],
11876 "source_info" : {
11877 "filename" : "include/int/int_transit.p4",
11878 "line" : 73,
11879 "column" : 8,
11880 "source_fragment" : "hdr.int_q_congestion.setValid()"
11881 }
11882 },
11883 {
11884 "op" : "assign",
11885 "parameters" : [
11886 {
11887 "type" : "field",
11888 "value" : ["int_q_congestion", "q_id"]
11889 },
11890 {
11891 "type" : "hexstr",
11892 "value" : "0x00"
11893 }
11894 ],
11895 "source_info" : {
11896 "filename" : "include/int/int_transit.p4",
11897 "line" : 75,
11898 "column" : 8,
11899 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
11900 }
11901 },
11902 {
11903 "op" : "assign",
11904 "parameters" : [
11905 {
11906 "type" : "field",
11907 "value" : ["int_q_congestion", "q_congestion"]
11908 },
11909 {
11910 "type" : "hexstr",
11911 "value" : "0x000000"
11912 }
11913 ],
11914 "source_info" : {
11915 "filename" : "include/int/int_transit.p4",
11916 "line" : 76,
11917 "column" : 8,
11918 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
11919 }
11920 },
11921 {
11922 "op" : "add_header",
11923 "parameters" : [
11924 {
11925 "type" : "header",
11926 "value" : "int_egress_tstamp"
11927 }
11928 ],
11929 "source_info" : {
11930 "filename" : "include/int/int_transit.p4",
11931 "line" : 68,
11932 "column" : 8,
11933 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11934 }
11935 },
11936 {
11937 "op" : "assign",
11938 "parameters" : [
11939 {
11940 "type" : "field",
11941 "value" : ["int_egress_tstamp", "egress_tstamp"]
11942 },
11943 {
11944 "type" : "expression",
11945 "value" : {
11946 "type" : "expression",
11947 "value" : {
11948 "op" : "&",
11949 "left" : {
11950 "type" : "expression",
11951 "value" : {
11952 "op" : "+",
11953 "left" : {
11954 "type" : "field",
11955 "value" : ["standard_metadata", "enq_timestamp"]
11956 },
11957 "right" : {
11958 "type" : "field",
11959 "value" : ["standard_metadata", "deq_timedelta"]
11960 }
11961 }
11962 },
11963 "right" : {
11964 "type" : "hexstr",
11965 "value" : "0xffffffff"
11966 }
11967 }
11968 }
11969 }
11970 ],
11971 "source_info" : {
11972 "filename" : "include/int/int_transit.p4",
11973 "line" : 69,
11974 "column" : 8,
11975 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11976 }
11977 },
11978 {
11979 "op" : "add_header",
11980 "parameters" : [
11981 {
11982 "type" : "header",
11983 "value" : "int_ingress_tstamp"
11984 }
11985 ],
11986 "source_info" : {
11987 "filename" : "include/int/int_transit.p4",
11988 "line" : 63,
11989 "column" : 8,
11990 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11991 }
11992 },
11993 {
11994 "op" : "assign",
11995 "parameters" : [
11996 {
11997 "type" : "field",
11998 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11999 },
12000 {
12001 "type" : "field",
12002 "value" : ["standard_metadata", "enq_timestamp"]
12003 }
12004 ],
12005 "source_info" : {
12006 "filename" : "include/int/int_transit.p4",
12007 "line" : 64,
12008 "column" : 8,
12009 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
12010 }
12011 },
12012 {
12013 "op" : "assign",
12014 "parameters" : [
12015 {
12016 "type" : "field",
12017 "value" : ["userMetadata.int_meta", "new_words"]
12018 },
12019 {
12020 "type" : "expression",
12021 "value" : {
12022 "type" : "expression",
12023 "value" : {
12024 "op" : "&",
12025 "left" : {
12026 "type" : "expression",
12027 "value" : {
12028 "op" : "+",
12029 "left" : {
12030 "type" : "field",
12031 "value" : ["userMetadata.int_meta", "new_words"]
12032 },
12033 "right" : {
12034 "type" : "hexstr",
12035 "value" : "0x04"
12036 }
12037 }
12038 },
12039 "right" : {
12040 "type" : "hexstr",
12041 "value" : "0xff"
12042 }
12043 }
12044 }
12045 }
12046 ],
12047 "source_info" : {
12048 "filename" : "include/int/int_transit.p4",
12049 "line" : 103,
12050 "column" : 8,
12051 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
12052 }
12053 },
12054 {
12055 "op" : "assign",
12056 "parameters" : [
12057 {
12058 "type" : "field",
12059 "value" : ["userMetadata.int_meta", "new_bytes"]
12060 },
12061 {
12062 "type" : "expression",
12063 "value" : {
12064 "type" : "expression",
12065 "value" : {
12066 "op" : "&",
12067 "left" : {
12068 "type" : "expression",
12069 "value" : {
12070 "op" : "+",
12071 "left" : {
12072 "type" : "field",
12073 "value" : ["userMetadata.int_meta", "new_bytes"]
12074 },
12075 "right" : {
12076 "type" : "hexstr",
12077 "value" : "0x0010"
12078 }
12079 }
12080 },
12081 "right" : {
12082 "type" : "hexstr",
12083 "value" : "0xffff"
12084 }
12085 }
12086 }
12087 }
12088 ],
12089 "source_info" : {
12090 "filename" : "include/int/int_transit.p4",
12091 "line" : 104,
12092 "column" : 8,
12093 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
12094 }
12095 }
12096 ]
12097 },
12098 {
12099 "name" : "FabricEgress.process_int_main.process_int_report.do_report_encapsulation",
12100 "id" : 118,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012101 "runtime_data" : [
12102 {
12103 "name" : "src_mac",
12104 "bitwidth" : 48
12105 },
12106 {
12107 "name" : "mon_mac",
12108 "bitwidth" : 48
12109 },
12110 {
12111 "name" : "src_ip",
12112 "bitwidth" : 32
12113 },
12114 {
12115 "name" : "mon_ip",
12116 "bitwidth" : 32
12117 },
12118 {
12119 "name" : "mon_port",
12120 "bitwidth" : 16
12121 }
12122 ],
12123 "primitives" : [
12124 {
12125 "op" : "add_header",
12126 "parameters" : [
12127 {
12128 "type" : "header",
12129 "value" : "report_ethernet"
12130 }
12131 ],
12132 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012133 "filename" : "include/int/int_report.p4",
12134 "line" : 49,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012135 "column" : 8,
12136 "source_fragment" : "hdr.report_ethernet.setValid()"
12137 }
12138 },
12139 {
12140 "op" : "assign",
12141 "parameters" : [
12142 {
12143 "type" : "field",
12144 "value" : ["report_ethernet", "dst_addr"]
12145 },
12146 {
12147 "type" : "runtime_data",
12148 "value" : 1
12149 }
12150 ],
12151 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012152 "filename" : "include/int/int_report.p4",
12153 "line" : 50,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012154 "column" : 8,
12155 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
12156 }
12157 },
12158 {
12159 "op" : "assign",
12160 "parameters" : [
12161 {
12162 "type" : "field",
12163 "value" : ["report_ethernet", "src_addr"]
12164 },
12165 {
12166 "type" : "runtime_data",
12167 "value" : 0
12168 }
12169 ],
12170 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012171 "filename" : "include/int/int_report.p4",
12172 "line" : 51,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012173 "column" : 8,
12174 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
12175 }
12176 },
12177 {
12178 "op" : "assign",
12179 "parameters" : [
12180 {
12181 "type" : "field",
12182 "value" : ["report_ethernet", "ether_type"]
12183 },
12184 {
12185 "type" : "hexstr",
12186 "value" : "0x0800"
12187 }
12188 ],
12189 "source_info" : {
12190 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012191 "line" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012192 "column" : 31,
12193 "source_fragment" : "0x0800; ..."
12194 }
12195 },
12196 {
12197 "op" : "add_header",
12198 "parameters" : [
12199 {
12200 "type" : "header",
12201 "value" : "report_ipv4"
12202 }
12203 ],
12204 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012205 "filename" : "include/int/int_report.p4",
12206 "line" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012207 "column" : 8,
12208 "source_fragment" : "hdr.report_ipv4.setValid()"
12209 }
12210 },
12211 {
12212 "op" : "assign",
12213 "parameters" : [
12214 {
12215 "type" : "field",
12216 "value" : ["report_ipv4", "version"]
12217 },
12218 {
12219 "type" : "hexstr",
12220 "value" : "0x04"
12221 }
12222 ],
12223 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012224 "filename" : "include/int/int_report.p4",
12225 "line" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012226 "column" : 8,
12227 "source_fragment" : "hdr.report_ipv4.version = 4w4"
12228 }
12229 },
12230 {
12231 "op" : "assign",
12232 "parameters" : [
12233 {
12234 "type" : "field",
12235 "value" : ["report_ipv4", "ihl"]
12236 },
12237 {
12238 "type" : "hexstr",
12239 "value" : "0x05"
12240 }
12241 ],
12242 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012243 "filename" : "include/int/int_report.p4",
12244 "line" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012245 "column" : 8,
12246 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
12247 }
12248 },
12249 {
12250 "op" : "assign",
12251 "parameters" : [
12252 {
12253 "type" : "field",
12254 "value" : ["report_ipv4", "dscp"]
12255 },
12256 {
12257 "type" : "hexstr",
12258 "value" : "0x00"
12259 }
12260 ],
12261 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012262 "filename" : "include/int/int_report.p4",
12263 "line" : 58,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012264 "column" : 8,
12265 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
12266 }
12267 },
12268 {
12269 "op" : "assign",
12270 "parameters" : [
12271 {
12272 "type" : "field",
12273 "value" : ["report_ipv4", "ecn"]
12274 },
12275 {
12276 "type" : "hexstr",
12277 "value" : "0x00"
12278 }
12279 ],
12280 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012281 "filename" : "include/int/int_report.p4",
12282 "line" : 59,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012283 "column" : 8,
12284 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
12285 }
12286 },
12287 {
12288 "op" : "assign",
12289 "parameters" : [
12290 {
12291 "type" : "field",
12292 "value" : ["report_ipv4", "total_len"]
12293 },
12294 {
12295 "type" : "expression",
12296 "value" : {
12297 "type" : "expression",
12298 "value" : {
12299 "op" : "&",
12300 "left" : {
12301 "type" : "expression",
12302 "value" : {
12303 "op" : "+",
12304 "left" : {
12305 "type" : "hexstr",
12306 "value" : "0x0036"
12307 },
12308 "right" : {
12309 "type" : "field",
12310 "value" : ["ipv4", "total_len"]
12311 }
12312 }
12313 },
12314 "right" : {
12315 "type" : "hexstr",
12316 "value" : "0xffff"
12317 }
12318 }
12319 }
12320 }
12321 ],
12322 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012323 "filename" : "include/int/int_report.p4",
12324 "line" : 61,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012325 "column" : 8,
12326 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
12327 }
12328 },
12329 {
12330 "op" : "assign",
12331 "parameters" : [
12332 {
12333 "type" : "field",
12334 "value" : ["report_ipv4", "identification"]
12335 },
12336 {
12337 "type" : "hexstr",
12338 "value" : "0x0000"
12339 }
12340 ],
12341 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012342 "filename" : "include/int/int_report.p4",
12343 "line" : 64,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012344 "column" : 8,
12345 "source_fragment" : "hdr.report_ipv4.identification = 0"
12346 }
12347 },
12348 {
12349 "op" : "assign",
12350 "parameters" : [
12351 {
12352 "type" : "field",
12353 "value" : ["report_ipv4", "flags"]
12354 },
12355 {
12356 "type" : "hexstr",
12357 "value" : "0x00"
12358 }
12359 ],
12360 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012361 "filename" : "include/int/int_report.p4",
12362 "line" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012363 "column" : 8,
12364 "source_fragment" : "hdr.report_ipv4.flags = 0"
12365 }
12366 },
12367 {
12368 "op" : "assign",
12369 "parameters" : [
12370 {
12371 "type" : "field",
12372 "value" : ["report_ipv4", "frag_offset"]
12373 },
12374 {
12375 "type" : "hexstr",
12376 "value" : "0x0000"
12377 }
12378 ],
12379 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012380 "filename" : "include/int/int_report.p4",
12381 "line" : 66,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012382 "column" : 8,
12383 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
12384 }
12385 },
12386 {
12387 "op" : "assign",
12388 "parameters" : [
12389 {
12390 "type" : "field",
12391 "value" : ["report_ipv4", "ttl"]
12392 },
12393 {
12394 "type" : "hexstr",
12395 "value" : "0xff"
12396 }
12397 ],
12398 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012399 "filename" : "include/int/int_report.p4",
12400 "line" : 67,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012401 "column" : 8,
12402 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
12403 }
12404 },
12405 {
12406 "op" : "assign",
12407 "parameters" : [
12408 {
12409 "type" : "field",
12410 "value" : ["report_ipv4", "protocol"]
12411 },
12412 {
12413 "type" : "hexstr",
12414 "value" : "0x11"
12415 }
12416 ],
12417 "source_info" : {
12418 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012419 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012420 "column" : 25,
12421 "source_fragment" : "17; ..."
12422 }
12423 },
12424 {
12425 "op" : "assign",
12426 "parameters" : [
12427 {
12428 "type" : "field",
12429 "value" : ["report_ipv4", "src_addr"]
12430 },
12431 {
12432 "type" : "runtime_data",
12433 "value" : 2
12434 }
12435 ],
12436 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012437 "filename" : "include/int/int_report.p4",
12438 "line" : 69,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012439 "column" : 8,
12440 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
12441 }
12442 },
12443 {
12444 "op" : "assign",
12445 "parameters" : [
12446 {
12447 "type" : "field",
12448 "value" : ["report_ipv4", "dst_addr"]
12449 },
12450 {
12451 "type" : "runtime_data",
12452 "value" : 3
12453 }
12454 ],
12455 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012456 "filename" : "include/int/int_report.p4",
12457 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012458 "column" : 8,
12459 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
12460 }
12461 },
12462 {
12463 "op" : "add_header",
12464 "parameters" : [
12465 {
12466 "type" : "header",
12467 "value" : "report_udp"
12468 }
12469 ],
12470 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012471 "filename" : "include/int/int_report.p4",
12472 "line" : 73,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012473 "column" : 8,
12474 "source_fragment" : "hdr.report_udp.setValid()"
12475 }
12476 },
12477 {
12478 "op" : "assign",
12479 "parameters" : [
12480 {
12481 "type" : "field",
12482 "value" : ["report_udp", "src_port"]
12483 },
12484 {
12485 "type" : "hexstr",
12486 "value" : "0x0000"
12487 }
12488 ],
12489 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012490 "filename" : "include/int/int_report.p4",
12491 "line" : 74,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012492 "column" : 8,
12493 "source_fragment" : "hdr.report_udp.src_port = 0"
12494 }
12495 },
12496 {
12497 "op" : "assign",
12498 "parameters" : [
12499 {
12500 "type" : "field",
12501 "value" : ["report_udp", "dst_port"]
12502 },
12503 {
12504 "type" : "runtime_data",
12505 "value" : 4
12506 }
12507 ],
12508 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012509 "filename" : "include/int/int_report.p4",
12510 "line" : 75,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012511 "column" : 8,
12512 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
12513 }
12514 },
12515 {
12516 "op" : "assign",
12517 "parameters" : [
12518 {
12519 "type" : "field",
12520 "value" : ["report_udp", "len"]
12521 },
12522 {
12523 "type" : "expression",
12524 "value" : {
12525 "type" : "expression",
12526 "value" : {
12527 "op" : "&",
12528 "left" : {
12529 "type" : "expression",
12530 "value" : {
12531 "op" : "+",
12532 "left" : {
12533 "type" : "hexstr",
12534 "value" : "0x0022"
12535 },
12536 "right" : {
12537 "type" : "field",
12538 "value" : ["ipv4", "total_len"]
12539 }
12540 }
12541 },
12542 "right" : {
12543 "type" : "hexstr",
12544 "value" : "0xffff"
12545 }
12546 }
12547 }
12548 }
12549 ],
12550 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012551 "filename" : "include/int/int_report.p4",
12552 "line" : 76,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012553 "column" : 8,
12554 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
12555 }
12556 },
12557 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012558 "op" : "add_header",
12559 "parameters" : [
12560 {
12561 "type" : "header",
12562 "value" : "report_fixed_header"
12563 }
12564 ],
12565 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012566 "filename" : "include/int/int_report.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012567 "line" : 30,
12568 "column" : 8,
12569 "source_fragment" : "hdr.report_fixed_header.setValid()"
12570 }
12571 },
12572 {
12573 "op" : "assign",
12574 "parameters" : [
12575 {
12576 "type" : "field",
12577 "value" : ["report_fixed_header", "ver"]
12578 },
12579 {
12580 "type" : "hexstr",
12581 "value" : "0x00"
12582 }
12583 ],
12584 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012585 "filename" : "include/int/int_report.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012586 "line" : 31,
12587 "column" : 8,
12588 "source_fragment" : "hdr.report_fixed_header.ver = 0"
12589 }
12590 },
12591 {
12592 "op" : "assign",
12593 "parameters" : [
12594 {
12595 "type" : "field",
12596 "value" : ["report_fixed_header", "nproto"]
12597 },
12598 {
12599 "type" : "hexstr",
12600 "value" : "0x00"
12601 }
12602 ],
12603 "source_info" : {
12604 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012605 "line" : 137,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012606 "column" : 31,
12607 "source_fragment" : "0; ..."
12608 }
12609 },
12610 {
12611 "op" : "assign",
12612 "parameters" : [
12613 {
12614 "type" : "field",
12615 "value" : ["report_fixed_header", "d"]
12616 },
12617 {
12618 "type" : "hexstr",
12619 "value" : "0x00"
12620 }
12621 ],
12622 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012623 "filename" : "include/int/int_report.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012624 "line" : 34,
12625 "column" : 8,
12626 "source_fragment" : "hdr.report_fixed_header.d = 0"
12627 }
12628 },
12629 {
12630 "op" : "assign",
12631 "parameters" : [
12632 {
12633 "type" : "field",
12634 "value" : ["report_fixed_header", "q"]
12635 },
12636 {
12637 "type" : "hexstr",
12638 "value" : "0x00"
12639 }
12640 ],
12641 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012642 "filename" : "include/int/int_report.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012643 "line" : 35,
12644 "column" : 8,
12645 "source_fragment" : "hdr.report_fixed_header.q = 0"
12646 }
12647 },
12648 {
12649 "op" : "assign",
12650 "parameters" : [
12651 {
12652 "type" : "field",
12653 "value" : ["report_fixed_header", "f"]
12654 },
12655 {
12656 "type" : "hexstr",
12657 "value" : "0x01"
12658 }
12659 ],
12660 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012661 "filename" : "include/int/int_report.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012662 "line" : 36,
12663 "column" : 8,
12664 "source_fragment" : "hdr.report_fixed_header.f = 1"
12665 }
12666 },
12667 {
12668 "op" : "assign",
12669 "parameters" : [
12670 {
12671 "type" : "field",
12672 "value" : ["report_fixed_header", "rsvd"]
12673 },
12674 {
12675 "type" : "hexstr",
12676 "value" : "0x0000"
12677 }
12678 ],
12679 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012680 "filename" : "include/int/int_report.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012681 "line" : 37,
12682 "column" : 8,
12683 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
12684 }
12685 },
12686 {
12687 "op" : "assign",
12688 "parameters" : [
12689 {
12690 "type" : "field",
12691 "value" : ["report_fixed_header", "hw_id"]
12692 },
12693 {
12694 "type" : "hexstr",
12695 "value" : "0x01"
12696 }
12697 ],
12698 "source_info" : {
12699 "filename" : "include/control/../define.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012700 "line" : 141,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012701 "column" : 21,
12702 "source_fragment" : "1; ..."
12703 }
12704 },
12705 {
12706 "op" : "assign",
12707 "parameters" : [
12708 {
12709 "type" : "field",
12710 "value" : ["report_fixed_header", "seq_no"]
12711 },
12712 {
12713 "type" : "hexstr",
12714 "value" : "0x00000000"
12715 }
12716 ],
12717 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012718 "filename" : "include/int/int_report.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012719 "line" : 41,
12720 "column" : 8,
12721 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
12722 }
12723 },
12724 {
12725 "op" : "assign",
12726 "parameters" : [
12727 {
12728 "type" : "field",
12729 "value" : ["report_fixed_header", "ingress_tstamp"]
12730 },
12731 {
12732 "type" : "field",
12733 "value" : ["standard_metadata", "enq_timestamp"]
12734 }
12735 ],
12736 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012737 "filename" : "include/int/int_report.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012738 "line" : 43,
12739 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012740 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = (bit<32>) standard_metadata.enq_timestamp"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012741 }
12742 }
12743 ]
12744 },
12745 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012746 "name" : "FabricEgress.process_int_main.process_int_sink.restore_header",
12747 "id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012748 "runtime_data" : [],
12749 "primitives" : [
12750 {
12751 "op" : "assign",
12752 "parameters" : [
12753 {
12754 "type" : "field",
12755 "value" : ["udp", "dst_port"]
12756 },
12757 {
12758 "type" : "field",
12759 "value" : ["intl4_tail", "dest_port"]
12760 }
12761 ],
12762 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012763 "filename" : "include/int/int_sink.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012764 "line" : 26,
12765 "column" : 8,
12766 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
12767 }
12768 },
12769 {
12770 "op" : "assign",
12771 "parameters" : [
12772 {
12773 "type" : "field",
12774 "value" : ["ipv4", "dscp"]
12775 },
12776 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012777 "type" : "field",
12778 "value" : ["intl4_tail", "dscp"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012779 }
12780 ],
12781 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012782 "filename" : "include/int/int_sink.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012783 "line" : 27,
12784 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012785 "source_fragment" : "hdr.ipv4.dscp = hdr.intl4_tail.dscp"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012786 }
12787 }
12788 ]
12789 },
12790 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012791 "name" : "FabricEgress.process_int_main.process_int_sink.int_sink",
12792 "id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012793 "runtime_data" : [],
12794 "primitives" : [
12795 {
12796 "op" : "assign",
12797 "parameters" : [
12798 {
12799 "type" : "field",
12800 "value" : ["ipv4", "total_len"]
12801 },
12802 {
12803 "type" : "expression",
12804 "value" : {
12805 "type" : "expression",
12806 "value" : {
12807 "op" : "&",
12808 "left" : {
12809 "type" : "expression",
12810 "value" : {
12811 "op" : "-",
12812 "left" : {
12813 "type" : "field",
12814 "value" : ["ipv4", "total_len"]
12815 },
12816 "right" : {
12817 "type" : "expression",
12818 "value" : {
12819 "op" : "&",
12820 "left" : {
12821 "type" : "expression",
12822 "value" : {
12823 "op" : "&",
12824 "left" : {
12825 "type" : "expression",
12826 "value" : {
12827 "op" : "<<",
12828 "left" : {
12829 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012830 "value" : ["intl4_shim", "len_words"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012831 },
12832 "right" : {
12833 "type" : "hexstr",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012834 "value" : "0x02"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012835 }
12836 }
12837 },
12838 "right" : {
12839 "type" : "hexstr",
12840 "value" : "0xff"
12841 }
12842 }
12843 },
12844 "right" : {
12845 "type" : "hexstr",
12846 "value" : "0xffff"
12847 }
12848 }
12849 }
12850 }
12851 },
12852 "right" : {
12853 "type" : "hexstr",
12854 "value" : "0xffff"
12855 }
12856 }
12857 }
12858 }
12859 ],
12860 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012861 "filename" : "include/int/int_sink.p4",
12862 "line" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012863 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012864 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - len_bytes"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012865 }
12866 },
12867 {
12868 "op" : "assign",
12869 "parameters" : [
12870 {
12871 "type" : "field",
12872 "value" : ["udp", "len"]
12873 },
12874 {
12875 "type" : "expression",
12876 "value" : {
12877 "type" : "expression",
12878 "value" : {
12879 "op" : "&",
12880 "left" : {
12881 "type" : "expression",
12882 "value" : {
12883 "op" : "-",
12884 "left" : {
12885 "type" : "field",
12886 "value" : ["udp", "len"]
12887 },
12888 "right" : {
12889 "type" : "expression",
12890 "value" : {
12891 "op" : "&",
12892 "left" : {
12893 "type" : "expression",
12894 "value" : {
12895 "op" : "&",
12896 "left" : {
12897 "type" : "expression",
12898 "value" : {
12899 "op" : "<<",
12900 "left" : {
12901 "type" : "field",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012902 "value" : ["intl4_shim", "len_words"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012903 },
12904 "right" : {
12905 "type" : "hexstr",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012906 "value" : "0x02"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012907 }
12908 }
12909 },
12910 "right" : {
12911 "type" : "hexstr",
12912 "value" : "0xff"
12913 }
12914 }
12915 },
12916 "right" : {
12917 "type" : "hexstr",
12918 "value" : "0xffff"
12919 }
12920 }
12921 }
12922 }
12923 },
12924 "right" : {
12925 "type" : "hexstr",
12926 "value" : "0xffff"
12927 }
12928 }
12929 }
12930 }
12931 ],
12932 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012933 "filename" : "include/int/int_sink.p4",
12934 "line" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012935 "column" : 8,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012936 "source_fragment" : "hdr.udp.len = hdr.udp.len - len_bytes"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012937 }
12938 },
12939 {
12940 "op" : "remove_header",
12941 "parameters" : [
12942 {
12943 "type" : "header",
12944 "value" : "int_header"
12945 }
12946 ],
12947 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012948 "filename" : "include/int/int_sink.p4",
12949 "line" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012950 "column" : 8,
12951 "source_fragment" : "hdr.int_header.setInvalid()"
12952 }
12953 },
12954 {
12955 "op" : "remove_header",
12956 "parameters" : [
12957 {
12958 "type" : "header",
12959 "value" : "int_data"
12960 }
12961 ],
12962 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012963 "filename" : "include/int/int_sink.p4",
12964 "line" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012965 "column" : 8,
12966 "source_fragment" : "hdr.int_data.setInvalid()"
12967 }
12968 },
12969 {
12970 "op" : "remove_header",
12971 "parameters" : [
12972 {
12973 "type" : "header",
12974 "value" : "intl4_shim"
12975 }
12976 ],
12977 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012978 "filename" : "include/int/int_sink.p4",
12979 "line" : 38,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012980 "column" : 8,
12981 "source_fragment" : "hdr.intl4_shim.setInvalid()"
12982 }
12983 },
12984 {
12985 "op" : "remove_header",
12986 "parameters" : [
12987 {
12988 "type" : "header",
12989 "value" : "intl4_tail"
12990 }
12991 ],
12992 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070012993 "filename" : "include/int/int_sink.p4",
12994 "line" : 39,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012995 "column" : 8,
12996 "source_fragment" : "hdr.intl4_tail.setInvalid()"
12997 }
12998 },
12999 {
13000 "op" : "remove_header",
13001 "parameters" : [
13002 {
13003 "type" : "header",
13004 "value" : "int_switch_id"
13005 }
13006 ],
13007 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013008 "filename" : "include/int/int_sink.p4",
13009 "line" : 40,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013010 "column" : 8,
13011 "source_fragment" : "hdr.int_switch_id.setInvalid()"
13012 }
13013 },
13014 {
13015 "op" : "remove_header",
13016 "parameters" : [
13017 {
13018 "type" : "header",
13019 "value" : "int_port_ids"
13020 }
13021 ],
13022 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013023 "filename" : "include/int/int_sink.p4",
13024 "line" : 41,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013025 "column" : 8,
13026 "source_fragment" : "hdr.int_port_ids.setInvalid()"
13027 }
13028 },
13029 {
13030 "op" : "remove_header",
13031 "parameters" : [
13032 {
13033 "type" : "header",
13034 "value" : "int_hop_latency"
13035 }
13036 ],
13037 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013038 "filename" : "include/int/int_sink.p4",
13039 "line" : 42,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013040 "column" : 8,
13041 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
13042 }
13043 },
13044 {
13045 "op" : "remove_header",
13046 "parameters" : [
13047 {
13048 "type" : "header",
13049 "value" : "int_q_occupancy"
13050 }
13051 ],
13052 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013053 "filename" : "include/int/int_sink.p4",
13054 "line" : 43,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013055 "column" : 8,
13056 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
13057 }
13058 },
13059 {
13060 "op" : "remove_header",
13061 "parameters" : [
13062 {
13063 "type" : "header",
13064 "value" : "int_ingress_tstamp"
13065 }
13066 ],
13067 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013068 "filename" : "include/int/int_sink.p4",
13069 "line" : 44,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013070 "column" : 8,
13071 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
13072 }
13073 },
13074 {
13075 "op" : "remove_header",
13076 "parameters" : [
13077 {
13078 "type" : "header",
13079 "value" : "int_egress_tstamp"
13080 }
13081 ],
13082 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013083 "filename" : "include/int/int_sink.p4",
13084 "line" : 45,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013085 "column" : 8,
13086 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
13087 }
13088 },
13089 {
13090 "op" : "remove_header",
13091 "parameters" : [
13092 {
13093 "type" : "header",
13094 "value" : "int_q_congestion"
13095 }
13096 ],
13097 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013098 "filename" : "include/int/int_sink.p4",
13099 "line" : 46,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013100 "column" : 8,
13101 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
13102 }
13103 },
13104 {
13105 "op" : "remove_header",
13106 "parameters" : [
13107 {
13108 "type" : "header",
13109 "value" : "int_egress_tx_util"
13110 }
13111 ],
13112 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013113 "filename" : "include/int/int_sink.p4",
13114 "line" : 47,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013115 "column" : 8,
13116 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
13117 }
13118 }
13119 ]
13120 },
13121 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013122 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013123 "id" : 121,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013124 "runtime_data" : [],
13125 "primitives" : [
13126 {
13127 "op" : "assign",
13128 "parameters" : [
13129 {
13130 "type" : "field",
13131 "value" : ["ethernet", "ether_type"]
13132 },
13133 {
13134 "type" : "field",
13135 "value" : ["vlan_tag", "ether_type"]
13136 }
13137 ],
13138 "source_info" : {
13139 "filename" : "include/control/packetio.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013140 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013141 "column" : 8,
13142 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
13143 }
13144 },
13145 {
13146 "op" : "remove_header",
13147 "parameters" : [
13148 {
13149 "type" : "header",
13150 "value" : "vlan_tag"
13151 }
13152 ],
13153 "source_info" : {
13154 "filename" : "include/control/packetio.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013155 "line" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013156 "column" : 8,
13157 "source_fragment" : "hdr.vlan_tag.setInvalid()"
13158 }
13159 }
13160 ]
13161 },
13162 {
13163 "name" : "FabricEgress.egress_next.pop_vlan",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013164 "id" : 122,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013165 "runtime_data" : [],
13166 "primitives" : [
13167 {
13168 "op" : "assign",
13169 "parameters" : [
13170 {
13171 "type" : "field",
13172 "value" : ["ethernet", "ether_type"]
13173 },
13174 {
13175 "type" : "field",
13176 "value" : ["vlan_tag", "ether_type"]
13177 }
13178 ],
13179 "source_info" : {
13180 "filename" : "include/control/next.p4",
13181 "line" : 253,
13182 "column" : 8,
13183 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
13184 }
13185 },
13186 {
13187 "op" : "remove_header",
13188 "parameters" : [
13189 {
13190 "type" : "header",
13191 "value" : "vlan_tag"
13192 }
13193 ],
13194 "source_info" : {
13195 "filename" : "include/control/next.p4",
13196 "line" : 254,
13197 "column" : 8,
13198 "source_fragment" : "hdr.vlan_tag.setInvalid()"
13199 }
13200 }
13201 ]
13202 },
13203 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013204 "name" : "act_31",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013205 "id" : 123,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013206 "runtime_data" : [],
13207 "primitives" : [
13208 {
13209 "op" : "add_header",
13210 "parameters" : [
13211 {
13212 "type" : "header",
13213 "value" : "packet_in"
13214 }
13215 ],
13216 "source_info" : {
13217 "filename" : "include/control/packetio.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013218 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013219 "column" : 12,
13220 "source_fragment" : "hdr.packet_in.setValid()"
13221 }
13222 },
13223 {
13224 "op" : "assign",
13225 "parameters" : [
13226 {
13227 "type" : "field",
13228 "value" : ["packet_in", "ingress_port"]
13229 },
13230 {
13231 "type" : "field",
13232 "value" : ["standard_metadata", "ingress_port"]
13233 }
13234 ],
13235 "source_info" : {
13236 "filename" : "include/control/packetio.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013237 "line" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013238 "column" : 12,
13239 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
13240 }
13241 }
13242 ]
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013243 },
13244 {
13245 "name" : "act_32",
13246 "id" : 124,
13247 "runtime_data" : [],
13248 "primitives" : [
13249 {
13250 "op" : "assign",
13251 "parameters" : [
13252 {
13253 "type" : "field",
13254 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
13255 },
13256 {
13257 "type" : "expression",
13258 "value" : {
13259 "type" : "expression",
13260 "value" : {
13261 "op" : "b2d",
13262 "left" : null,
13263 "right" : {
13264 "type" : "bool",
13265 "value" : false
13266 }
13267 }
13268 }
13269 }
13270 ]
13271 }
13272 ]
13273 },
13274 {
13275 "name" : "act_33",
13276 "id" : 125,
13277 "runtime_data" : [],
13278 "primitives" : [
13279 {
13280 "op" : "assign",
13281 "parameters" : [
13282 {
13283 "type" : "field",
13284 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
13285 },
13286 {
13287 "type" : "expression",
13288 "value" : {
13289 "type" : "expression",
13290 "value" : {
13291 "op" : "b2d",
13292 "left" : null,
13293 "right" : {
13294 "type" : "bool",
13295 "value" : true
13296 }
13297 }
13298 }
13299 }
13300 ],
13301 "source_info" : {
13302 "filename" : "include/int/int_transit.p4",
13303 "line" : 370,
13304 "column" : 12,
13305 "source_fragment" : "return"
13306 }
13307 }
13308 ]
13309 },
13310 {
13311 "name" : "act_34",
13312 "id" : 126,
13313 "runtime_data" : [],
13314 "primitives" : [
13315 {
13316 "op" : "assign",
13317 "parameters" : [
13318 {
13319 "type" : "field",
13320 "value" : ["ipv4", "total_len"]
13321 },
13322 {
13323 "type" : "expression",
13324 "value" : {
13325 "type" : "expression",
13326 "value" : {
13327 "op" : "&",
13328 "left" : {
13329 "type" : "expression",
13330 "value" : {
13331 "op" : "+",
13332 "left" : {
13333 "type" : "field",
13334 "value" : ["ipv4", "total_len"]
13335 },
13336 "right" : {
13337 "type" : "field",
13338 "value" : ["userMetadata.int_meta", "new_bytes"]
13339 }
13340 }
13341 },
13342 "right" : {
13343 "type" : "hexstr",
13344 "value" : "0xffff"
13345 }
13346 }
13347 }
13348 }
13349 ],
13350 "source_info" : {
13351 "filename" : "include/int/int_transit.p4",
13352 "line" : 378,
13353 "column" : 12,
13354 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fmeta.int_meta.new_bytes"
13355 }
13356 }
13357 ]
13358 },
13359 {
13360 "name" : "act_35",
13361 "id" : 127,
13362 "runtime_data" : [],
13363 "primitives" : [
13364 {
13365 "op" : "assign",
13366 "parameters" : [
13367 {
13368 "type" : "field",
13369 "value" : ["int_header", "total_hop_cnt"]
13370 },
13371 {
13372 "type" : "expression",
13373 "value" : {
13374 "type" : "expression",
13375 "value" : {
13376 "op" : "&",
13377 "left" : {
13378 "type" : "expression",
13379 "value" : {
13380 "op" : "+",
13381 "left" : {
13382 "type" : "field",
13383 "value" : ["int_header", "total_hop_cnt"]
13384 },
13385 "right" : {
13386 "type" : "hexstr",
13387 "value" : "0x01"
13388 }
13389 }
13390 },
13391 "right" : {
13392 "type" : "hexstr",
13393 "value" : "0xff"
13394 }
13395 }
13396 }
13397 }
13398 ],
13399 "source_info" : {
13400 "filename" : "include/int/int_transit.p4",
13401 "line" : 375,
13402 "column" : 8,
13403 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
13404 }
13405 }
13406 ]
13407 },
13408 {
13409 "name" : "act_36",
13410 "id" : 128,
13411 "runtime_data" : [],
13412 "primitives" : [
13413 {
13414 "op" : "assign",
13415 "parameters" : [
13416 {
13417 "type" : "field",
13418 "value" : ["udp", "len"]
13419 },
13420 {
13421 "type" : "expression",
13422 "value" : {
13423 "type" : "expression",
13424 "value" : {
13425 "op" : "&",
13426 "left" : {
13427 "type" : "expression",
13428 "value" : {
13429 "op" : "+",
13430 "left" : {
13431 "type" : "field",
13432 "value" : ["udp", "len"]
13433 },
13434 "right" : {
13435 "type" : "field",
13436 "value" : ["userMetadata.int_meta", "new_bytes"]
13437 }
13438 }
13439 },
13440 "right" : {
13441 "type" : "hexstr",
13442 "value" : "0xffff"
13443 }
13444 }
13445 }
13446 }
13447 ],
13448 "source_info" : {
13449 "filename" : "include/int/int_transit.p4",
13450 "line" : 381,
13451 "column" : 12,
13452 "source_fragment" : "hdr.udp.len = hdr.udp.len + fmeta.int_meta.new_bytes"
13453 }
13454 }
13455 ]
13456 },
13457 {
13458 "name" : "act_37",
13459 "id" : 129,
13460 "runtime_data" : [],
13461 "primitives" : [
13462 {
13463 "op" : "assign",
13464 "parameters" : [
13465 {
13466 "type" : "field",
13467 "value" : ["intl4_shim", "len_words"]
13468 },
13469 {
13470 "type" : "expression",
13471 "value" : {
13472 "type" : "expression",
13473 "value" : {
13474 "op" : "&",
13475 "left" : {
13476 "type" : "expression",
13477 "value" : {
13478 "op" : "+",
13479 "left" : {
13480 "type" : "field",
13481 "value" : ["intl4_shim", "len_words"]
13482 },
13483 "right" : {
13484 "type" : "field",
13485 "value" : ["userMetadata.int_meta", "new_words"]
13486 }
13487 }
13488 },
13489 "right" : {
13490 "type" : "hexstr",
13491 "value" : "0xff"
13492 }
13493 }
13494 }
13495 }
13496 ],
13497 "source_info" : {
13498 "filename" : "include/int/int_transit.p4",
13499 "line" : 384,
13500 "column" : 12,
13501 "source_fragment" : "hdr.intl4_shim.len_words = hdr.intl4_shim.len_words + fmeta.int_meta.new_words"
13502 }
13503 }
13504 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013505 }
13506 ],
13507 "pipelines" : [
13508 {
13509 "name" : "ingress",
13510 "id" : 0,
13511 "source_info" : {
13512 "filename" : "fabric.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070013513 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013514 "column" : 8,
13515 "source_fragment" : "FabricIngress"
13516 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013517 "init_table" : "tbl_act",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013518 "tables" : [
13519 {
13520 "name" : "tbl_act",
13521 "id" : 0,
13522 "key" : [],
13523 "match_type" : "exact",
13524 "type" : "simple",
13525 "max_size" : 1024,
13526 "with_counters" : false,
13527 "support_timeout" : false,
13528 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013529 "action_ids" : [44],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013530 "actions" : ["act_0"],
13531 "base_default_next" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013532 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013533 "act_0" : "node_3"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013534 },
13535 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013536 "action_id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013537 "action_const" : true,
13538 "action_data" : [],
13539 "action_entry_const" : true
13540 }
13541 },
13542 {
13543 "name" : "tbl_act_0",
13544 "id" : 1,
13545 "key" : [],
13546 "match_type" : "exact",
13547 "type" : "simple",
13548 "max_size" : 1024,
13549 "with_counters" : false,
13550 "support_timeout" : false,
13551 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013552 "action_ids" : [43],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013553 "actions" : ["act"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013554 "base_default_next" : "node_5",
13555 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013556 "act" : "node_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013557 },
13558 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013559 "action_id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013560 "action_const" : true,
13561 "action_data" : [],
13562 "action_entry_const" : true
13563 }
13564 },
13565 {
13566 "name" : "tbl_act_1",
13567 "id" : 2,
13568 "key" : [],
13569 "match_type" : "exact",
13570 "type" : "simple",
13571 "max_size" : 1024,
13572 "with_counters" : false,
13573 "support_timeout" : false,
13574 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013575 "action_ids" : [47],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013576 "actions" : ["act_3"],
13577 "base_default_next" : "node_7",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013578 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013579 "act_3" : "node_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013580 },
13581 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013582 "action_id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013583 "action_const" : true,
13584 "action_data" : [],
13585 "action_entry_const" : true
13586 }
13587 },
13588 {
13589 "name" : "tbl_act_2",
13590 "id" : 3,
13591 "key" : [],
13592 "match_type" : "exact",
13593 "type" : "simple",
13594 "max_size" : 1024,
13595 "with_counters" : false,
13596 "support_timeout" : false,
13597 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013598 "action_ids" : [45],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013599 "actions" : ["act_1"],
13600 "base_default_next" : "node_10",
13601 "next_tables" : {
13602 "act_1" : "node_10"
13603 },
13604 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013605 "action_id" : 45,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013606 "action_const" : true,
13607 "action_data" : [],
13608 "action_entry_const" : true
13609 }
13610 },
13611 {
13612 "name" : "tbl_act_3",
13613 "id" : 4,
13614 "key" : [],
13615 "match_type" : "exact",
13616 "type" : "simple",
13617 "max_size" : 1024,
13618 "with_counters" : false,
13619 "support_timeout" : false,
13620 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013621 "action_ids" : [46],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013622 "actions" : ["act_2"],
13623 "base_default_next" : "node_10",
13624 "next_tables" : {
13625 "act_2" : "node_10"
13626 },
13627 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013628 "action_id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013629 "action_const" : true,
13630 "action_data" : [],
13631 "action_entry_const" : true
13632 }
13633 },
13634 {
13635 "name" : "tbl_act_4",
13636 "id" : 5,
13637 "key" : [],
13638 "match_type" : "exact",
13639 "type" : "simple",
13640 "max_size" : 1024,
13641 "with_counters" : false,
13642 "support_timeout" : false,
13643 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013644 "action_ids" : [48],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013645 "actions" : ["act_4"],
13646 "base_default_next" : null,
13647 "next_tables" : {
13648 "act_4" : null
13649 },
13650 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013651 "action_id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013652 "action_const" : true,
13653 "action_data" : [],
13654 "action_entry_const" : true
13655 }
13656 },
13657 {
13658 "name" : "tbl_act_5",
13659 "id" : 6,
13660 "key" : [],
13661 "match_type" : "exact",
13662 "type" : "simple",
13663 "max_size" : 1024,
13664 "with_counters" : false,
13665 "support_timeout" : false,
13666 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013667 "action_ids" : [56],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013668 "actions" : ["act_12"],
13669 "base_default_next" : "node_13",
13670 "next_tables" : {
13671 "act_12" : "node_13"
13672 },
13673 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013674 "action_id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013675 "action_const" : true,
13676 "action_data" : [],
13677 "action_entry_const" : true
13678 }
13679 },
13680 {
13681 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013682 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013683 "source_info" : {
13684 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013685 "line" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013686 "column" : 10,
13687 "source_fragment" : "s1u_filter_table"
13688 },
13689 "key" : [
13690 {
13691 "match_type" : "exact",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013692 "name" : "gtpu_ipv4.dst_addr",
13693 "target" : ["gtpu_ipv4", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013694 "mask" : null
13695 }
13696 ],
13697 "match_type" : "exact",
13698 "type" : "simple",
13699 "max_size" : 1024,
13700 "with_counters" : false,
13701 "support_timeout" : false,
13702 "direct_meters" : null,
13703 "action_ids" : [1],
13704 "actions" : ["NoAction"],
13705 "base_default_next" : null,
13706 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013707 "__HIT__" : "tbl_act_6",
13708 "__MISS__" : "tbl_act_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013709 },
13710 "default_entry" : {
13711 "action_id" : 1,
13712 "action_const" : false,
13713 "action_data" : [],
13714 "action_entry_const" : false
13715 }
13716 },
13717 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013718 "name" : "tbl_act_6",
13719 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013720 "key" : [],
13721 "match_type" : "exact",
13722 "type" : "simple",
13723 "max_size" : 1024,
13724 "with_counters" : false,
13725 "support_timeout" : false,
13726 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013727 "action_ids" : [49],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013728 "actions" : ["act_5"],
13729 "base_default_next" : "node_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013730 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013731 "act_5" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013732 },
13733 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013734 "action_id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013735 "action_const" : true,
13736 "action_data" : [],
13737 "action_entry_const" : true
13738 }
13739 },
13740 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013741 "name" : "tbl_act_7",
13742 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013743 "key" : [],
13744 "match_type" : "exact",
13745 "type" : "simple",
13746 "max_size" : 1024,
13747 "with_counters" : false,
13748 "support_timeout" : false,
13749 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013750 "action_ids" : [50],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013751 "actions" : ["act_6"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013752 "base_default_next" : "node_17",
13753 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013754 "act_6" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013755 },
13756 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013757 "action_id" : 50,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013758 "action_const" : true,
13759 "action_data" : [],
13760 "action_entry_const" : true
13761 }
13762 },
13763 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013764 "name" : "tbl_drop_now",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013765 "id" : 10,
13766 "key" : [],
13767 "match_type" : "exact",
13768 "type" : "simple",
13769 "max_size" : 1024,
13770 "with_counters" : false,
13771 "support_timeout" : false,
13772 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013773 "action_ids" : [12],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013774 "actions" : ["drop_now"],
13775 "base_default_next" : "tbl_act_8",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013776 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013777 "drop_now" : "tbl_act_8"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013778 },
13779 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013780 "action_id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013781 "action_const" : true,
13782 "action_data" : [],
13783 "action_entry_const" : true
13784 }
13785 },
13786 {
13787 "name" : "tbl_act_8",
13788 "id" : 11,
13789 "key" : [],
13790 "match_type" : "exact",
13791 "type" : "simple",
13792 "max_size" : 1024,
13793 "with_counters" : false,
13794 "support_timeout" : false,
13795 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013796 "action_ids" : [51],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013797 "actions" : ["act_7"],
13798 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013799 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013800 "act_7" : "tbl_spgw_ingress_gtpu_decap"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013801 },
13802 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013803 "action_id" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013804 "action_const" : true,
13805 "action_data" : [],
13806 "action_entry_const" : true
13807 }
13808 },
13809 {
13810 "name" : "tbl_spgw_ingress_gtpu_decap",
13811 "id" : 12,
13812 "key" : [],
13813 "match_type" : "exact",
13814 "type" : "simple",
13815 "max_size" : 1024,
13816 "with_counters" : false,
13817 "support_timeout" : false,
13818 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013819 "action_ids" : [13],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013820 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013821 "base_default_next" : "node_27",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013822 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013823 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013824 },
13825 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013826 "action_id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013827 "action_const" : true,
13828 "action_data" : [],
13829 "action_entry_const" : true
13830 }
13831 },
13832 {
13833 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
13834 "id" : 13,
13835 "source_info" : {
13836 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013837 "line" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013838 "column" : 10,
13839 "source_fragment" : "dl_sess_lookup"
13840 },
13841 "key" : [
13842 {
13843 "match_type" : "exact",
13844 "name" : "ipv4.dst_addr",
13845 "target" : ["ipv4", "dst_addr"],
13846 "mask" : null
13847 }
13848 ],
13849 "match_type" : "exact",
13850 "type" : "simple",
13851 "max_size" : 1024,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013852 "with_counters" : true,
13853 "support_timeout" : false,
13854 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013855 "action_ids" : [14, 0],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013856 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
13857 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013858 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013859 "__HIT__" : "tbl_act_9",
13860 "__MISS__" : "tbl_act_10"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013861 },
13862 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013863 "action_id" : 0,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013864 "action_const" : false,
13865 "action_data" : [],
13866 "action_entry_const" : false
13867 }
13868 },
13869 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013870 "name" : "tbl_act_9",
13871 "id" : 14,
13872 "key" : [],
13873 "match_type" : "exact",
13874 "type" : "simple",
13875 "max_size" : 1024,
13876 "with_counters" : false,
13877 "support_timeout" : false,
13878 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013879 "action_ids" : [52],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013880 "actions" : ["act_8"],
13881 "base_default_next" : "node_24",
13882 "next_tables" : {
13883 "act_8" : "node_24"
13884 },
13885 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013886 "action_id" : 52,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013887 "action_const" : true,
13888 "action_data" : [],
13889 "action_entry_const" : true
13890 }
13891 },
13892 {
13893 "name" : "tbl_act_10",
13894 "id" : 15,
13895 "key" : [],
13896 "match_type" : "exact",
13897 "type" : "simple",
13898 "max_size" : 1024,
13899 "with_counters" : false,
13900 "support_timeout" : false,
13901 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013902 "action_ids" : [53],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013903 "actions" : ["act_9"],
13904 "base_default_next" : "node_24",
13905 "next_tables" : {
13906 "act_9" : "node_24"
13907 },
13908 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013909 "action_id" : 53,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013910 "action_const" : true,
13911 "action_data" : [],
13912 "action_entry_const" : true
13913 }
13914 },
13915 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013916 "name" : "tbl_act_11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013917 "id" : 16,
13918 "key" : [],
13919 "match_type" : "exact",
13920 "type" : "simple",
13921 "max_size" : 1024,
13922 "with_counters" : false,
13923 "support_timeout" : false,
13924 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013925 "action_ids" : [54],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013926 "actions" : ["act_10"],
13927 "base_default_next" : "node_27",
13928 "next_tables" : {
13929 "act_10" : "node_27"
13930 },
13931 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013932 "action_id" : 54,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013933 "action_const" : true,
13934 "action_data" : [],
13935 "action_entry_const" : true
13936 }
13937 },
13938 {
13939 "name" : "tbl_act_12",
13940 "id" : 17,
13941 "key" : [],
13942 "match_type" : "exact",
13943 "type" : "simple",
13944 "max_size" : 1024,
13945 "with_counters" : false,
13946 "support_timeout" : false,
13947 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013948 "action_ids" : [55],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013949 "actions" : ["act_11"],
13950 "base_default_next" : "node_27",
13951 "next_tables" : {
13952 "act_11" : "node_27"
13953 },
13954 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013955 "action_id" : 55,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013956 "action_const" : true,
13957 "action_data" : [],
13958 "action_entry_const" : true
13959 }
13960 },
13961 {
13962 "name" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013963 "id" : 18,
13964 "key" : [],
13965 "match_type" : "exact",
13966 "type" : "simple",
13967 "max_size" : 1024,
13968 "with_counters" : false,
13969 "support_timeout" : false,
13970 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013971 "action_ids" : [57],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013972 "actions" : ["act_13"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013973 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
13974 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013975 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013976 },
13977 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013978 "action_id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013979 "action_const" : true,
13980 "action_data" : [],
13981 "action_entry_const" : true
13982 }
13983 },
13984 {
13985 "name" : "FabricIngress.filtering.ingress_port_vlan",
13986 "id" : 19,
13987 "source_info" : {
13988 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013989 "line" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013990 "column" : 10,
13991 "source_fragment" : "ingress_port_vlan"
13992 },
13993 "key" : [
13994 {
13995 "match_type" : "exact",
13996 "name" : "standard_metadata.ingress_port",
13997 "target" : ["standard_metadata", "ingress_port"],
13998 "mask" : null
13999 },
14000 {
14001 "match_type" : "exact",
14002 "name" : "hdr.vlan_tag.is_valid",
14003 "target" : ["vlan_tag", "$valid$"],
14004 "mask" : null
14005 },
14006 {
14007 "match_type" : "ternary",
14008 "name" : "hdr.vlan_tag.vlan_id",
14009 "target" : ["vlan_tag", "vlan_id"],
14010 "mask" : null
14011 }
14012 ],
14013 "match_type" : "ternary",
14014 "type" : "simple",
14015 "max_size" : 1024,
14016 "with_counters" : true,
14017 "support_timeout" : false,
14018 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070014019 "action_ids" : [19, 18, 17, 20],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014020 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
14021 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014022 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014023 "__HIT__" : "tbl_act_14",
14024 "__MISS__" : "tbl_act_15"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014025 },
14026 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070014027 "action_id" : 19,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014028 "action_const" : true,
14029 "action_data" : ["0xffe"],
14030 "action_entry_const" : true
14031 }
14032 },
14033 {
14034 "name" : "tbl_act_14",
14035 "id" : 20,
14036 "key" : [],
14037 "match_type" : "exact",
14038 "type" : "simple",
14039 "max_size" : 1024,
14040 "with_counters" : false,
14041 "support_timeout" : false,
14042 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014043 "action_ids" : [58],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014044 "actions" : ["act_14"],
14045 "base_default_next" : "node_32",
14046 "next_tables" : {
14047 "act_14" : "node_32"
14048 },
14049 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014050 "action_id" : 58,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014051 "action_const" : true,
14052 "action_data" : [],
14053 "action_entry_const" : true
14054 }
14055 },
14056 {
14057 "name" : "tbl_act_15",
14058 "id" : 21,
14059 "key" : [],
14060 "match_type" : "exact",
14061 "type" : "simple",
14062 "max_size" : 1024,
14063 "with_counters" : false,
14064 "support_timeout" : false,
14065 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014066 "action_ids" : [59],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014067 "actions" : ["act_15"],
14068 "base_default_next" : "node_32",
14069 "next_tables" : {
14070 "act_15" : "node_32"
14071 },
14072 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014073 "action_id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014074 "action_const" : true,
14075 "action_data" : [],
14076 "action_entry_const" : true
14077 }
14078 },
14079 {
14080 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014081 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014082 "source_info" : {
14083 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014084 "line" : 103,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014085 "column" : 10,
14086 "source_fragment" : "fwd_classifier"
14087 },
14088 "key" : [
14089 {
14090 "match_type" : "exact",
14091 "name" : "standard_metadata.ingress_port",
14092 "target" : ["standard_metadata", "ingress_port"],
14093 "mask" : null
14094 },
14095 {
Charles Chan384aea22018-08-23 22:08:02 -070014096 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014097 "name" : "hdr.ethernet.dst_addr",
14098 "target" : ["ethernet", "dst_addr"],
14099 "mask" : null
14100 },
14101 {
14102 "match_type" : "exact",
Yi Tseng8235a1a2018-07-24 20:57:28 +080014103 "name" : "hdr.vlan_tag.ether_type",
14104 "target" : ["vlan_tag", "ether_type"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014105 "mask" : null
14106 }
14107 ],
Charles Chan384aea22018-08-23 22:08:02 -070014108 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014109 "type" : "simple",
14110 "max_size" : 1024,
14111 "with_counters" : true,
14112 "support_timeout" : false,
14113 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070014114 "action_ids" : [21],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014115 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014116 "base_default_next" : "node_35",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014117 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014118 "FabricIngress.filtering.set_forwarding_type" : "node_35"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014119 },
14120 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070014121 "action_id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014122 "action_const" : true,
14123 "action_data" : ["0x0"],
14124 "action_entry_const" : true
14125 }
14126 },
14127 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014128 "name" : "tbl_act_16",
14129 "id" : 23,
14130 "key" : [],
14131 "match_type" : "exact",
14132 "type" : "simple",
14133 "max_size" : 1024,
14134 "with_counters" : false,
14135 "support_timeout" : false,
14136 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014137 "action_ids" : [60],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014138 "actions" : ["act_16"],
14139 "base_default_next" : "node_35",
14140 "next_tables" : {
14141 "act_16" : "node_35"
14142 },
14143 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014144 "action_id" : 60,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014145 "action_const" : true,
14146 "action_data" : [],
14147 "action_entry_const" : true
14148 }
14149 },
14150 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014151 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014152 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014153 "source_info" : {
14154 "filename" : "include/control/forwarding.p4",
14155 "line" : 41,
14156 "column" : 10,
14157 "source_fragment" : "bridging"
14158 },
14159 "key" : [
14160 {
14161 "match_type" : "exact",
14162 "name" : "hdr.vlan_tag.vlan_id",
14163 "target" : ["vlan_tag", "vlan_id"],
14164 "mask" : null
14165 },
14166 {
14167 "match_type" : "ternary",
14168 "name" : "hdr.ethernet.dst_addr",
14169 "target" : ["ethernet", "dst_addr"],
14170 "mask" : null
14171 }
14172 ],
14173 "match_type" : "ternary",
14174 "type" : "simple",
14175 "max_size" : 1024,
14176 "with_counters" : true,
14177 "support_timeout" : false,
14178 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070014179 "action_ids" : [22, 4],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014180 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
14181 "base_default_next" : "FabricIngress.forwarding.acl",
14182 "next_tables" : {
14183 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
14184 "NoAction" : "FabricIngress.forwarding.acl"
14185 },
14186 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014187 "action_id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014188 "action_const" : false,
14189 "action_data" : [],
14190 "action_entry_const" : false
14191 }
14192 },
14193 {
14194 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014195 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014196 "source_info" : {
14197 "filename" : "include/control/forwarding.p4",
14198 "line" : 65,
14199 "column" : 10,
14200 "source_fragment" : "mpls"
14201 },
14202 "key" : [
14203 {
14204 "match_type" : "exact",
14205 "name" : "hdr.mpls.label",
14206 "target" : ["mpls", "label"],
14207 "mask" : null
14208 }
14209 ],
14210 "match_type" : "exact",
14211 "type" : "simple",
14212 "max_size" : 1024,
14213 "with_counters" : true,
14214 "support_timeout" : false,
14215 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070014216 "action_ids" : [23, 5],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014217 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014218 "base_default_next" : "tbl_act_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014219 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014220 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_17",
14221 "NoAction" : "tbl_act_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014222 },
14223 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014224 "action_id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014225 "action_const" : false,
14226 "action_data" : [],
14227 "action_entry_const" : false
14228 }
14229 },
14230 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014231 "name" : "tbl_act_17",
14232 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014233 "key" : [],
14234 "match_type" : "exact",
14235 "type" : "simple",
14236 "max_size" : 1024,
14237 "with_counters" : false,
14238 "support_timeout" : false,
14239 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014240 "action_ids" : [61],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014241 "actions" : ["act_17"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014242 "base_default_next" : "FabricIngress.forwarding.acl",
14243 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014244 "act_17" : "FabricIngress.forwarding.acl"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014245 },
14246 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014247 "action_id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014248 "action_const" : true,
14249 "action_data" : [],
14250 "action_entry_const" : true
14251 }
14252 },
14253 {
Charles Chan384aea22018-08-23 22:08:02 -070014254 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014255 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014256 "source_info" : {
14257 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070014258 "line" : 91,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014259 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070014260 "source_fragment" : "routing_v4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014261 },
14262 "key" : [
14263 {
14264 "match_type" : "lpm",
14265 "name" : "hdr.ipv4.dst_addr",
14266 "target" : ["ipv4", "dst_addr"],
14267 "mask" : null
14268 }
14269 ],
14270 "match_type" : "lpm",
14271 "type" : "simple",
14272 "max_size" : 1024,
14273 "with_counters" : true,
14274 "support_timeout" : false,
14275 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014276 "action_ids" : [24, 25, 6],
14277 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014278 "base_default_next" : "FabricIngress.forwarding.acl",
14279 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014280 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl",
Charles Chancd03f072018-08-31 17:46:37 -070014281 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.forwarding.acl",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014282 "NoAction" : "FabricIngress.forwarding.acl"
14283 },
14284 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014285 "action_id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014286 "action_const" : false,
14287 "action_data" : [],
14288 "action_entry_const" : false
14289 }
14290 },
14291 {
Charles Chan384aea22018-08-23 22:08:02 -070014292 "name" : "FabricIngress.forwarding.routing_v6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014293 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014294 "source_info" : {
14295 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070014296 "line" : 178,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014297 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070014298 "source_fragment" : "routing_v6"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014299 },
14300 "key" : [
14301 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014302 "match_type" : "lpm",
Charles Chan384aea22018-08-23 22:08:02 -070014303 "name" : "hdr.ipv6.dst_addr",
14304 "target" : ["ipv6", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014305 "mask" : null
14306 }
14307 ],
14308 "match_type" : "lpm",
14309 "type" : "simple",
14310 "max_size" : 1024,
14311 "with_counters" : true,
14312 "support_timeout" : false,
14313 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014314 "action_ids" : [31, 7],
Charles Chan384aea22018-08-23 22:08:02 -070014315 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v6", "NoAction"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014316 "base_default_next" : "FabricIngress.forwarding.acl",
14317 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014318 "FabricIngress.forwarding.set_next_id_routing_v6" : "FabricIngress.forwarding.acl",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014319 "NoAction" : "FabricIngress.forwarding.acl"
14320 },
14321 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014322 "action_id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014323 "action_const" : false,
14324 "action_data" : [],
14325 "action_entry_const" : false
14326 }
14327 },
14328 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014329 "name" : "FabricIngress.forwarding.acl",
Charles Chan384aea22018-08-23 22:08:02 -070014330 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014331 "source_info" : {
14332 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070014333 "line" : 136,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014334 "column" : 10,
14335 "source_fragment" : "acl"
14336 },
14337 "key" : [
14338 {
14339 "match_type" : "ternary",
14340 "name" : "standard_metadata.ingress_port",
14341 "target" : ["standard_metadata", "ingress_port"],
14342 "mask" : null
14343 },
14344 {
14345 "match_type" : "ternary",
14346 "name" : "fabric_metadata.ip_proto",
14347 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
14348 "mask" : null
14349 },
14350 {
14351 "match_type" : "ternary",
14352 "name" : "fabric_metadata.l4_src_port",
14353 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
14354 "mask" : null
14355 },
14356 {
14357 "match_type" : "ternary",
14358 "name" : "fabric_metadata.l4_dst_port",
14359 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
14360 "mask" : null
14361 },
14362 {
14363 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014364 "name" : "hdr.ethernet.dst_addr",
14365 "target" : ["ethernet", "dst_addr"],
14366 "mask" : null
14367 },
14368 {
14369 "match_type" : "ternary",
14370 "name" : "hdr.ethernet.src_addr",
14371 "target" : ["ethernet", "src_addr"],
14372 "mask" : null
14373 },
14374 {
14375 "match_type" : "ternary",
14376 "name" : "hdr.vlan_tag.vlan_id",
14377 "target" : ["vlan_tag", "vlan_id"],
14378 "mask" : null
14379 },
14380 {
14381 "match_type" : "ternary",
Yi Tseng8235a1a2018-07-24 20:57:28 +080014382 "name" : "hdr.vlan_tag.ether_type",
14383 "target" : ["vlan_tag", "ether_type"],
14384 "mask" : null
14385 },
14386 {
14387 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014388 "name" : "hdr.ipv4.src_addr",
14389 "target" : ["ipv4", "src_addr"],
14390 "mask" : null
14391 },
14392 {
14393 "match_type" : "ternary",
14394 "name" : "hdr.ipv4.dst_addr",
14395 "target" : ["ipv4", "dst_addr"],
14396 "mask" : null
14397 },
14398 {
14399 "match_type" : "ternary",
14400 "name" : "hdr.icmp.icmp_type",
14401 "target" : ["icmp", "icmp_type"],
14402 "mask" : null
14403 },
14404 {
14405 "match_type" : "ternary",
14406 "name" : "hdr.icmp.icmp_code",
14407 "target" : ["icmp", "icmp_code"],
14408 "mask" : null
14409 }
14410 ],
14411 "match_type" : "ternary",
14412 "type" : "simple",
Yi Tseng8235a1a2018-07-24 20:57:28 +080014413 "max_size" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014414 "with_counters" : true,
14415 "support_timeout" : false,
14416 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014417 "action_ids" : [26, 27, 28, 29, 30],
Charles Chancf696e52018-08-16 16:25:13 -070014418 "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014419 "base_default_next" : "tbl_act_18",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014420 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014421 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_18",
14422 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_18",
14423 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_18",
14424 "FabricIngress.forwarding.drop" : "tbl_act_18",
14425 "FabricIngress.forwarding.nop_acl" : "tbl_act_18"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014426 },
14427 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014428 "action_id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014429 "action_const" : true,
14430 "action_data" : [],
14431 "action_entry_const" : true
14432 }
14433 },
14434 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014435 "name" : "tbl_act_18",
Charles Chan384aea22018-08-23 22:08:02 -070014436 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014437 "key" : [],
14438 "match_type" : "exact",
14439 "type" : "simple",
14440 "max_size" : 1024,
14441 "with_counters" : false,
14442 "support_timeout" : false,
14443 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014444 "action_ids" : [62],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014445 "actions" : ["act_18"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014446 "base_default_next" : "FabricIngress.next.vlan_meta",
14447 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014448 "act_18" : "FabricIngress.next.vlan_meta"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014449 },
14450 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014451 "action_id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014452 "action_const" : true,
14453 "action_data" : [],
14454 "action_entry_const" : true
14455 }
14456 },
14457 {
14458 "name" : "FabricIngress.next.vlan_meta",
Charles Chan384aea22018-08-23 22:08:02 -070014459 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014460 "source_info" : {
14461 "filename" : "include/control/next.p4",
14462 "line" : 65,
14463 "column" : 10,
14464 "source_fragment" : "vlan_meta"
14465 },
14466 "key" : [
14467 {
14468 "match_type" : "exact",
14469 "name" : "fabric_metadata.next_id",
14470 "target" : ["scalars", "fabric_metadata_t.next_id"],
14471 "mask" : null
14472 }
14473 ],
14474 "match_type" : "exact",
14475 "type" : "simple",
14476 "max_size" : 1024,
14477 "with_counters" : true,
14478 "support_timeout" : false,
14479 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014480 "action_ids" : [32, 11],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014481 "actions" : ["FabricIngress.next.set_vlan", "nop"],
14482 "base_default_next" : "FabricIngress.next.simple",
14483 "next_tables" : {
14484 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
14485 "nop" : "FabricIngress.next.simple"
14486 },
14487 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070014488 "action_id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014489 "action_const" : false,
14490 "action_data" : [],
14491 "action_entry_const" : false
14492 }
14493 },
14494 {
14495 "name" : "FabricIngress.next.simple",
Charles Chan384aea22018-08-23 22:08:02 -070014496 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014497 "source_info" : {
14498 "filename" : "include/control/next.p4",
14499 "line" : 122,
14500 "column" : 10,
14501 "source_fragment" : "simple"
14502 },
14503 "key" : [
14504 {
14505 "match_type" : "exact",
14506 "name" : "fabric_metadata.next_id",
14507 "target" : ["scalars", "fabric_metadata_t.next_id"],
14508 "mask" : null
14509 }
14510 ],
14511 "match_type" : "exact",
14512 "type" : "simple",
14513 "max_size" : 1024,
14514 "with_counters" : true,
14515 "support_timeout" : false,
14516 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014517 "action_ids" : [33, 34, 35, 36, 37, 38, 8],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014518 "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"],
14519 "base_default_next" : null,
14520 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014521 "__HIT__" : "tbl_act_19",
14522 "__MISS__" : "tbl_act_20"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014523 },
14524 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070014525 "action_id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014526 "action_const" : false,
14527 "action_data" : [],
14528 "action_entry_const" : false
14529 }
14530 },
14531 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014532 "name" : "tbl_act_19",
Charles Chan384aea22018-08-23 22:08:02 -070014533 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014534 "key" : [],
14535 "match_type" : "exact",
14536 "type" : "simple",
14537 "max_size" : 1024,
14538 "with_counters" : false,
14539 "support_timeout" : false,
14540 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014541 "action_ids" : [63],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014542 "actions" : ["act_19"],
Charles Chan384aea22018-08-23 22:08:02 -070014543 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014544 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014545 "act_19" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014546 },
14547 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014548 "action_id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014549 "action_const" : true,
14550 "action_data" : [],
14551 "action_entry_const" : true
14552 }
14553 },
14554 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014555 "name" : "tbl_act_20",
Charles Chan384aea22018-08-23 22:08:02 -070014556 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014557 "key" : [],
14558 "match_type" : "exact",
14559 "type" : "simple",
14560 "max_size" : 1024,
14561 "with_counters" : false,
14562 "support_timeout" : false,
14563 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014564 "action_ids" : [64],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014565 "actions" : ["act_20"],
Charles Chan384aea22018-08-23 22:08:02 -070014566 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014567 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014568 "act_20" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014569 },
14570 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014571 "action_id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014572 "action_const" : true,
14573 "action_data" : [],
14574 "action_entry_const" : true
14575 }
14576 },
14577 {
14578 "name" : "FabricIngress.next.hashed",
Charles Chan384aea22018-08-23 22:08:02 -070014579 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014580 "source_info" : {
14581 "filename" : "include/control/next.p4",
14582 "line" : 175,
14583 "column" : 10,
14584 "source_fragment" : "hashed"
14585 },
14586 "key" : [
14587 {
14588 "match_type" : "exact",
14589 "name" : "fabric_metadata.next_id",
14590 "target" : ["scalars", "fabric_metadata_t.next_id"],
14591 "mask" : null
14592 }
14593 ],
14594 "match_type" : "exact",
14595 "type" : "indirect_ws",
14596 "action_profile" : "FabricIngress.next.ecmp_selector",
14597 "max_size" : 1024,
14598 "with_counters" : true,
14599 "support_timeout" : false,
14600 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014601 "action_ids" : [39, 40, 41, 9],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014602 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
14603 "base_default_next" : null,
14604 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014605 "__HIT__" : "tbl_act_21",
14606 "__MISS__" : "tbl_act_22"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014607 }
14608 },
14609 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014610 "name" : "tbl_act_21",
Charles Chan384aea22018-08-23 22:08:02 -070014611 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014612 "key" : [],
14613 "match_type" : "exact",
14614 "type" : "simple",
14615 "max_size" : 1024,
14616 "with_counters" : false,
14617 "support_timeout" : false,
14618 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014619 "action_ids" : [65],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014620 "actions" : ["act_21"],
Charles Chan384aea22018-08-23 22:08:02 -070014621 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014622 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014623 "act_21" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014624 },
14625 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014626 "action_id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014627 "action_const" : true,
14628 "action_data" : [],
14629 "action_entry_const" : true
14630 }
14631 },
14632 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014633 "name" : "tbl_act_22",
Charles Chan384aea22018-08-23 22:08:02 -070014634 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014635 "key" : [],
14636 "match_type" : "exact",
14637 "type" : "simple",
14638 "max_size" : 1024,
14639 "with_counters" : false,
14640 "support_timeout" : false,
14641 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014642 "action_ids" : [66],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014643 "actions" : ["act_22"],
Charles Chan384aea22018-08-23 22:08:02 -070014644 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014645 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014646 "act_22" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014647 },
14648 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014649 "action_id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014650 "action_const" : true,
14651 "action_data" : [],
14652 "action_entry_const" : true
14653 }
14654 },
14655 {
14656 "name" : "FabricIngress.next.multicast",
Charles Chan384aea22018-08-23 22:08:02 -070014657 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014658 "source_info" : {
14659 "filename" : "include/control/next.p4",
14660 "line" : 207,
14661 "column" : 10,
14662 "source_fragment" : "multicast"
14663 },
14664 "key" : [
14665 {
14666 "match_type" : "exact",
14667 "name" : "fabric_metadata.next_id",
14668 "target" : ["scalars", "fabric_metadata_t.next_id"],
14669 "mask" : null
14670 }
14671 ],
14672 "match_type" : "exact",
14673 "type" : "simple",
14674 "max_size" : 1024,
14675 "with_counters" : true,
14676 "support_timeout" : false,
14677 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014678 "action_ids" : [42, 10],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014679 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
14680 "base_default_next" : null,
14681 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014682 "__HIT__" : "tbl_act_23",
14683 "__MISS__" : "tbl_act_24"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014684 },
14685 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070014686 "action_id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014687 "action_const" : false,
14688 "action_data" : [],
14689 "action_entry_const" : false
14690 }
14691 },
14692 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014693 "name" : "tbl_act_23",
Charles Chan384aea22018-08-23 22:08:02 -070014694 "id" : 39,
14695 "key" : [],
14696 "match_type" : "exact",
14697 "type" : "simple",
14698 "max_size" : 1024,
14699 "with_counters" : false,
14700 "support_timeout" : false,
14701 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014702 "action_ids" : [67],
Charles Chan384aea22018-08-23 22:08:02 -070014703 "actions" : ["act_23"],
14704 "base_default_next" : "node_58",
14705 "next_tables" : {
14706 "act_23" : "node_58"
14707 },
14708 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014709 "action_id" : 67,
Charles Chan384aea22018-08-23 22:08:02 -070014710 "action_const" : true,
14711 "action_data" : [],
14712 "action_entry_const" : true
14713 }
14714 },
14715 {
14716 "name" : "tbl_act_24",
14717 "id" : 40,
14718 "key" : [],
14719 "match_type" : "exact",
14720 "type" : "simple",
14721 "max_size" : 1024,
14722 "with_counters" : false,
14723 "support_timeout" : false,
14724 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014725 "action_ids" : [68],
Charles Chan384aea22018-08-23 22:08:02 -070014726 "actions" : ["act_24"],
14727 "base_default_next" : "node_58",
14728 "next_tables" : {
14729 "act_24" : "node_58"
14730 },
14731 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014732 "action_id" : 68,
Charles Chan384aea22018-08-23 22:08:02 -070014733 "action_const" : true,
14734 "action_data" : [],
14735 "action_entry_const" : true
14736 }
14737 },
14738 {
14739 "name" : "tbl_act_25",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014740 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014741 "key" : [],
14742 "match_type" : "exact",
14743 "type" : "simple",
14744 "max_size" : 1024,
14745 "with_counters" : false,
14746 "support_timeout" : false,
14747 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014748 "action_ids" : [69],
Charles Chan384aea22018-08-23 22:08:02 -070014749 "actions" : ["act_25"],
14750 "base_default_next" : "node_60",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014751 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014752 "act_25" : "node_60"
14753 },
14754 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014755 "action_id" : 69,
Charles Chan384aea22018-08-23 22:08:02 -070014756 "action_const" : true,
14757 "action_data" : [],
14758 "action_entry_const" : true
14759 }
14760 },
14761 {
14762 "name" : "tbl_act_26",
14763 "id" : 42,
14764 "key" : [],
14765 "match_type" : "exact",
14766 "type" : "simple",
14767 "max_size" : 1024,
14768 "with_counters" : false,
14769 "support_timeout" : false,
14770 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014771 "action_ids" : [70],
Charles Chan384aea22018-08-23 22:08:02 -070014772 "actions" : ["act_26"],
14773 "base_default_next" : "node_66",
14774 "next_tables" : {
14775 "act_26" : "node_66"
14776 },
14777 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014778 "action_id" : 70,
Charles Chan384aea22018-08-23 22:08:02 -070014779 "action_const" : true,
14780 "action_data" : [],
14781 "action_entry_const" : true
14782 }
14783 },
14784 {
14785 "name" : "tbl_act_27",
14786 "id" : 43,
14787 "key" : [],
14788 "match_type" : "exact",
14789 "type" : "simple",
14790 "max_size" : 1024,
14791 "with_counters" : false,
14792 "support_timeout" : false,
14793 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014794 "action_ids" : [71],
Charles Chan384aea22018-08-23 22:08:02 -070014795 "actions" : ["act_27"],
14796 "base_default_next" : "node_66",
14797 "next_tables" : {
14798 "act_27" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014799 },
14800 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014801 "action_id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014802 "action_const" : true,
14803 "action_data" : [],
14804 "action_entry_const" : true
14805 }
14806 },
14807 {
Charles Chan384aea22018-08-23 22:08:02 -070014808 "name" : "tbl_act_28",
14809 "id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014810 "key" : [],
14811 "match_type" : "exact",
14812 "type" : "simple",
14813 "max_size" : 1024,
14814 "with_counters" : false,
14815 "support_timeout" : false,
14816 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014817 "action_ids" : [72],
Charles Chan384aea22018-08-23 22:08:02 -070014818 "actions" : ["act_28"],
14819 "base_default_next" : "node_68",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014820 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014821 "act_28" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014822 },
14823 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014824 "action_id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014825 "action_const" : true,
14826 "action_data" : [],
14827 "action_entry_const" : true
14828 }
14829 },
14830 {
Charles Chan384aea22018-08-23 22:08:02 -070014831 "name" : "tbl_act_29",
14832 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014833 "key" : [],
14834 "match_type" : "exact",
14835 "type" : "simple",
14836 "max_size" : 1024,
14837 "with_counters" : false,
14838 "support_timeout" : false,
14839 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014840 "action_ids" : [73],
Charles Chan384aea22018-08-23 22:08:02 -070014841 "actions" : ["act_29"],
14842 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014843 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014844 "act_29" : "FabricIngress.process_set_source_sink.tb_set_source"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014845 },
14846 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014847 "action_id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014848 "action_const" : true,
14849 "action_data" : [],
14850 "action_entry_const" : true
14851 }
14852 },
14853 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014854 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
Charles Chan384aea22018-08-23 22:08:02 -070014855 "id" : 46,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014856 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070014857 "filename" : "include/int/int_main.p4",
14858 "line" : 46,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014859 "column" : 10,
14860 "source_fragment" : "tb_set_source"
14861 },
14862 "key" : [
14863 {
14864 "match_type" : "exact",
14865 "name" : "standard_metadata.ingress_port",
14866 "target" : ["standard_metadata", "ingress_port"],
14867 "mask" : null
14868 }
14869 ],
14870 "match_type" : "exact",
14871 "type" : "simple",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070014872 "max_size" : 511,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014873 "with_counters" : true,
14874 "support_timeout" : false,
14875 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070014876 "action_ids" : [15, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014877 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
14878 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
14879 "next_tables" : {
14880 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
14881 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
14882 },
14883 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014884 "action_id" : 2,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014885 "action_const" : false,
14886 "action_data" : [],
14887 "action_entry_const" : false
14888 }
14889 },
14890 {
14891 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
Charles Chan384aea22018-08-23 22:08:02 -070014892 "id" : 47,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014893 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070014894 "filename" : "include/int/int_main.p4",
14895 "line" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014896 "column" : 10,
14897 "source_fragment" : "tb_set_sink"
14898 },
14899 "key" : [
14900 {
14901 "match_type" : "exact",
14902 "name" : "standard_metadata.egress_spec",
14903 "target" : ["standard_metadata", "egress_spec"],
14904 "mask" : null
14905 }
14906 ],
14907 "match_type" : "exact",
14908 "type" : "simple",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070014909 "max_size" : 511,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014910 "with_counters" : true,
14911 "support_timeout" : false,
14912 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070014913 "action_ids" : [16, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014914 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
Charles Chan384aea22018-08-23 22:08:02 -070014915 "base_default_next" : "node_72",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014916 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070014917 "FabricIngress.process_set_source_sink.int_set_sink" : "node_72",
14918 "NoAction" : "node_72"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014919 },
14920 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014921 "action_id" : 3,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014922 "action_const" : false,
14923 "action_data" : [],
14924 "action_entry_const" : false
14925 }
14926 },
14927 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014928 "name" : "tbl_act_30",
Charles Chan384aea22018-08-23 22:08:02 -070014929 "id" : 48,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014930 "key" : [],
14931 "match_type" : "exact",
14932 "type" : "simple",
14933 "max_size" : 1024,
14934 "with_counters" : false,
14935 "support_timeout" : false,
14936 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070014937 "action_ids" : [74],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014938 "actions" : ["act_30"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014939 "base_default_next" : null,
14940 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014941 "act_30" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014942 },
14943 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070014944 "action_id" : 74,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014945 "action_const" : true,
14946 "action_data" : [],
14947 "action_entry_const" : true
14948 }
14949 }
14950 ],
14951 "action_profiles" : [
14952 {
14953 "name" : "FabricIngress.next.ecmp_selector",
14954 "id" : 0,
14955 "max_size" : 64,
14956 "selector" : {
14957 "algo" : "crc16",
14958 "input" : [
14959 {
14960 "type" : "field",
14961 "value" : ["ipv4", "dst_addr"]
14962 },
14963 {
14964 "type" : "field",
14965 "value" : ["ipv4", "src_addr"]
14966 },
14967 {
14968 "type" : "field",
14969 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
14970 },
14971 {
14972 "type" : "field",
14973 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
14974 },
14975 {
14976 "type" : "field",
14977 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
14978 }
14979 ]
14980 }
14981 }
14982 ],
14983 "conditionals" : [
14984 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014985 "name" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014986 "id" : 0,
14987 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014988 "filename" : "include/spgw.p4",
14989 "line" : 30,
14990 "column" : 12,
14991 "source_fragment" : "! is_gtpu_encapped"
14992 },
14993 "expression" : {
14994 "type" : "expression",
14995 "value" : {
14996 "op" : "not",
14997 "left" : null,
14998 "right" : {
14999 "type" : "expression",
15000 "value" : {
15001 "op" : "d2b",
15002 "left" : null,
15003 "right" : {
15004 "type" : "field",
15005 "value" : ["gtpu", "$valid$"]
15006 }
15007 }
15008 }
15009 }
15010 },
15011 "true_next" : "tbl_act_0",
15012 "false_next" : "node_5"
15013 },
15014 {
15015 "name" : "node_5",
15016 "id" : 1,
15017 "expression" : {
15018 "type" : "expression",
15019 "value" : {
15020 "op" : "not",
15021 "left" : null,
15022 "right" : {
15023 "type" : "expression",
15024 "value" : {
15025 "op" : "d2b",
15026 "left" : null,
15027 "right" : {
15028 "type" : "field",
15029 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
15030 }
15031 }
15032 }
15033 }
15034 },
15035 "true_next" : "tbl_act_1",
15036 "false_next" : "node_10"
15037 },
15038 {
15039 "name" : "node_7",
15040 "id" : 2,
15041 "source_info" : {
15042 "filename" : "include/spgw.p4",
15043 "line" : 34,
15044 "column" : 12,
15045 "source_fragment" : "inner_udp.isValid()"
15046 },
15047 "expression" : {
15048 "type" : "expression",
15049 "value" : {
15050 "op" : "d2b",
15051 "left" : null,
15052 "right" : {
15053 "type" : "field",
15054 "value" : ["inner_udp", "$valid$"]
15055 }
15056 }
15057 },
15058 "true_next" : "tbl_act_2",
15059 "false_next" : "tbl_act_3"
15060 },
15061 {
15062 "name" : "node_10",
15063 "id" : 3,
15064 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015065 "filename" : "include/control/packetio.p4",
15066 "line" : 25,
15067 "column" : 12,
15068 "source_fragment" : "hdr.packet_out.isValid()"
15069 },
15070 "expression" : {
15071 "type" : "expression",
15072 "value" : {
15073 "op" : "d2b",
15074 "left" : null,
15075 "right" : {
15076 "type" : "field",
15077 "value" : ["packet_out", "$valid$"]
15078 }
15079 }
15080 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070015081 "true_next" : "tbl_act_4",
15082 "false_next" : "tbl_act_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015083 },
15084 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070015085 "name" : "node_13",
15086 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015087 "source_info" : {
15088 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070015089 "line" : 139,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015090 "column" : 12,
15091 "source_fragment" : "gtpu.isValid()"
15092 },
15093 "expression" : {
15094 "type" : "expression",
15095 "value" : {
15096 "op" : "d2b",
15097 "left" : null,
15098 "right" : {
15099 "type" : "field",
15100 "value" : ["gtpu", "$valid$"]
15101 }
15102 }
15103 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070015104 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
15105 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015106 },
15107 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070015108 "name" : "node_17",
15109 "id" : 5,
15110 "source_info" : {
15111 "filename" : "include/spgw.p4",
15112 "line" : 143,
15113 "column" : 16,
15114 "source_fragment" : "!s1u_filter_table.apply().hit"
15115 },
15116 "expression" : {
15117 "type" : "expression",
15118 "value" : {
15119 "op" : "not",
15120 "left" : null,
15121 "right" : {
15122 "type" : "expression",
15123 "value" : {
15124 "op" : "d2b",
15125 "left" : null,
15126 "right" : {
15127 "type" : "field",
15128 "value" : ["scalars", "spgw_ingress_tmp_1"]
15129 }
15130 }
15131 }
15132 }
15133 },
15134 "true_next" : "tbl_drop_now",
15135 "false_next" : "tbl_act_8"
15136 },
15137 {
15138 "name" : "node_24",
15139 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015140 "expression" : {
15141 "type" : "expression",
15142 "value" : {
15143 "op" : "d2b",
15144 "left" : null,
15145 "right" : {
15146 "type" : "field",
15147 "value" : ["scalars", "spgw_ingress_tmp_2"]
15148 }
15149 }
15150 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070015151 "true_next" : "tbl_act_11",
15152 "false_next" : "tbl_act_12"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015153 },
15154 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070015155 "name" : "node_27",
15156 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015157 "expression" : {
15158 "type" : "expression",
15159 "value" : {
15160 "op" : "not",
15161 "left" : null,
15162 "right" : {
15163 "type" : "expression",
15164 "value" : {
15165 "op" : "d2b",
15166 "left" : null,
15167 "right" : {
15168 "type" : "field",
15169 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
15170 }
15171 }
15172 }
15173 }
15174 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070015175 "true_next" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015176 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
15177 },
15178 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015179 "name" : "node_32",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015180 "id" : 8,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015181 "expression" : {
15182 "type" : "expression",
15183 "value" : {
15184 "op" : "d2b",
15185 "left" : null,
15186 "right" : {
15187 "type" : "field",
15188 "value" : ["scalars", "filtering_tmp_0"]
15189 }
15190 }
15191 },
15192 "true_next" : "FabricIngress.filtering.fwd_classifier",
15193 "false_next" : "tbl_act_16"
15194 },
15195 {
15196 "name" : "node_35",
15197 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015198 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015199 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070015200 "line" : 191,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015201 "column" : 11,
15202 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
15203 },
15204 "expression" : {
15205 "type" : "expression",
15206 "value" : {
15207 "op" : "==",
15208 "left" : {
15209 "type" : "field",
15210 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
15211 },
15212 "right" : {
15213 "type" : "hexstr",
15214 "value" : "0x00"
15215 }
15216 }
15217 },
15218 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015219 "false_next" : "node_37"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015220 },
15221 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015222 "name" : "node_37",
15223 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015224 "source_info" : {
15225 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070015226 "line" : 192,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015227 "column" : 17,
15228 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
15229 },
15230 "expression" : {
15231 "type" : "expression",
15232 "value" : {
15233 "op" : "==",
15234 "left" : {
15235 "type" : "field",
15236 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
15237 },
15238 "right" : {
15239 "type" : "hexstr",
15240 "value" : "0x01"
15241 }
15242 }
15243 },
15244 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015245 "false_next" : "node_40"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015246 },
15247 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015248 "name" : "node_40",
15249 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015250 "source_info" : {
15251 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070015252 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015253 "column" : 17,
15254 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
15255 },
15256 "expression" : {
15257 "type" : "expression",
15258 "value" : {
15259 "op" : "==",
15260 "left" : {
15261 "type" : "field",
15262 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
15263 },
15264 "right" : {
15265 "type" : "hexstr",
15266 "value" : "0x02"
15267 }
15268 }
15269 },
Charles Chan384aea22018-08-23 22:08:02 -070015270 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015271 "false_next" : "node_42"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015272 },
15273 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015274 "name" : "node_42",
15275 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015276 "source_info" : {
15277 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070015278 "line" : 200,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015279 "column" : 17,
15280 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
15281 },
15282 "expression" : {
15283 "type" : "expression",
15284 "value" : {
15285 "op" : "==",
15286 "left" : {
15287 "type" : "field",
15288 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
15289 },
15290 "right" : {
15291 "type" : "hexstr",
15292 "value" : "0x04"
15293 }
15294 }
15295 },
Charles Chan384aea22018-08-23 22:08:02 -070015296 "true_next" : "FabricIngress.forwarding.routing_v6",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015297 "false_next" : "FabricIngress.forwarding.acl"
15298 },
15299 {
Charles Chan384aea22018-08-23 22:08:02 -070015300 "name" : "node_50",
15301 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015302 "source_info" : {
15303 "filename" : "include/control/next.p4",
15304 "line" : 219,
15305 "column" : 12,
15306 "source_fragment" : "!simple.apply().hit"
15307 },
15308 "expression" : {
15309 "type" : "expression",
15310 "value" : {
15311 "op" : "not",
15312 "left" : null,
15313 "right" : {
15314 "type" : "expression",
15315 "value" : {
15316 "op" : "d2b",
15317 "left" : null,
15318 "right" : {
15319 "type" : "field",
15320 "value" : ["scalars", "next_tmp_4"]
15321 }
15322 }
15323 }
15324 }
15325 },
15326 "true_next" : "FabricIngress.next.hashed",
Charles Chan384aea22018-08-23 22:08:02 -070015327 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015328 },
15329 {
Charles Chan384aea22018-08-23 22:08:02 -070015330 "name" : "node_54",
15331 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015332 "source_info" : {
15333 "filename" : "include/control/next.p4",
15334 "line" : 220,
15335 "column" : 16,
15336 "source_fragment" : "!hashed.apply().hit"
15337 },
15338 "expression" : {
15339 "type" : "expression",
15340 "value" : {
15341 "op" : "not",
15342 "left" : null,
15343 "right" : {
15344 "type" : "expression",
15345 "value" : {
15346 "op" : "d2b",
15347 "left" : null,
15348 "right" : {
15349 "type" : "field",
15350 "value" : ["scalars", "next_tmp_3"]
15351 }
15352 }
15353 }
15354 }
15355 },
15356 "true_next" : "FabricIngress.next.multicast",
Charles Chan384aea22018-08-23 22:08:02 -070015357 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015358 },
15359 {
Charles Chan384aea22018-08-23 22:08:02 -070015360 "name" : "node_58",
15361 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015362 "source_info" : {
15363 "filename" : "include/control/next.p4",
15364 "line" : 221,
15365 "column" : 20,
15366 "source_fragment" : "!multicast.apply().hit"
15367 },
15368 "expression" : {
15369 "type" : "expression",
15370 "value" : {
15371 "op" : "not",
15372 "left" : null,
15373 "right" : {
15374 "type" : "expression",
15375 "value" : {
15376 "op" : "d2b",
15377 "left" : null,
15378 "right" : {
15379 "type" : "field",
15380 "value" : ["scalars", "next_tmp_2"]
15381 }
15382 }
15383 }
15384 }
15385 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015386 "true_next" : "tbl_act_25",
Charles Chan384aea22018-08-23 22:08:02 -070015387 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015388 },
15389 {
Charles Chan384aea22018-08-23 22:08:02 -070015390 "name" : "node_60",
15391 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015392 "expression" : {
15393 "type" : "expression",
15394 "value" : {
15395 "op" : "not",
15396 "left" : null,
15397 "right" : {
15398 "type" : "expression",
15399 "value" : {
15400 "op" : "d2b",
15401 "left" : null,
15402 "right" : {
15403 "type" : "field",
15404 "value" : ["scalars", "next_hasReturned_0"]
15405 }
15406 }
15407 }
15408 }
15409 },
Charles Chan384aea22018-08-23 22:08:02 -070015410 "true_next" : "node_61",
15411 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015412 },
15413 {
Charles Chan384aea22018-08-23 22:08:02 -070015414 "name" : "node_61",
15415 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015416 "source_info" : {
15417 "filename" : "include/control/next.p4",
15418 "line" : 228,
15419 "column" : 12,
15420 "source_fragment" : "!hdr.mpls.isValid()"
15421 },
15422 "expression" : {
15423 "type" : "expression",
15424 "value" : {
15425 "op" : "not",
15426 "left" : null,
15427 "right" : {
15428 "type" : "expression",
15429 "value" : {
15430 "op" : "d2b",
15431 "left" : null,
15432 "right" : {
15433 "type" : "field",
15434 "value" : ["mpls", "$valid$"]
15435 }
15436 }
15437 }
15438 }
15439 },
Charles Chan384aea22018-08-23 22:08:02 -070015440 "true_next" : "node_62",
15441 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015442 },
15443 {
Charles Chan384aea22018-08-23 22:08:02 -070015444 "name" : "node_62",
15445 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015446 "source_info" : {
15447 "filename" : "include/control/next.p4",
15448 "line" : 229,
15449 "column" : 15,
15450 "source_fragment" : "hdr.ipv4.isValid()"
15451 },
15452 "expression" : {
15453 "type" : "expression",
15454 "value" : {
15455 "op" : "d2b",
15456 "left" : null,
15457 "right" : {
15458 "type" : "field",
15459 "value" : ["ipv4", "$valid$"]
15460 }
15461 }
15462 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015463 "true_next" : "tbl_act_26",
Charles Chan384aea22018-08-23 22:08:02 -070015464 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015465 },
15466 {
Charles Chan384aea22018-08-23 22:08:02 -070015467 "name" : "node_64",
15468 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015469 "source_info" : {
15470 "filename" : "include/control/next.p4",
15471 "line" : 233,
15472 "column" : 21,
15473 "source_fragment" : "hdr.ipv6.isValid()"
15474 },
15475 "expression" : {
15476 "type" : "expression",
15477 "value" : {
15478 "op" : "d2b",
15479 "left" : null,
15480 "right" : {
15481 "type" : "field",
15482 "value" : ["ipv6", "$valid$"]
15483 }
15484 }
15485 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015486 "true_next" : "tbl_act_27",
Charles Chan384aea22018-08-23 22:08:02 -070015487 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015488 },
15489 {
Charles Chan384aea22018-08-23 22:08:02 -070015490 "name" : "node_66",
15491 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015492 "source_info" : {
15493 "filename" : "include/control/port_counter.p4",
15494 "line" : 27,
15495 "column" : 12,
15496 "source_fragment" : "standard_metadata.egress_spec < 511"
15497 },
15498 "expression" : {
15499 "type" : "expression",
15500 "value" : {
15501 "op" : "<",
15502 "left" : {
15503 "type" : "field",
15504 "value" : ["standard_metadata", "egress_spec"]
15505 },
15506 "right" : {
15507 "type" : "hexstr",
15508 "value" : "0x01ff"
15509 }
15510 }
15511 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015512 "true_next" : "tbl_act_28",
Charles Chan384aea22018-08-23 22:08:02 -070015513 "false_next" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015514 },
15515 {
Charles Chan384aea22018-08-23 22:08:02 -070015516 "name" : "node_68",
15517 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015518 "source_info" : {
15519 "filename" : "include/control/port_counter.p4",
15520 "line" : 30,
15521 "column" : 12,
15522 "source_fragment" : "standard_metadata.ingress_port < 511"
15523 },
15524 "expression" : {
15525 "type" : "expression",
15526 "value" : {
15527 "op" : "<",
15528 "left" : {
15529 "type" : "field",
15530 "value" : ["standard_metadata", "ingress_port"]
15531 },
15532 "right" : {
15533 "type" : "hexstr",
15534 "value" : "0x01ff"
15535 }
15536 }
15537 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015538 "true_next" : "tbl_act_29",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015539 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
15540 },
15541 {
Charles Chan384aea22018-08-23 22:08:02 -070015542 "name" : "node_72",
15543 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015544 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015545 "filename" : "include/int/int_main.p4",
15546 "line" : 82,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015547 "column" : 11,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015548 "source_fragment" : "fabric_metadata.int_meta.sink == true"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015549 },
15550 "expression" : {
15551 "type" : "expression",
15552 "value" : {
15553 "op" : "==",
15554 "left" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015555 "type" : "expression",
15556 "value" : {
15557 "op" : "d2b",
15558 "left" : null,
15559 "right" : {
15560 "type" : "field",
15561 "value" : ["userMetadata.int_meta", "sink"]
15562 }
15563 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015564 },
15565 "right" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015566 "type" : "bool",
15567 "value" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015568 }
15569 }
15570 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015571 "false_next" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015572 "true_next" : "tbl_act_30"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015573 }
15574 ]
15575 },
15576 {
15577 "name" : "egress",
15578 "id" : 1,
15579 "source_info" : {
15580 "filename" : "fabric.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015581 "line" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015582 "column" : 8,
15583 "source_fragment" : "FabricEgress"
15584 },
Charles Chan384aea22018-08-23 22:08:02 -070015585 "init_table" : "node_76",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015586 "tables" : [
15587 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015588 "name" : "tbl_pkt_io_egress_pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070015589 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015590 "key" : [],
15591 "match_type" : "exact",
15592 "type" : "simple",
15593 "max_size" : 1024,
15594 "with_counters" : false,
15595 "support_timeout" : false,
15596 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015597 "action_ids" : [121],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015598 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
15599 "base_default_next" : "node_80",
15600 "next_tables" : {
15601 "FabricEgress.pkt_io_egress.pop_vlan" : "node_80"
15602 },
15603 "default_entry" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015604 "action_id" : 121,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015605 "action_const" : true,
15606 "action_data" : [],
15607 "action_entry_const" : true
15608 }
15609 },
15610 {
15611 "name" : "tbl_drop_now_0",
15612 "id" : 50,
15613 "key" : [],
15614 "match_type" : "exact",
15615 "type" : "simple",
15616 "max_size" : 1024,
15617 "with_counters" : false,
15618 "support_timeout" : false,
15619 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070015620 "action_ids" : [81],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015621 "actions" : ["drop_now"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015622 "base_default_next" : "tbl_act_31",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015623 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015624 "drop_now" : "tbl_act_31"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015625 },
15626 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070015627 "action_id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015628 "action_const" : true,
15629 "action_data" : [],
15630 "action_entry_const" : true
15631 }
15632 },
15633 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015634 "name" : "tbl_act_31",
15635 "id" : 51,
15636 "key" : [],
15637 "match_type" : "exact",
15638 "type" : "simple",
15639 "max_size" : 1024,
15640 "with_counters" : false,
15641 "support_timeout" : false,
15642 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015643 "action_ids" : [123],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015644 "actions" : ["act_31"],
15645 "base_default_next" : null,
15646 "next_tables" : {
15647 "act_31" : null
15648 },
15649 "default_entry" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015650 "action_id" : 123,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015651 "action_const" : true,
15652 "action_data" : [],
15653 "action_entry_const" : true
15654 }
15655 },
15656 {
15657 "name" : "tbl_drop_now_1",
15658 "id" : 52,
15659 "key" : [],
15660 "match_type" : "exact",
15661 "type" : "simple",
15662 "max_size" : 1024,
15663 "with_counters" : false,
15664 "support_timeout" : false,
15665 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070015666 "action_ids" : [82],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015667 "actions" : ["drop_now"],
15668 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
15669 "next_tables" : {
15670 "drop_now" : "FabricEgress.egress_next.egress_vlan"
15671 },
15672 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070015673 "action_id" : 82,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015674 "action_const" : true,
15675 "action_data" : [],
15676 "action_entry_const" : true
15677 }
15678 },
15679 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015680 "name" : "FabricEgress.egress_next.egress_vlan",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015681 "id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015682 "source_info" : {
15683 "filename" : "include/control/next.p4",
15684 "line" : 258,
15685 "column" : 10,
15686 "source_fragment" : "egress_vlan"
15687 },
15688 "key" : [
15689 {
15690 "match_type" : "exact",
15691 "name" : "hdr.vlan_tag.vlan_id",
15692 "target" : ["vlan_tag", "vlan_id"],
15693 "mask" : null
15694 },
15695 {
15696 "match_type" : "exact",
15697 "name" : "standard_metadata.egress_port",
15698 "target" : ["standard_metadata", "egress_port"],
15699 "mask" : null
15700 }
15701 ],
15702 "match_type" : "exact",
15703 "type" : "simple",
15704 "max_size" : 1024,
15705 "with_counters" : true,
15706 "support_timeout" : false,
15707 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015708 "action_ids" : [122, 80],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015709 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015710 "base_default_next" : "node_86",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015711 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015712 "FabricEgress.egress_next.pop_vlan" : "node_86",
15713 "nop" : "node_86"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015714 },
15715 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070015716 "action_id" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015717 "action_const" : false,
15718 "action_data" : [],
15719 "action_entry_const" : false
15720 }
15721 },
15722 {
Charles Chan384aea22018-08-23 22:08:02 -070015723 "name" : "tbl_spgw_egress_gtpu_encap",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015724 "id" : 54,
15725 "key" : [],
15726 "match_type" : "exact",
15727 "type" : "simple",
15728 "max_size" : 1024,
15729 "with_counters" : false,
15730 "support_timeout" : false,
15731 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070015732 "action_ids" : [83],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015733 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015734 "base_default_next" : "node_88",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015735 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015736 "FabricEgress.spgw_egress.gtpu_encap" : "node_88"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070015737 },
15738 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070015739 "action_id" : 83,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015740 "action_const" : true,
15741 "action_data" : [],
15742 "action_entry_const" : true
15743 }
15744 },
15745 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015746 "name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
Charles Chan384aea22018-08-23 22:08:02 -070015747 "id" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015748 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015749 "filename" : "include/int/int_source.p4",
15750 "line" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015751 "column" : 10,
15752 "source_fragment" : "tb_int_source"
15753 },
15754 "key" : [
15755 {
15756 "match_type" : "ternary",
15757 "name" : "hdr.ipv4.src_addr",
15758 "target" : ["ipv4", "src_addr"],
15759 "mask" : null
15760 },
15761 {
15762 "match_type" : "ternary",
15763 "name" : "hdr.ipv4.dst_addr",
15764 "target" : ["ipv4", "dst_addr"],
15765 "mask" : null
15766 },
15767 {
15768 "match_type" : "ternary",
15769 "name" : "fabric_metadata.l4_src_port",
15770 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
15771 "mask" : null
15772 },
15773 {
15774 "match_type" : "ternary",
15775 "name" : "fabric_metadata.l4_dst_port",
15776 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
15777 "mask" : null
15778 }
15779 ],
15780 "match_type" : "ternary",
15781 "type" : "simple",
15782 "max_size" : 1024,
15783 "with_counters" : true,
15784 "support_timeout" : false,
15785 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070015786 "action_ids" : [84, 75],
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015787 "actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "NoAction"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015788 "base_default_next" : "node_91",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015789 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015790 "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_91",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070015791 "NoAction" : "node_91"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015792 },
15793 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070015794 "action_id" : 75,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015795 "action_const" : false,
15796 "action_data" : [],
15797 "action_entry_const" : false
15798 }
15799 },
15800 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015801 "name" : "tbl_act_32",
Charles Chan384aea22018-08-23 22:08:02 -070015802 "id" : 56,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015803 "key" : [],
15804 "match_type" : "exact",
15805 "type" : "simple",
15806 "max_size" : 1024,
15807 "with_counters" : false,
15808 "support_timeout" : false,
15809 "direct_meters" : null,
15810 "action_ids" : [124],
15811 "actions" : ["act_32"],
15812 "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
15813 "next_tables" : {
15814 "act_32" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
15815 },
15816 "default_entry" : {
15817 "action_id" : 124,
15818 "action_const" : true,
15819 "action_data" : [],
15820 "action_entry_const" : true
15821 }
15822 },
15823 {
15824 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
15825 "id" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015826 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015827 "filename" : "include/int/int_transit.p4",
15828 "line" : 271,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015829 "column" : 10,
15830 "source_fragment" : "tb_int_insert"
15831 },
15832 "key" : [],
15833 "match_type" : "exact",
15834 "type" : "simple",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015835 "max_size" : 1024,
15836 "with_counters" : false,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015837 "support_timeout" : false,
15838 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015839 "action_ids" : [85, 76],
15840 "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "NoAction"],
15841 "base_default_next" : "node_94",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015842 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015843 "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_94",
15844 "NoAction" : "node_94"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015845 },
15846 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070015847 "action_id" : 76,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015848 "action_const" : false,
15849 "action_data" : [],
15850 "action_entry_const" : false
15851 }
15852 },
15853 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015854 "name" : "tbl_act_33",
15855 "id" : 58,
15856 "key" : [],
15857 "match_type" : "exact",
15858 "type" : "simple",
15859 "max_size" : 1024,
15860 "with_counters" : false,
15861 "support_timeout" : false,
15862 "direct_meters" : null,
15863 "action_ids" : [125],
15864 "actions" : ["act_33"],
15865 "base_default_next" : "node_96",
15866 "next_tables" : {
15867 "act_33" : "node_96"
15868 },
15869 "default_entry" : {
15870 "action_id" : 125,
15871 "action_const" : true,
15872 "action_data" : [],
15873 "action_entry_const" : true
15874 }
15875 },
15876 {
15877 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
15878 "id" : 59,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015879 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015880 "filename" : "include/int/int_transit.p4",
15881 "line" : 280,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015882 "column" : 10,
15883 "source_fragment" : "tb_int_inst_0003"
15884 },
15885 "key" : [
15886 {
15887 "match_type" : "exact",
15888 "name" : "hdr.int_header.instruction_mask_0003",
15889 "target" : ["int_header", "instruction_mask_0003"],
15890 "mask" : null
15891 }
15892 ],
15893 "match_type" : "exact",
15894 "type" : "simple",
15895 "max_size" : 16,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015896 "with_counters" : false,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015897 "support_timeout" : false,
15898 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015899 "action_ids" : [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 77],
15900 "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
15901 "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015902 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015903 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15904 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15905 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15906 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15907 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15908 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15909 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15910 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15911 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15912 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15913 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15914 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15915 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15916 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15917 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15918 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
15919 "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015920 },
15921 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070015922 "action_id" : 77,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090015923 "action_const" : false,
15924 "action_data" : [],
15925 "action_entry_const" : false
Carmelo Cascone79a3a312018-08-16 17:14:43 -070015926 },
15927 "entries" : [
15928 {
15929 "match_key" : [
15930 {
15931 "match_type" : "exact",
15932 "key" : "0x00"
15933 }
15934 ],
15935 "action_entry" : {
15936 "action_id" : 86,
15937 "action_data" : []
15938 },
15939 "priority" : 1
15940 },
15941 {
15942 "match_key" : [
15943 {
15944 "match_type" : "exact",
15945 "key" : "0x01"
15946 }
15947 ],
15948 "action_entry" : {
15949 "action_id" : 87,
15950 "action_data" : []
15951 },
15952 "priority" : 2
15953 },
15954 {
15955 "match_key" : [
15956 {
15957 "match_type" : "exact",
15958 "key" : "0x02"
15959 }
15960 ],
15961 "action_entry" : {
15962 "action_id" : 88,
15963 "action_data" : []
15964 },
15965 "priority" : 3
15966 },
15967 {
15968 "match_key" : [
15969 {
15970 "match_type" : "exact",
15971 "key" : "0x03"
15972 }
15973 ],
15974 "action_entry" : {
15975 "action_id" : 89,
15976 "action_data" : []
15977 },
15978 "priority" : 4
15979 },
15980 {
15981 "match_key" : [
15982 {
15983 "match_type" : "exact",
15984 "key" : "0x04"
15985 }
15986 ],
15987 "action_entry" : {
15988 "action_id" : 90,
15989 "action_data" : []
15990 },
15991 "priority" : 5
15992 },
15993 {
15994 "match_key" : [
15995 {
15996 "match_type" : "exact",
15997 "key" : "0x05"
15998 }
15999 ],
16000 "action_entry" : {
16001 "action_id" : 91,
16002 "action_data" : []
16003 },
16004 "priority" : 6
16005 },
16006 {
16007 "match_key" : [
16008 {
16009 "match_type" : "exact",
16010 "key" : "0x06"
16011 }
16012 ],
16013 "action_entry" : {
16014 "action_id" : 92,
16015 "action_data" : []
16016 },
16017 "priority" : 7
16018 },
16019 {
16020 "match_key" : [
16021 {
16022 "match_type" : "exact",
16023 "key" : "0x07"
16024 }
16025 ],
16026 "action_entry" : {
16027 "action_id" : 93,
16028 "action_data" : []
16029 },
16030 "priority" : 8
16031 },
16032 {
16033 "match_key" : [
16034 {
16035 "match_type" : "exact",
16036 "key" : "0x08"
16037 }
16038 ],
16039 "action_entry" : {
16040 "action_id" : 94,
16041 "action_data" : []
16042 },
16043 "priority" : 9
16044 },
16045 {
16046 "match_key" : [
16047 {
16048 "match_type" : "exact",
16049 "key" : "0x09"
16050 }
16051 ],
16052 "action_entry" : {
16053 "action_id" : 95,
16054 "action_data" : []
16055 },
16056 "priority" : 10
16057 },
16058 {
16059 "match_key" : [
16060 {
16061 "match_type" : "exact",
16062 "key" : "0x0a"
16063 }
16064 ],
16065 "action_entry" : {
16066 "action_id" : 96,
16067 "action_data" : []
16068 },
16069 "priority" : 11
16070 },
16071 {
16072 "match_key" : [
16073 {
16074 "match_type" : "exact",
16075 "key" : "0x0b"
16076 }
16077 ],
16078 "action_entry" : {
16079 "action_id" : 97,
16080 "action_data" : []
16081 },
16082 "priority" : 12
16083 },
16084 {
16085 "match_key" : [
16086 {
16087 "match_type" : "exact",
16088 "key" : "0x0c"
16089 }
16090 ],
16091 "action_entry" : {
16092 "action_id" : 98,
16093 "action_data" : []
16094 },
16095 "priority" : 13
16096 },
16097 {
16098 "match_key" : [
16099 {
16100 "match_type" : "exact",
16101 "key" : "0x0d"
16102 }
16103 ],
16104 "action_entry" : {
16105 "action_id" : 99,
16106 "action_data" : []
16107 },
16108 "priority" : 14
16109 },
16110 {
16111 "match_key" : [
16112 {
16113 "match_type" : "exact",
16114 "key" : "0x0e"
16115 }
16116 ],
16117 "action_entry" : {
16118 "action_id" : 100,
16119 "action_data" : []
16120 },
16121 "priority" : 15
16122 },
16123 {
16124 "match_key" : [
16125 {
16126 "match_type" : "exact",
16127 "key" : "0x0f"
16128 }
16129 ],
16130 "action_entry" : {
16131 "action_id" : 101,
16132 "action_data" : []
16133 },
16134 "priority" : 16
16135 }
16136 ]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016137 },
16138 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016139 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
16140 "id" : 60,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016141 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016142 "filename" : "include/int/int_transit.p4",
16143 "line" : 324,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016144 "column" : 10,
16145 "source_fragment" : "tb_int_inst_0407"
16146 },
16147 "key" : [
16148 {
16149 "match_type" : "exact",
16150 "name" : "hdr.int_header.instruction_mask_0407",
16151 "target" : ["int_header", "instruction_mask_0407"],
16152 "mask" : null
16153 }
16154 ],
16155 "match_type" : "exact",
16156 "type" : "simple",
16157 "max_size" : 16,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016158 "with_counters" : false,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016159 "support_timeout" : false,
16160 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016161 "action_ids" : [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 78],
16162 "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
16163 "base_default_next" : "tbl_act_34",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016164 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016165 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_34",
16166 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_34",
16167 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_34",
16168 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_34",
16169 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_34",
16170 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_34",
16171 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_34",
16172 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_34",
16173 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_34",
16174 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_34",
16175 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_34",
16176 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_34",
16177 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_34",
16178 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_34",
16179 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_34",
16180 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_34",
16181 "NoAction" : "tbl_act_34"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016182 },
16183 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070016184 "action_id" : 78,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016185 "action_const" : false,
16186 "action_data" : [],
16187 "action_entry_const" : false
Charles Chan384aea22018-08-23 22:08:02 -070016188 },
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016189 "entries" : [
16190 {
16191 "match_key" : [
16192 {
16193 "match_type" : "exact",
16194 "key" : "0x00"
16195 }
16196 ],
16197 "action_entry" : {
16198 "action_id" : 102,
16199 "action_data" : []
16200 },
16201 "priority" : 1
16202 },
16203 {
16204 "match_key" : [
16205 {
16206 "match_type" : "exact",
16207 "key" : "0x01"
16208 }
16209 ],
16210 "action_entry" : {
16211 "action_id" : 103,
16212 "action_data" : []
16213 },
16214 "priority" : 2
16215 },
16216 {
16217 "match_key" : [
16218 {
16219 "match_type" : "exact",
16220 "key" : "0x02"
16221 }
16222 ],
16223 "action_entry" : {
16224 "action_id" : 104,
16225 "action_data" : []
16226 },
16227 "priority" : 3
16228 },
16229 {
16230 "match_key" : [
16231 {
16232 "match_type" : "exact",
16233 "key" : "0x03"
16234 }
16235 ],
16236 "action_entry" : {
16237 "action_id" : 105,
16238 "action_data" : []
16239 },
16240 "priority" : 4
16241 },
16242 {
16243 "match_key" : [
16244 {
16245 "match_type" : "exact",
16246 "key" : "0x04"
16247 }
16248 ],
16249 "action_entry" : {
16250 "action_id" : 106,
16251 "action_data" : []
16252 },
16253 "priority" : 5
16254 },
16255 {
16256 "match_key" : [
16257 {
16258 "match_type" : "exact",
16259 "key" : "0x05"
16260 }
16261 ],
16262 "action_entry" : {
16263 "action_id" : 107,
16264 "action_data" : []
16265 },
16266 "priority" : 6
16267 },
16268 {
16269 "match_key" : [
16270 {
16271 "match_type" : "exact",
16272 "key" : "0x06"
16273 }
16274 ],
16275 "action_entry" : {
16276 "action_id" : 108,
16277 "action_data" : []
16278 },
16279 "priority" : 7
16280 },
16281 {
16282 "match_key" : [
16283 {
16284 "match_type" : "exact",
16285 "key" : "0x07"
16286 }
16287 ],
16288 "action_entry" : {
16289 "action_id" : 109,
16290 "action_data" : []
16291 },
16292 "priority" : 8
16293 },
16294 {
16295 "match_key" : [
16296 {
16297 "match_type" : "exact",
16298 "key" : "0x08"
16299 }
16300 ],
16301 "action_entry" : {
16302 "action_id" : 110,
16303 "action_data" : []
16304 },
16305 "priority" : 9
16306 },
16307 {
16308 "match_key" : [
16309 {
16310 "match_type" : "exact",
16311 "key" : "0x09"
16312 }
16313 ],
16314 "action_entry" : {
16315 "action_id" : 111,
16316 "action_data" : []
16317 },
16318 "priority" : 10
16319 },
16320 {
16321 "match_key" : [
16322 {
16323 "match_type" : "exact",
16324 "key" : "0x0a"
16325 }
16326 ],
16327 "action_entry" : {
16328 "action_id" : 112,
16329 "action_data" : []
16330 },
16331 "priority" : 11
16332 },
16333 {
16334 "match_key" : [
16335 {
16336 "match_type" : "exact",
16337 "key" : "0x0b"
16338 }
16339 ],
16340 "action_entry" : {
16341 "action_id" : 113,
16342 "action_data" : []
16343 },
16344 "priority" : 12
16345 },
16346 {
16347 "match_key" : [
16348 {
16349 "match_type" : "exact",
16350 "key" : "0x0c"
16351 }
16352 ],
16353 "action_entry" : {
16354 "action_id" : 114,
16355 "action_data" : []
16356 },
16357 "priority" : 13
16358 },
16359 {
16360 "match_key" : [
16361 {
16362 "match_type" : "exact",
16363 "key" : "0x0d"
16364 }
16365 ],
16366 "action_entry" : {
16367 "action_id" : 115,
16368 "action_data" : []
16369 },
16370 "priority" : 14
16371 },
16372 {
16373 "match_key" : [
16374 {
16375 "match_type" : "exact",
16376 "key" : "0x0e"
16377 }
16378 ],
16379 "action_entry" : {
16380 "action_id" : 116,
16381 "action_data" : []
16382 },
16383 "priority" : 15
16384 },
16385 {
16386 "match_key" : [
16387 {
16388 "match_type" : "exact",
16389 "key" : "0x0f"
16390 }
16391 ],
16392 "action_entry" : {
16393 "action_id" : 117,
16394 "action_data" : []
16395 },
16396 "priority" : 16
16397 }
16398 ]
Charles Chan384aea22018-08-23 22:08:02 -070016399 },
16400 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016401 "name" : "tbl_act_34",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016402 "id" : 61,
16403 "key" : [],
16404 "match_type" : "exact",
16405 "type" : "simple",
16406 "max_size" : 1024,
16407 "with_counters" : false,
16408 "support_timeout" : false,
16409 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016410 "action_ids" : [127],
16411 "actions" : ["act_35"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016412 "base_default_next" : "node_100",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016413 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016414 "act_35" : "node_100"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016415 },
16416 "default_entry" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016417 "action_id" : 127,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070016418 "action_const" : true,
16419 "action_data" : [],
16420 "action_entry_const" : true
16421 }
16422 },
16423 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016424 "name" : "tbl_act_35",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070016425 "id" : 62,
16426 "key" : [],
16427 "match_type" : "exact",
16428 "type" : "simple",
16429 "max_size" : 1024,
16430 "with_counters" : false,
16431 "support_timeout" : false,
16432 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016433 "action_ids" : [126],
16434 "actions" : ["act_34"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016435 "base_default_next" : "node_102",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070016436 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016437 "act_34" : "node_102"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070016438 },
16439 "default_entry" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016440 "action_id" : 126,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016441 "action_const" : true,
16442 "action_data" : [],
16443 "action_entry_const" : true
16444 }
16445 },
16446 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016447 "name" : "tbl_act_36",
Charles Chan384aea22018-08-23 22:08:02 -070016448 "id" : 63,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016449 "key" : [],
16450 "match_type" : "exact",
16451 "type" : "simple",
16452 "max_size" : 1024,
16453 "with_counters" : false,
16454 "support_timeout" : false,
16455 "direct_meters" : null,
16456 "action_ids" : [128],
16457 "actions" : ["act_36"],
16458 "base_default_next" : "node_104",
16459 "next_tables" : {
16460 "act_36" : "node_104"
16461 },
16462 "default_entry" : {
16463 "action_id" : 128,
16464 "action_const" : true,
16465 "action_data" : [],
16466 "action_entry_const" : true
16467 }
16468 },
16469 {
16470 "name" : "tbl_act_37",
16471 "id" : 64,
16472 "key" : [],
16473 "match_type" : "exact",
16474 "type" : "simple",
16475 "max_size" : 1024,
16476 "with_counters" : false,
16477 "support_timeout" : false,
16478 "direct_meters" : null,
16479 "action_ids" : [129],
16480 "actions" : ["act_37"],
16481 "base_default_next" : "node_106",
16482 "next_tables" : {
16483 "act_37" : "node_106"
16484 },
16485 "default_entry" : {
16486 "action_id" : 129,
16487 "action_const" : true,
16488 "action_data" : [],
16489 "action_entry_const" : true
16490 }
16491 },
16492 {
16493 "name" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
16494 "id" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016495 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016496 "filename" : "include/int/int_report.p4",
16497 "line" : 85,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016498 "column" : 10,
16499 "source_fragment" : "tb_generate_report"
16500 },
16501 "key" : [],
16502 "match_type" : "exact",
16503 "type" : "simple",
16504 "max_size" : 1024,
16505 "with_counters" : false,
16506 "support_timeout" : false,
16507 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016508 "action_ids" : [118, 79],
16509 "actions" : ["FabricEgress.process_int_main.process_int_report.do_report_encapsulation", "NoAction"],
16510 "base_default_next" : "node_108",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016511 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016512 "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_108",
16513 "NoAction" : "node_108"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016514 },
16515 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070016516 "action_id" : 79,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016517 "action_const" : false,
16518 "action_data" : [],
16519 "action_entry_const" : false
16520 }
16521 },
16522 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016523 "name" : "tbl_process_int_main_process_int_sink_restore_header",
16524 "id" : 66,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070016525 "key" : [],
16526 "match_type" : "exact",
16527 "type" : "simple",
16528 "max_size" : 1024,
16529 "with_counters" : false,
16530 "support_timeout" : false,
16531 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016532 "action_ids" : [119],
16533 "actions" : ["FabricEgress.process_int_main.process_int_sink.restore_header"],
16534 "base_default_next" : "tbl_process_int_main_process_int_sink_int_sink",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070016535 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016536 "FabricEgress.process_int_main.process_int_sink.restore_header" : "tbl_process_int_main_process_int_sink_int_sink"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070016537 },
16538 "default_entry" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016539 "action_id" : 119,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070016540 "action_const" : true,
16541 "action_data" : [],
16542 "action_entry_const" : true
16543 }
16544 },
16545 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016546 "name" : "tbl_process_int_main_process_int_sink_int_sink",
16547 "id" : 67,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016548 "key" : [],
16549 "match_type" : "exact",
16550 "type" : "simple",
16551 "max_size" : 1024,
16552 "with_counters" : false,
16553 "support_timeout" : false,
16554 "direct_meters" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016555 "action_ids" : [120],
16556 "actions" : ["FabricEgress.process_int_main.process_int_sink.int_sink"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016557 "base_default_next" : null,
16558 "next_tables" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016559 "FabricEgress.process_int_main.process_int_sink.int_sink" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016560 },
16561 "default_entry" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016562 "action_id" : 120,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016563 "action_const" : true,
16564 "action_data" : [],
16565 "action_entry_const" : true
16566 }
16567 }
16568 ],
16569 "action_profiles" : [],
16570 "conditionals" : [
16571 {
Charles Chan384aea22018-08-23 22:08:02 -070016572 "name" : "node_76",
16573 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016574 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016575 "filename" : "include/control/packetio.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016576 "line" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016577 "column" : 12,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016578 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016579 },
16580 "expression" : {
16581 "type" : "expression",
16582 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016583 "op" : "==",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016584 "left" : {
16585 "type" : "expression",
16586 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016587 "op" : "d2b",
16588 "left" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016589 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016590 "type" : "field",
16591 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016592 }
16593 }
16594 },
16595 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016596 "type" : "bool",
16597 "value" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016598 }
16599 }
16600 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016601 "true_next" : null,
16602 "false_next" : "node_77"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016603 },
16604 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016605 "name" : "node_77",
Charles Chan384aea22018-08-23 22:08:02 -070016606 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016607 "source_info" : {
16608 "filename" : "include/control/packetio.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016609 "line" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016610 "column" : 12,
16611 "source_fragment" : "standard_metadata.egress_port == 255"
16612 },
16613 "expression" : {
16614 "type" : "expression",
16615 "value" : {
16616 "op" : "==",
16617 "left" : {
16618 "type" : "field",
16619 "value" : ["standard_metadata", "egress_port"]
16620 },
16621 "right" : {
16622 "type" : "hexstr",
16623 "value" : "0x00ff"
16624 }
16625 }
16626 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016627 "true_next" : "node_78",
16628 "false_next" : "node_83"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016629 },
16630 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016631 "name" : "node_78",
Charles Chan384aea22018-08-23 22:08:02 -070016632 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016633 "source_info" : {
16634 "filename" : "include/control/packetio.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016635 "line" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016636 "column" : 16,
16637 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
16638 },
16639 "expression" : {
16640 "type" : "expression",
16641 "value" : {
16642 "op" : "and",
16643 "left" : {
16644 "type" : "expression",
16645 "value" : {
16646 "op" : "d2b",
16647 "left" : null,
16648 "right" : {
16649 "type" : "field",
16650 "value" : ["vlan_tag", "$valid$"]
16651 }
16652 }
16653 },
16654 "right" : {
16655 "type" : "expression",
16656 "value" : {
16657 "op" : "==",
16658 "left" : {
16659 "type" : "expression",
16660 "value" : {
16661 "op" : "d2b",
16662 "left" : null,
16663 "right" : {
16664 "type" : "field",
16665 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
16666 }
16667 }
16668 },
16669 "right" : {
16670 "type" : "bool",
16671 "value" : true
16672 }
16673 }
16674 }
16675 }
16676 },
16677 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016678 "false_next" : "node_80"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016679 },
16680 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016681 "name" : "node_80",
Charles Chan384aea22018-08-23 22:08:02 -070016682 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016683 "source_info" : {
16684 "filename" : "include/control/packetio.p4",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016685 "line" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016686 "column" : 16,
16687 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
16688 },
16689 "expression" : {
16690 "type" : "expression",
16691 "value" : {
16692 "op" : "and",
16693 "left" : {
16694 "type" : "expression",
16695 "value" : {
16696 "op" : "==",
16697 "left" : {
16698 "type" : "expression",
16699 "value" : {
16700 "op" : "d2b",
16701 "left" : null,
16702 "right" : {
16703 "type" : "field",
16704 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
16705 }
16706 }
16707 },
16708 "right" : {
16709 "type" : "bool",
16710 "value" : true
16711 }
16712 }
16713 },
16714 "right" : {
16715 "type" : "expression",
16716 "value" : {
16717 "op" : "==",
16718 "left" : {
16719 "type" : "expression",
16720 "value" : {
16721 "op" : "d2b",
16722 "left" : null,
16723 "right" : {
16724 "type" : "field",
16725 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
16726 }
16727 }
16728 },
16729 "right" : {
16730 "type" : "bool",
16731 "value" : false
16732 }
16733 }
16734 }
16735 }
16736 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016737 "true_next" : "tbl_drop_now_0",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070016738 "false_next" : "tbl_act_31"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070016739 },
16740 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016741 "name" : "node_83",
Charles Chan384aea22018-08-23 22:08:02 -070016742 "id" : 27,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070016743 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016744 "filename" : "include/control/next.p4",
16745 "line" : 272,
16746 "column" : 12,
16747 "source_fragment" : "fabric_metadata.is_multicast == true ..."
16748 },
16749 "expression" : {
16750 "type" : "expression",
16751 "value" : {
16752 "op" : "and",
16753 "left" : {
16754 "type" : "expression",
16755 "value" : {
16756 "op" : "==",
16757 "left" : {
16758 "type" : "expression",
16759 "value" : {
16760 "op" : "d2b",
16761 "left" : null,
16762 "right" : {
16763 "type" : "field",
16764 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
16765 }
16766 }
16767 },
16768 "right" : {
16769 "type" : "bool",
16770 "value" : true
16771 }
16772 }
16773 },
16774 "right" : {
16775 "type" : "expression",
16776 "value" : {
16777 "op" : "==",
16778 "left" : {
16779 "type" : "field",
16780 "value" : ["standard_metadata", "ingress_port"]
16781 },
16782 "right" : {
16783 "type" : "field",
16784 "value" : ["standard_metadata", "egress_port"]
16785 }
16786 }
16787 }
16788 }
16789 },
16790 "true_next" : "tbl_drop_now_1",
16791 "false_next" : "FabricEgress.egress_next.egress_vlan"
16792 },
16793 {
16794 "name" : "node_86",
16795 "id" : 28,
16796 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070016797 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -070016798 "line" : 221,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070016799 "column" : 12,
16800 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
16801 },
16802 "expression" : {
16803 "type" : "expression",
16804 "value" : {
16805 "op" : "==",
16806 "left" : {
16807 "type" : "field",
16808 "value" : ["userMetadata.spgw", "direction"]
16809 },
16810 "right" : {
16811 "type" : "hexstr",
16812 "value" : "0x02"
16813 }
16814 }
16815 },
16816 "true_next" : "tbl_spgw_egress_gtpu_encap",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016817 "false_next" : "node_88"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016818 },
16819 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016820 "name" : "node_88",
16821 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016822 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016823 "filename" : "include/int/int_main.p4",
16824 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016825 "column" : 12,
16826 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
16827 },
16828 "expression" : {
16829 "type" : "expression",
16830 "value" : {
16831 "op" : "and",
16832 "left" : {
16833 "type" : "expression",
16834 "value" : {
16835 "op" : "and",
16836 "left" : {
16837 "type" : "expression",
16838 "value" : {
16839 "op" : "!=",
16840 "left" : {
16841 "type" : "field",
16842 "value" : ["standard_metadata", "ingress_port"]
16843 },
16844 "right" : {
16845 "type" : "hexstr",
16846 "value" : "0x00ff"
16847 }
16848 }
16849 },
16850 "right" : {
16851 "type" : "expression",
16852 "value" : {
16853 "op" : "!=",
16854 "left" : {
16855 "type" : "field",
16856 "value" : ["standard_metadata", "egress_port"]
16857 },
16858 "right" : {
16859 "type" : "hexstr",
16860 "value" : "0x00ff"
16861 }
16862 }
16863 }
16864 }
16865 },
16866 "right" : {
16867 "type" : "expression",
16868 "value" : {
16869 "op" : "or",
16870 "left" : {
16871 "type" : "expression",
16872 "value" : {
16873 "op" : "d2b",
16874 "left" : null,
16875 "right" : {
16876 "type" : "field",
16877 "value" : ["udp", "$valid$"]
16878 }
16879 }
16880 },
16881 "right" : {
16882 "type" : "expression",
16883 "value" : {
16884 "op" : "d2b",
16885 "left" : null,
16886 "right" : {
16887 "type" : "field",
16888 "value" : ["tcp", "$valid$"]
16889 }
16890 }
16891 }
16892 }
16893 }
16894 }
16895 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020016896 "false_next" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016897 "true_next" : "node_89"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016898 },
16899 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016900 "name" : "node_89",
16901 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016902 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016903 "filename" : "include/int/int_main.p4",
16904 "line" : 102,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016905 "column" : 16,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016906 "source_fragment" : "fabric_metadata.int_meta.source == true"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016907 },
16908 "expression" : {
16909 "type" : "expression",
16910 "value" : {
16911 "op" : "==",
16912 "left" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016913 "type" : "expression",
16914 "value" : {
16915 "op" : "d2b",
16916 "left" : null,
16917 "right" : {
16918 "type" : "field",
16919 "value" : ["userMetadata.int_meta", "source"]
16920 }
16921 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016922 },
16923 "right" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016924 "type" : "bool",
16925 "value" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016926 }
16927 }
16928 },
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016929 "true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016930 "false_next" : "node_91"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016931 },
16932 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016933 "name" : "node_91",
16934 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016935 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016936 "filename" : "include/int/int_main.p4",
16937 "line" : 106,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016938 "column" : 15,
16939 "source_fragment" : "hdr.int_header.isValid()"
16940 },
16941 "expression" : {
16942 "type" : "expression",
16943 "value" : {
16944 "op" : "d2b",
16945 "left" : null,
16946 "right" : {
16947 "type" : "field",
16948 "value" : ["int_header", "$valid$"]
16949 }
16950 }
16951 },
16952 "false_next" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016953 "true_next" : "tbl_act_32"
16954 },
16955 {
16956 "name" : "node_94",
16957 "id" : 32,
16958 "source_info" : {
16959 "filename" : "include/int/int_transit.p4",
16960 "line" : 369,
16961 "column" : 12,
16962 "source_fragment" : "fmeta.int_meta.transit == false"
16963 },
16964 "expression" : {
16965 "type" : "expression",
16966 "value" : {
16967 "op" : "==",
16968 "left" : {
16969 "type" : "expression",
16970 "value" : {
16971 "op" : "d2b",
16972 "left" : null,
16973 "right" : {
16974 "type" : "field",
16975 "value" : ["userMetadata.int_meta", "transit"]
16976 }
16977 }
16978 },
16979 "right" : {
16980 "type" : "bool",
16981 "value" : false
16982 }
16983 }
16984 },
16985 "true_next" : "tbl_act_33",
16986 "false_next" : "node_96"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090016987 },
16988 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070016989 "name" : "node_96",
Carmelo Cascone79a3a312018-08-16 17:14:43 -070016990 "id" : 33,
16991 "expression" : {
16992 "type" : "expression",
16993 "value" : {
16994 "op" : "not",
16995 "left" : null,
16996 "right" : {
16997 "type" : "expression",
16998 "value" : {
16999 "op" : "d2b",
17000 "left" : null,
17001 "right" : {
17002 "type" : "field",
17003 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
17004 }
17005 }
17006 }
17007 }
17008 },
17009 "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
17010 "false_next" : "node_106"
17011 },
17012 {
17013 "name" : "node_100",
17014 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017015 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017016 "filename" : "include/int/int_transit.p4",
17017 "line" : 377,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017018 "column" : 12,
17019 "source_fragment" : "hdr.ipv4.isValid()"
17020 },
17021 "expression" : {
17022 "type" : "expression",
17023 "value" : {
17024 "op" : "d2b",
17025 "left" : null,
17026 "right" : {
17027 "type" : "field",
17028 "value" : ["ipv4", "$valid$"]
17029 }
17030 }
17031 },
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017032 "true_next" : "tbl_act_35",
17033 "false_next" : "node_102"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017034 },
17035 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017036 "name" : "node_102",
17037 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017038 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017039 "filename" : "include/int/int_transit.p4",
17040 "line" : 380,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017041 "column" : 12,
17042 "source_fragment" : "hdr.udp.isValid()"
17043 },
17044 "expression" : {
17045 "type" : "expression",
17046 "value" : {
17047 "op" : "d2b",
17048 "left" : null,
17049 "right" : {
17050 "type" : "field",
17051 "value" : ["udp", "$valid$"]
17052 }
17053 }
17054 },
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017055 "true_next" : "tbl_act_36",
17056 "false_next" : "node_104"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017057 },
17058 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017059 "name" : "node_104",
17060 "id" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017061 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017062 "filename" : "include/int/int_transit.p4",
17063 "line" : 383,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017064 "column" : 12,
17065 "source_fragment" : "hdr.intl4_shim.isValid()"
17066 },
17067 "expression" : {
17068 "type" : "expression",
17069 "value" : {
17070 "op" : "d2b",
17071 "left" : null,
17072 "right" : {
17073 "type" : "field",
17074 "value" : ["intl4_shim", "$valid$"]
17075 }
17076 }
17077 },
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017078 "true_next" : "tbl_act_37",
17079 "false_next" : "node_106"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017080 },
17081 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017082 "name" : "node_106",
17083 "id" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017084 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017085 "filename" : "include/int/int_main.p4",
Carmelo Cascone0c8d73e2018-09-07 16:31:06 -070017086 "line" : 111,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017087 "column" : 20,
17088 "source_fragment" : "standard_metadata.instance_type == 1"
17089 },
17090 "expression" : {
17091 "type" : "expression",
17092 "value" : {
17093 "op" : "==",
17094 "left" : {
17095 "type" : "field",
17096 "value" : ["standard_metadata", "instance_type"]
17097 },
17098 "right" : {
17099 "type" : "hexstr",
17100 "value" : "0x00000001"
17101 }
17102 }
17103 },
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017104 "true_next" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
17105 "false_next" : "node_108"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017106 },
17107 {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017108 "name" : "node_108",
17109 "id" : 38,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017110 "source_info" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017111 "filename" : "include/int/int_main.p4",
Carmelo Cascone0c8d73e2018-09-07 16:31:06 -070017112 "line" : 115,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017113 "column" : 20,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017114 "source_fragment" : "fabric_metadata.int_meta.sink == true"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017115 },
17116 "expression" : {
17117 "type" : "expression",
17118 "value" : {
17119 "op" : "==",
17120 "left" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017121 "type" : "expression",
17122 "value" : {
17123 "op" : "d2b",
17124 "left" : null,
17125 "right" : {
17126 "type" : "field",
17127 "value" : ["userMetadata.int_meta", "sink"]
17128 }
17129 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017130 },
17131 "right" : {
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017132 "type" : "bool",
17133 "value" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090017134 }
17135 }
17136 },
17137 "false_next" : null,
Carmelo Cascone79a3a312018-08-16 17:14:43 -070017138 "true_next" : "tbl_process_int_main_process_int_sink_restore_header"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020017139 }
17140 ]
17141 }
17142 ],
17143 "checksums" : [
17144 {
17145 "name" : "cksum",
17146 "id" : 0,
17147 "target" : ["ipv4", "hdr_checksum"],
17148 "type" : "generic",
17149 "calculation" : "calc",
17150 "if_cond" : {
17151 "type" : "expression",
17152 "value" : {
17153 "op" : "d2b",
17154 "left" : null,
17155 "right" : {
17156 "type" : "field",
17157 "value" : ["ipv4", "$valid$"]
17158 }
17159 }
17160 }
17161 },
17162 {
17163 "name" : "cksum_0",
17164 "id" : 1,
17165 "target" : ["gtpu_ipv4", "hdr_checksum"],
17166 "type" : "generic",
17167 "calculation" : "calc_0",
17168 "if_cond" : {
17169 "type" : "expression",
17170 "value" : {
17171 "op" : "d2b",
17172 "left" : null,
17173 "right" : {
17174 "type" : "field",
17175 "value" : ["gtpu_ipv4", "$valid$"]
17176 }
17177 }
17178 }
17179 },
17180 {
17181 "name" : "cksum_1",
17182 "id" : 2,
17183 "target" : ["ipv4", "hdr_checksum"],
17184 "type" : "generic",
17185 "calculation" : "calc_1",
17186 "if_cond" : {
17187 "type" : "expression",
17188 "value" : {
17189 "op" : "d2b",
17190 "left" : null,
17191 "right" : {
17192 "type" : "field",
17193 "value" : ["ipv4", "$valid$"]
17194 }
17195 }
17196 }
17197 }
17198 ],
17199 "force_arith" : [],
17200 "extern_instances" : [],
17201 "field_aliases" : [
17202 [
17203 "queueing_metadata.enq_timestamp",
17204 ["standard_metadata", "enq_timestamp"]
17205 ],
17206 [
17207 "queueing_metadata.enq_qdepth",
17208 ["standard_metadata", "enq_qdepth"]
17209 ],
17210 [
17211 "queueing_metadata.deq_timedelta",
17212 ["standard_metadata", "deq_timedelta"]
17213 ],
17214 [
17215 "queueing_metadata.deq_qdepth",
17216 ["standard_metadata", "deq_qdepth"]
17217 ],
17218 [
17219 "intrinsic_metadata.ingress_global_timestamp",
17220 ["standard_metadata", "ingress_global_timestamp"]
17221 ],
17222 [
17223 "intrinsic_metadata.egress_global_timestamp",
17224 ["standard_metadata", "egress_global_timestamp"]
17225 ],
17226 [
17227 "intrinsic_metadata.lf_field_list",
17228 ["standard_metadata", "lf_field_list"]
17229 ],
17230 [
17231 "intrinsic_metadata.mcast_grp",
17232 ["standard_metadata", "mcast_grp"]
17233 ],
17234 [
17235 "intrinsic_metadata.resubmit_flag",
17236 ["standard_metadata", "resubmit_flag"]
17237 ],
17238 [
17239 "intrinsic_metadata.egress_rid",
17240 ["standard_metadata", "egress_rid"]
17241 ],
17242 [
17243 "intrinsic_metadata.recirculate_flag",
17244 ["standard_metadata", "recirculate_flag"]
17245 ]
17246 ],
17247 "program" : "fabric.p4",
17248 "__meta__" : {
17249 "version" : [2, 18],
17250 "compiler" : "https://github.com/p4lang/p4c"
17251 }
17252}