blob: 9d32a413a877a2027167fc66a686653acfdb4e85 [file] [log] [blame]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
7 ["tmp", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008 ["tmp_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02009 ["tmp_1", 32, false],
Charles Chancf696e52018-08-16 16:25:13 -070010 ["tmp_2", 8, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011 ["tmp_3", 1, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012 ["tmp_4", 32, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013 ["tmp_5", 32, false],
14 ["spgw_ingress_tmp_1", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015 ["spgw_ingress_tmp_2", 1, false],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070016 ["filtering_tmp_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020017 ["next_tmp_2", 1, false],
18 ["next_tmp_3", 1, false],
19 ["next_tmp_4", 1, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070020 ["spgw_normalizer_hasReturned_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020021 ["spgw_ingress_hasReturned_0", 1, false],
22 ["next_hasReturned_0", 1, false],
23 ["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],
27 ["fabric_metadata_t.clone_to_cpu", 1, false],
28 ["fabric_metadata_t.ip_proto", 8, false],
29 ["fabric_metadata_t.l4_src_port", 16, false],
30 ["fabric_metadata_t.l4_dst_port", 16, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090031 ["fabric_metadata_t.compute_checksum", 1, false],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070032 ["_padding_2", 2, 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 {
221 "name" : "drop_report_header_t",
222 "id" : 15,
223 "fields" : [
224 ["switch_id", 32, false],
225 ["ingress_port_id", 16, false],
226 ["egress_port_id", 16, false],
227 ["queue_id", 8, false],
228 ["drop_reason", 8, false],
229 ["pad", 16, false]
230 ]
231 },
232 {
233 "name" : "local_report_header_t",
234 "id" : 16,
235 "fields" : [
236 ["switch_id", 32, false],
237 ["ingress_port_id", 16, false],
238 ["egress_port_id", 16, false],
239 ["queue_id", 8, false],
240 ["queue_occupancy", 24, false],
241 ["egress_tstamp", 32, false]
242 ]
243 },
244 {
245 "name" : "intl4_shim_t",
246 "id" : 17,
247 "fields" : [
248 ["int_type", 8, false],
249 ["rsvd1", 8, false],
250 ["len", 8, false],
251 ["rsvd2", 8, false]
252 ]
253 },
254 {
255 "name" : "int_header_t",
256 "id" : 18,
257 "fields" : [
258 ["ver", 2, false],
259 ["rep", 2, false],
260 ["c", 1, false],
261 ["e", 1, false],
262 ["rsvd1", 5, false],
263 ["ins_cnt", 5, false],
264 ["max_hop_cnt", 8, false],
265 ["total_hop_cnt", 8, false],
266 ["instruction_mask_0003", 4, false],
267 ["instruction_mask_0407", 4, false],
268 ["instruction_mask_0811", 4, false],
269 ["instruction_mask_1215", 4, false],
270 ["rsvd2", 16, false]
271 ]
272 },
273 {
274 "name" : "int_data_t",
275 "id" : 19,
276 "fields" : [
277 ["data", "*"]
278 ],
279 "max_length" : 1004
280 },
281 {
282 "name" : "int_switch_id_t",
283 "id" : 20,
284 "fields" : [
285 ["switch_id", 32, false]
286 ]
287 },
288 {
289 "name" : "int_port_ids_t",
290 "id" : 21,
291 "fields" : [
292 ["ingress_port_id", 16, false],
293 ["egress_port_id", 16, false]
294 ]
295 },
296 {
297 "name" : "int_hop_latency_t",
298 "id" : 22,
299 "fields" : [
300 ["hop_latency", 32, false]
301 ]
302 },
303 {
304 "name" : "int_q_occupancy_t",
305 "id" : 23,
306 "fields" : [
307 ["q_id", 8, false],
308 ["q_occupancy", 24, false]
309 ]
310 },
311 {
312 "name" : "int_ingress_tstamp_t",
313 "id" : 24,
314 "fields" : [
315 ["ingress_tstamp", 32, false]
316 ]
317 },
318 {
319 "name" : "int_egress_tstamp_t",
320 "id" : 25,
321 "fields" : [
322 ["egress_tstamp", 32, false]
323 ]
324 },
325 {
326 "name" : "int_q_congestion_t",
327 "id" : 26,
328 "fields" : [
329 ["q_id", 8, false],
330 ["q_congestion", 24, false]
331 ]
332 },
333 {
334 "name" : "int_egress_port_tx_util_t",
335 "id" : 27,
336 "fields" : [
337 ["egress_port_tx_util", 32, false]
338 ]
339 },
340 {
341 "name" : "intl4_tail_t",
342 "id" : 28,
343 "fields" : [
344 ["next_proto", 8, false],
345 ["dest_port", 16, false],
346 ["dscp", 8, false]
347 ]
348 },
349 {
350 "name" : "spgw_meta_t",
351 "id" : 29,
352 "fields" : [
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700353 ["direction", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200354 ["ipv4_len", 16, false],
355 ["teid", 32, false],
356 ["s1u_enb_addr", 32, false],
357 ["s1u_sgw_addr", 32, false],
358 ["_padding_0", 6, false]
359 ]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900360 },
361 {
362 "name" : "int_metadata_t",
363 "id" : 30,
364 "fields" : [
365 ["switch_id", 32, false],
366 ["insert_byte_cnt", 16, false],
367 ["source", 1, false],
368 ["sink", 1, false],
369 ["mirror_id", 8, false],
370 ["flow_id", 16, false],
371 ["metadata_len", 8, false],
372 ["_padding_1", 6, false]
373 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200374 }
375 ],
376 "headers" : [
377 {
378 "name" : "scalars",
379 "id" : 0,
380 "header_type" : "scalars_0",
381 "metadata" : true,
382 "pi_omit" : true
383 },
384 {
385 "name" : "standard_metadata",
386 "id" : 1,
387 "header_type" : "standard_metadata",
388 "metadata" : true,
389 "pi_omit" : true
390 },
391 {
392 "name" : "ethernet",
393 "id" : 2,
394 "header_type" : "ethernet_t",
395 "metadata" : false,
396 "pi_omit" : true
397 },
398 {
399 "name" : "vlan_tag",
400 "id" : 3,
401 "header_type" : "vlan_tag_t",
402 "metadata" : false,
403 "pi_omit" : true
404 },
405 {
406 "name" : "mpls",
407 "id" : 4,
408 "header_type" : "mpls_t",
409 "metadata" : false,
410 "pi_omit" : true
411 },
412 {
413 "name" : "gtpu_ipv4",
414 "id" : 5,
415 "header_type" : "ipv4_t",
416 "metadata" : false,
417 "pi_omit" : true
418 },
419 {
420 "name" : "gtpu_udp",
421 "id" : 6,
422 "header_type" : "udp_t",
423 "metadata" : false,
424 "pi_omit" : true
425 },
426 {
427 "name" : "gtpu",
428 "id" : 7,
429 "header_type" : "gtpu_t",
430 "metadata" : false,
431 "pi_omit" : true
432 },
433 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700434 "name" : "inner_ipv4",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200435 "id" : 8,
436 "header_type" : "ipv4_t",
437 "metadata" : false,
438 "pi_omit" : true
439 },
440 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700441 "name" : "inner_udp",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200442 "id" : 9,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700443 "header_type" : "udp_t",
444 "metadata" : false,
445 "pi_omit" : true
446 },
447 {
448 "name" : "ipv4",
449 "id" : 10,
450 "header_type" : "ipv4_t",
451 "metadata" : false,
452 "pi_omit" : true
453 },
454 {
455 "name" : "ipv6",
456 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200457 "header_type" : "ipv6_t",
458 "metadata" : false,
459 "pi_omit" : true
460 },
461 {
462 "name" : "arp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700463 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200464 "header_type" : "arp_t",
465 "metadata" : false,
466 "pi_omit" : true
467 },
468 {
469 "name" : "tcp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700470 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200471 "header_type" : "tcp_t",
472 "metadata" : false,
473 "pi_omit" : true
474 },
475 {
476 "name" : "udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700477 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200478 "header_type" : "udp_t",
479 "metadata" : false,
480 "pi_omit" : true
481 },
482 {
483 "name" : "icmp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700484 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200485 "header_type" : "icmp_t",
486 "metadata" : false,
487 "pi_omit" : true
488 },
489 {
490 "name" : "packet_out",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700491 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200492 "header_type" : "packet_out_header_t",
493 "metadata" : false,
494 "pi_omit" : true
495 },
496 {
497 "name" : "packet_in",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700498 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200499 "header_type" : "packet_in_header_t",
500 "metadata" : false,
501 "pi_omit" : true
502 },
503 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900504 "name" : "report_ethernet",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700505 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900506 "header_type" : "ethernet_t",
507 "metadata" : false,
508 "pi_omit" : true
509 },
510 {
511 "name" : "report_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700512 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900513 "header_type" : "ipv4_t",
514 "metadata" : false,
515 "pi_omit" : true
516 },
517 {
518 "name" : "report_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700519 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900520 "header_type" : "udp_t",
521 "metadata" : false,
522 "pi_omit" : true
523 },
524 {
525 "name" : "report_fixed_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700526 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900527 "header_type" : "report_fixed_header_t",
528 "metadata" : false,
529 "pi_omit" : true
530 },
531 {
532 "name" : "report_local.drop_report_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700533 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900534 "header_type" : "drop_report_header_t",
535 "metadata" : false,
536 "pi_omit" : true
537 },
538 {
539 "name" : "report_local.local_report_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700540 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900541 "header_type" : "local_report_header_t",
542 "metadata" : false,
543 "pi_omit" : true
544 },
545 {
546 "name" : "intl4_shim",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700547 "id" : 24,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900548 "header_type" : "intl4_shim_t",
549 "metadata" : false,
550 "pi_omit" : true
551 },
552 {
553 "name" : "int_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700554 "id" : 25,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900555 "header_type" : "int_header_t",
556 "metadata" : false,
557 "pi_omit" : true
558 },
559 {
560 "name" : "int_data",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700561 "id" : 26,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900562 "header_type" : "int_data_t",
563 "metadata" : false,
564 "pi_omit" : true
565 },
566 {
567 "name" : "int_switch_id",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700568 "id" : 27,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900569 "header_type" : "int_switch_id_t",
570 "metadata" : false,
571 "pi_omit" : true
572 },
573 {
574 "name" : "int_port_ids",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700575 "id" : 28,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900576 "header_type" : "int_port_ids_t",
577 "metadata" : false,
578 "pi_omit" : true
579 },
580 {
581 "name" : "int_hop_latency",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700582 "id" : 29,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900583 "header_type" : "int_hop_latency_t",
584 "metadata" : false,
585 "pi_omit" : true
586 },
587 {
588 "name" : "int_q_occupancy",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700589 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900590 "header_type" : "int_q_occupancy_t",
591 "metadata" : false,
592 "pi_omit" : true
593 },
594 {
595 "name" : "int_ingress_tstamp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700596 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900597 "header_type" : "int_ingress_tstamp_t",
598 "metadata" : false,
599 "pi_omit" : true
600 },
601 {
602 "name" : "int_egress_tstamp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700603 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900604 "header_type" : "int_egress_tstamp_t",
605 "metadata" : false,
606 "pi_omit" : true
607 },
608 {
609 "name" : "int_q_congestion",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700610 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900611 "header_type" : "int_q_congestion_t",
612 "metadata" : false,
613 "pi_omit" : true
614 },
615 {
616 "name" : "int_egress_tx_util",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700617 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900618 "header_type" : "int_egress_port_tx_util_t",
619 "metadata" : false,
620 "pi_omit" : true
621 },
622 {
623 "name" : "intl4_tail",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700624 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900625 "header_type" : "intl4_tail_t",
626 "metadata" : false,
627 "pi_omit" : true
628 },
629 {
630 "name" : "userMetadata.spgw",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700631 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200632 "header_type" : "spgw_meta_t",
633 "metadata" : true,
634 "pi_omit" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900635 },
636 {
637 "name" : "userMetadata.int_meta",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700638 "id" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900639 "header_type" : "int_metadata_t",
640 "metadata" : true,
641 "pi_omit" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200642 }
643 ],
644 "header_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900645 "header_union_types" : [
646 {
647 "name" : "local_report_t",
648 "id" : 0,
649 "headers" : [
650 ["drop_report_header", "drop_report_header_t"],
651 ["local_report_header", "local_report_header_t"]
652 ]
653 }
654 ],
655 "header_unions" : [
656 {
657 "name" : "report_local",
658 "id" : 0,
659 "union_type" : "local_report_t",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700660 "header_ids" : [22, 23],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900661 "pi_omit" : true
662 }
663 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200664 "header_union_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900665 "field_lists" : [
666 {
667 "id" : 1,
668 "name" : "fl",
669 "elements" : []
670 }
671 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200672 "errors" : [],
673 "enums" : [],
674 "parsers" : [
675 {
676 "name" : "parser",
677 "id" : 0,
678 "init_state" : "start",
679 "parse_states" : [
680 {
681 "name" : "start",
682 "id" : 0,
683 "parser_ops" : [],
684 "transitions" : [
685 {
686 "type" : "hexstr",
687 "value" : "0x00ff",
688 "mask" : null,
689 "next_state" : "parse_packet_out"
690 },
691 {
692 "value" : "default",
693 "mask" : null,
694 "next_state" : "parse_ethernet"
695 }
696 ],
697 "transition_key" : [
698 {
699 "type" : "field",
700 "value" : ["standard_metadata", "ingress_port"]
701 }
702 ]
703 },
704 {
705 "name" : "parse_packet_out",
706 "id" : 1,
707 "parser_ops" : [
708 {
709 "parameters" : [
710 {
711 "type" : "regular",
712 "value" : "packet_out"
713 }
714 ],
715 "op" : "extract"
716 }
717 ],
718 "transitions" : [
719 {
720 "value" : "default",
721 "mask" : null,
722 "next_state" : "parse_ethernet"
723 }
724 ],
725 "transition_key" : []
726 },
727 {
728 "name" : "parse_ethernet",
729 "id" : 2,
730 "parser_ops" : [
731 {
732 "parameters" : [
733 {
734 "type" : "regular",
735 "value" : "ethernet"
736 }
737 ],
738 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200739 }
740 ],
741 "transitions" : [
742 {
743 "type" : "hexstr",
744 "value" : "0x8100",
745 "mask" : null,
746 "next_state" : "parse_vlan_tag"
747 },
748 {
749 "type" : "hexstr",
750 "value" : "0x8847",
751 "mask" : null,
752 "next_state" : "parse_mpls"
753 },
754 {
755 "type" : "hexstr",
756 "value" : "0x0806",
757 "mask" : null,
758 "next_state" : "parse_arp"
759 },
760 {
761 "type" : "hexstr",
762 "value" : "0x0800",
763 "mask" : null,
764 "next_state" : "parse_ipv4"
765 },
766 {
767 "type" : "hexstr",
768 "value" : "0x86dd",
769 "mask" : null,
770 "next_state" : "parse_ipv6"
771 },
772 {
773 "value" : "default",
774 "mask" : null,
775 "next_state" : null
776 }
777 ],
778 "transition_key" : [
779 {
780 "type" : "field",
781 "value" : ["ethernet", "ether_type"]
782 }
783 ]
784 },
785 {
786 "name" : "parse_vlan_tag",
787 "id" : 3,
788 "parser_ops" : [
789 {
790 "parameters" : [
791 {
792 "type" : "regular",
793 "value" : "vlan_tag"
794 }
795 ],
796 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200797 }
798 ],
799 "transitions" : [
800 {
801 "type" : "hexstr",
802 "value" : "0x0806",
803 "mask" : null,
804 "next_state" : "parse_arp"
805 },
806 {
807 "type" : "hexstr",
808 "value" : "0x0800",
809 "mask" : null,
810 "next_state" : "parse_ipv4"
811 },
812 {
813 "type" : "hexstr",
814 "value" : "0x86dd",
815 "mask" : null,
816 "next_state" : "parse_ipv6"
817 },
818 {
819 "type" : "hexstr",
820 "value" : "0x8847",
821 "mask" : null,
822 "next_state" : "parse_mpls"
823 },
824 {
825 "value" : "default",
826 "mask" : null,
827 "next_state" : null
828 }
829 ],
830 "transition_key" : [
831 {
832 "type" : "field",
833 "value" : ["vlan_tag", "ether_type"]
834 }
835 ]
836 },
837 {
838 "name" : "parse_mpls",
839 "id" : 4,
840 "parser_ops" : [
841 {
842 "parameters" : [
843 {
844 "type" : "regular",
845 "value" : "mpls"
846 }
847 ],
848 "op" : "extract"
849 },
850 {
851 "parameters" : [
852 {
853 "type" : "field",
854 "value" : ["scalars", "tmp"]
855 },
856 {
857 "type" : "lookahead",
858 "value" : [0, 4]
859 }
860 ],
861 "op" : "set"
862 }
863 ],
864 "transitions" : [
865 {
866 "type" : "hexstr",
867 "value" : "0x04",
868 "mask" : null,
869 "next_state" : "parse_ipv4"
870 },
871 {
872 "type" : "hexstr",
873 "value" : "0x06",
874 "mask" : null,
875 "next_state" : "parse_ipv6"
876 },
877 {
878 "value" : "default",
879 "mask" : null,
880 "next_state" : "parse_ethernet"
881 }
882 ],
883 "transition_key" : [
884 {
885 "type" : "field",
886 "value" : ["scalars", "tmp"]
887 }
888 ]
889 },
890 {
891 "name" : "parse_ipv4",
892 "id" : 5,
893 "parser_ops" : [
894 {
895 "parameters" : [
896 {
897 "type" : "regular",
898 "value" : "ipv4"
899 }
900 ],
901 "op" : "extract"
902 },
903 {
904 "parameters" : [
905 {
906 "type" : "field",
907 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
908 },
909 {
910 "type" : "field",
911 "value" : ["ipv4", "protocol"]
912 }
913 ],
914 "op" : "set"
915 }
916 ],
917 "transitions" : [
918 {
919 "type" : "hexstr",
920 "value" : "0x06",
921 "mask" : null,
922 "next_state" : "parse_tcp"
923 },
924 {
925 "type" : "hexstr",
926 "value" : "0x11",
927 "mask" : null,
928 "next_state" : "parse_udp"
929 },
930 {
931 "type" : "hexstr",
932 "value" : "0x01",
933 "mask" : null,
934 "next_state" : "parse_icmp"
935 },
936 {
937 "value" : "default",
938 "mask" : null,
939 "next_state" : null
940 }
941 ],
942 "transition_key" : [
943 {
944 "type" : "field",
945 "value" : ["ipv4", "protocol"]
946 }
947 ]
948 },
949 {
950 "name" : "parse_ipv6",
951 "id" : 6,
952 "parser_ops" : [
953 {
954 "parameters" : [
955 {
956 "type" : "regular",
957 "value" : "ipv6"
958 }
959 ],
960 "op" : "extract"
961 },
962 {
963 "parameters" : [
964 {
965 "type" : "field",
966 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
967 },
968 {
969 "type" : "field",
970 "value" : ["ipv6", "next_hdr"]
971 }
972 ],
973 "op" : "set"
974 }
975 ],
976 "transitions" : [
977 {
978 "type" : "hexstr",
979 "value" : "0x06",
980 "mask" : null,
981 "next_state" : "parse_tcp"
982 },
983 {
984 "type" : "hexstr",
985 "value" : "0x11",
986 "mask" : null,
987 "next_state" : "parse_udp"
988 },
989 {
990 "type" : "hexstr",
991 "value" : "0x3a",
992 "mask" : null,
993 "next_state" : "parse_icmp"
994 },
995 {
996 "value" : "default",
997 "mask" : null,
998 "next_state" : null
999 }
1000 ],
1001 "transition_key" : [
1002 {
1003 "type" : "field",
1004 "value" : ["ipv6", "next_hdr"]
1005 }
1006 ]
1007 },
1008 {
1009 "name" : "parse_arp",
1010 "id" : 7,
1011 "parser_ops" : [
1012 {
1013 "parameters" : [
1014 {
1015 "type" : "regular",
1016 "value" : "arp"
1017 }
1018 ],
1019 "op" : "extract"
1020 }
1021 ],
1022 "transitions" : [
1023 {
1024 "value" : "default",
1025 "mask" : null,
1026 "next_state" : null
1027 }
1028 ],
1029 "transition_key" : []
1030 },
1031 {
1032 "name" : "parse_tcp",
1033 "id" : 8,
1034 "parser_ops" : [
1035 {
1036 "parameters" : [
1037 {
1038 "type" : "regular",
1039 "value" : "tcp"
1040 }
1041 ],
1042 "op" : "extract"
1043 },
1044 {
1045 "parameters" : [
1046 {
1047 "type" : "field",
1048 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1049 },
1050 {
1051 "type" : "field",
1052 "value" : ["tcp", "src_port"]
1053 }
1054 ],
1055 "op" : "set"
1056 },
1057 {
1058 "parameters" : [
1059 {
1060 "type" : "field",
1061 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1062 },
1063 {
1064 "type" : "field",
1065 "value" : ["tcp", "dst_port"]
1066 }
1067 ],
1068 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001069 },
1070 {
1071 "parameters" : [
1072 {
1073 "type" : "field",
1074 "value" : ["scalars", "tmp_0"]
1075 },
1076 {
1077 "type" : "expression",
1078 "value" : {
1079 "type" : "expression",
1080 "value" : {
1081 "op" : "?",
1082 "left" : {
1083 "type" : "hexstr",
1084 "value" : "0x01"
1085 },
1086 "right" : {
1087 "type" : "hexstr",
1088 "value" : "0x00"
1089 },
1090 "cond" : {
1091 "type" : "expression",
1092 "value" : {
1093 "op" : "and",
1094 "left" : {
1095 "type" : "expression",
1096 "value" : {
1097 "op" : "d2b",
1098 "left" : null,
1099 "right" : {
1100 "type" : "field",
1101 "value" : ["ipv4", "$valid$"]
1102 }
1103 }
1104 },
1105 "right" : {
1106 "type" : "expression",
1107 "value" : {
1108 "op" : "==",
1109 "left" : {
1110 "type" : "expression",
1111 "value" : {
1112 "op" : "&",
1113 "left" : {
1114 "type" : "field",
1115 "value" : ["ipv4", "dscp"]
1116 },
1117 "right" : {
1118 "type" : "hexstr",
1119 "value" : "0x01"
1120 }
1121 }
1122 },
1123 "right" : {
1124 "type" : "hexstr",
1125 "value" : "0x01"
1126 }
1127 }
1128 }
1129 }
1130 }
1131 }
1132 }
1133 }
1134 ],
1135 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001136 }
1137 ],
1138 "transitions" : [
1139 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001140 "type" : "hexstr",
1141 "value" : "0x01",
1142 "mask" : null,
1143 "next_state" : "parse_intl4_shim"
1144 },
1145 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001146 "value" : "default",
1147 "mask" : null,
1148 "next_state" : null
1149 }
1150 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001151 "transition_key" : [
1152 {
1153 "type" : "field",
1154 "value" : ["scalars", "tmp_0"]
1155 }
1156 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001157 },
1158 {
1159 "name" : "parse_udp",
1160 "id" : 9,
1161 "parser_ops" : [
1162 {
1163 "parameters" : [
1164 {
1165 "type" : "regular",
1166 "value" : "udp"
1167 }
1168 ],
1169 "op" : "extract"
1170 },
1171 {
1172 "parameters" : [
1173 {
1174 "type" : "field",
1175 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1176 },
1177 {
1178 "type" : "field",
1179 "value" : ["udp", "src_port"]
1180 }
1181 ],
1182 "op" : "set"
1183 },
1184 {
1185 "parameters" : [
1186 {
1187 "type" : "field",
1188 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1189 },
1190 {
1191 "type" : "field",
1192 "value" : ["udp", "dst_port"]
1193 }
1194 ],
1195 "op" : "set"
1196 }
1197 ],
1198 "transitions" : [
1199 {
1200 "type" : "hexstr",
1201 "value" : "0x0868",
1202 "mask" : null,
1203 "next_state" : "parse_gtpu"
1204 },
1205 {
1206 "value" : "default",
1207 "mask" : null,
1208 "next_state" : null
1209 }
1210 ],
1211 "transition_key" : [
1212 {
1213 "type" : "field",
1214 "value" : ["udp", "dst_port"]
1215 }
1216 ]
1217 },
1218 {
1219 "name" : "parse_icmp",
1220 "id" : 10,
1221 "parser_ops" : [
1222 {
1223 "parameters" : [
1224 {
1225 "type" : "regular",
1226 "value" : "icmp"
1227 }
1228 ],
1229 "op" : "extract"
1230 }
1231 ],
1232 "transitions" : [
1233 {
1234 "value" : "default",
1235 "mask" : null,
1236 "next_state" : null
1237 }
1238 ],
1239 "transition_key" : []
1240 },
1241 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001242 "name" : "parse_intl4_shim",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001243 "id" : 11,
1244 "parser_ops" : [
1245 {
1246 "parameters" : [
1247 {
1248 "type" : "regular",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001249 "value" : "intl4_shim"
1250 }
1251 ],
1252 "op" : "extract"
1253 },
1254 {
1255 "parameters" : [
1256 {
1257 "type" : "regular",
1258 "value" : "int_header"
1259 }
1260 ],
1261 "op" : "extract"
1262 },
1263 {
1264 "parameters" : [
1265 {
1266 "type" : "field",
1267 "value" : ["userMetadata.int_meta", "metadata_len"]
1268 },
1269 {
1270 "type" : "expression",
1271 "value" : {
1272 "type" : "expression",
1273 "value" : {
1274 "op" : "&",
1275 "left" : {
1276 "type" : "expression",
1277 "value" : {
1278 "op" : "+",
1279 "left" : {
1280 "type" : "field",
1281 "value" : ["intl4_shim", "len"]
1282 },
1283 "right" : {
1284 "type" : "hexstr",
1285 "value" : "0xfc"
1286 }
1287 }
1288 },
1289 "right" : {
1290 "type" : "hexstr",
1291 "value" : "0xff"
1292 }
1293 }
1294 }
1295 }
1296 ],
1297 "op" : "set"
1298 }
1299 ],
1300 "transitions" : [
1301 {
1302 "type" : "hexstr",
1303 "value" : "0x00",
1304 "mask" : null,
1305 "next_state" : "parse_intl4_tail"
1306 },
1307 {
1308 "value" : "default",
1309 "mask" : null,
1310 "next_state" : "parse_int_data"
1311 }
1312 ],
1313 "transition_key" : [
1314 {
1315 "type" : "field",
1316 "value" : ["userMetadata.int_meta", "metadata_len"]
1317 }
1318 ]
1319 },
1320 {
1321 "name" : "parse_int_data",
1322 "id" : 12,
1323 "parser_ops" : [
1324 {
1325 "parameters" : [
1326 {
1327 "type" : "field",
1328 "value" : ["scalars", "tmp_1"]
1329 },
1330 {
1331 "type" : "expression",
1332 "value" : {
1333 "type" : "expression",
1334 "value" : {
1335 "op" : "&",
1336 "left" : {
1337 "type" : "expression",
1338 "value" : {
1339 "op" : "&",
1340 "left" : {
1341 "type" : "expression",
1342 "value" : {
1343 "op" : "<<",
1344 "left" : {
1345 "type" : "expression",
1346 "value" : {
1347 "op" : "&",
1348 "left" : {
1349 "type" : "expression",
1350 "value" : {
1351 "op" : "+",
1352 "left" : {
1353 "type" : "field",
1354 "value" : ["intl4_shim", "len"]
1355 },
1356 "right" : {
1357 "type" : "hexstr",
1358 "value" : "0xfc"
1359 }
1360 }
1361 },
1362 "right" : {
1363 "type" : "hexstr",
1364 "value" : "0xff"
1365 }
1366 }
1367 },
1368 "right" : {
1369 "type" : "hexstr",
1370 "value" : "0x5"
1371 }
1372 }
1373 },
1374 "right" : {
1375 "type" : "hexstr",
1376 "value" : "0xff"
1377 }
1378 }
1379 },
1380 "right" : {
1381 "type" : "hexstr",
1382 "value" : "0xffffffff"
1383 }
1384 }
1385 }
1386 }
1387 ],
1388 "op" : "set"
1389 },
1390 {
1391 "parameters" : [
1392 {
1393 "type" : "regular",
1394 "value" : "int_data"
1395 },
1396 {
1397 "type" : "expression",
1398 "value" : {
1399 "type" : "field",
1400 "value" : ["scalars", "tmp_1"]
1401 }
1402 }
1403 ],
1404 "op" : "extract_VL"
1405 }
1406 ],
1407 "transitions" : [
1408 {
1409 "value" : "default",
1410 "mask" : null,
1411 "next_state" : "parse_intl4_tail"
1412 }
1413 ],
1414 "transition_key" : []
1415 },
1416 {
1417 "name" : "parse_intl4_tail",
1418 "id" : 13,
1419 "parser_ops" : [
1420 {
1421 "parameters" : [
1422 {
1423 "type" : "regular",
1424 "value" : "intl4_tail"
1425 }
1426 ],
1427 "op" : "extract"
1428 }
1429 ],
1430 "transitions" : [
1431 {
1432 "value" : "default",
1433 "mask" : null,
1434 "next_state" : null
1435 }
1436 ],
1437 "transition_key" : []
1438 },
1439 {
1440 "name" : "parse_gtpu",
1441 "id" : 14,
1442 "parser_ops" : [
1443 {
1444 "parameters" : [
1445 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001446 "type" : "field",
1447 "value" : ["scalars", "tmp_2"]
1448 },
1449 {
1450 "type" : "expression",
1451 "value" : {
1452 "type" : "expression",
1453 "value" : {
1454 "op" : "&",
1455 "left" : {
Charles Chancf696e52018-08-16 16:25:13 -07001456 "type" : "expression",
1457 "value" : {
1458 "op" : "&",
1459 "left" : {
1460 "type" : "expression",
1461 "value" : {
1462 "op" : ">>",
1463 "left" : {
1464 "type" : "field",
1465 "value" : ["ipv4", "dst_addr"]
1466 },
1467 "right" : {
1468 "type" : "hexstr",
1469 "value" : "0x18"
1470 }
1471 }
1472 },
1473 "right" : {
1474 "type" : "hexstr",
1475 "value" : "0xffffffff"
1476 }
1477 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001478 },
1479 "right" : {
1480 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001481 "value" : "0xff"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001482 }
1483 }
1484 }
1485 }
1486 ],
1487 "op" : "set"
1488 }
1489 ],
1490 "transitions" : [
1491 {
1492 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001493 "value" : "0x8c",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001494 "mask" : null,
1495 "next_state" : "do_parse_gtpu"
1496 },
1497 {
1498 "value" : "default",
1499 "mask" : null,
1500 "next_state" : null
1501 }
1502 ],
1503 "transition_key" : [
1504 {
1505 "type" : "field",
1506 "value" : ["scalars", "tmp_2"]
1507 }
1508 ]
1509 },
1510 {
1511 "name" : "do_parse_gtpu",
1512 "id" : 15,
1513 "parser_ops" : [
1514 {
1515 "parameters" : [
1516 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001517 "type" : "regular",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001518 "value" : "gtpu"
1519 }
1520 ],
1521 "op" : "extract"
1522 },
1523 {
1524 "parameters" : [
1525 {
1526 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001527 "value" : "inner_ipv4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001528 }
1529 ],
1530 "op" : "extract"
1531 }
1532 ],
1533 "transitions" : [
1534 {
1535 "type" : "hexstr",
1536 "value" : "0x06",
1537 "mask" : null,
1538 "next_state" : "parse_tcp"
1539 },
1540 {
1541 "type" : "hexstr",
1542 "value" : "0x11",
1543 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001544 "next_state" : "parse_inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001545 },
1546 {
1547 "type" : "hexstr",
1548 "value" : "0x01",
1549 "mask" : null,
1550 "next_state" : "parse_icmp"
1551 },
1552 {
1553 "value" : "default",
1554 "mask" : null,
1555 "next_state" : null
1556 }
1557 ],
1558 "transition_key" : [
1559 {
1560 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001561 "value" : ["inner_ipv4", "protocol"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001562 }
1563 ]
1564 },
1565 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001566 "name" : "parse_inner_udp",
1567 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001568 "parser_ops" : [
1569 {
1570 "parameters" : [
1571 {
1572 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001573 "value" : "inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001574 }
1575 ],
1576 "op" : "extract"
1577 },
1578 {
1579 "parameters" : [
1580 {
1581 "type" : "field",
1582 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1583 },
1584 {
1585 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001586 "value" : ["inner_udp", "src_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001587 }
1588 ],
1589 "op" : "set"
1590 },
1591 {
1592 "parameters" : [
1593 {
1594 "type" : "field",
1595 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1596 },
1597 {
1598 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001599 "value" : ["inner_udp", "dst_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001600 }
1601 ],
1602 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001603 },
1604 {
1605 "parameters" : [
1606 {
1607 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001608 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001609 },
1610 {
1611 "type" : "expression",
1612 "value" : {
1613 "type" : "expression",
1614 "value" : {
1615 "op" : "?",
1616 "left" : {
1617 "type" : "hexstr",
1618 "value" : "0x01"
1619 },
1620 "right" : {
1621 "type" : "hexstr",
1622 "value" : "0x00"
1623 },
1624 "cond" : {
1625 "type" : "expression",
1626 "value" : {
1627 "op" : "and",
1628 "left" : {
1629 "type" : "expression",
1630 "value" : {
1631 "op" : "d2b",
1632 "left" : null,
1633 "right" : {
1634 "type" : "field",
1635 "value" : ["ipv4", "$valid$"]
1636 }
1637 }
1638 },
1639 "right" : {
1640 "type" : "expression",
1641 "value" : {
1642 "op" : "==",
1643 "left" : {
1644 "type" : "expression",
1645 "value" : {
1646 "op" : "&",
1647 "left" : {
1648 "type" : "field",
1649 "value" : ["ipv4", "dscp"]
1650 },
1651 "right" : {
1652 "type" : "hexstr",
1653 "value" : "0x01"
1654 }
1655 }
1656 },
1657 "right" : {
1658 "type" : "hexstr",
1659 "value" : "0x01"
1660 }
1661 }
1662 }
1663 }
1664 }
1665 }
1666 }
1667 }
1668 ],
1669 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001670 }
1671 ],
1672 "transitions" : [
1673 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001674 "type" : "hexstr",
1675 "value" : "0x01",
1676 "mask" : null,
1677 "next_state" : "parse_intl4_shim"
1678 },
1679 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001680 "value" : "default",
1681 "mask" : null,
1682 "next_state" : null
1683 }
1684 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001685 "transition_key" : [
1686 {
1687 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001688 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001689 }
1690 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001691 }
1692 ]
1693 }
1694 ],
1695 "parse_vsets" : [],
1696 "deparsers" : [
1697 {
1698 "name" : "deparser",
1699 "id" : 0,
1700 "source_info" : {
1701 "filename" : "include/parser.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001702 "line" : 223,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001703 "column" : 8,
1704 "source_fragment" : "FabricDeparser"
1705 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001706 "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 +02001707 }
1708 ],
1709 "meter_arrays" : [],
1710 "counter_arrays" : [
1711 {
1712 "name" : "FabricIngress.spgw_ingress.ue_counter",
1713 "id" : 0,
1714 "is_direct" : true,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001715 "binding" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001716 },
1717 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001718 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001719 "id" : 1,
1720 "is_direct" : true,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001721 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1722 },
1723 {
1724 "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
1725 "id" : 2,
1726 "is_direct" : true,
1727 "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
1728 },
1729 {
1730 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1731 "id" : 3,
1732 "is_direct" : true,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001733 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1734 },
1735 {
1736 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001737 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001738 "is_direct" : true,
1739 "binding" : "FabricIngress.filtering.fwd_classifier"
1740 },
1741 {
1742 "name" : "FabricIngress.forwarding.bridging_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001743 "id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001744 "is_direct" : true,
1745 "binding" : "FabricIngress.forwarding.bridging"
1746 },
1747 {
1748 "name" : "FabricIngress.forwarding.mpls_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001749 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001750 "is_direct" : true,
1751 "binding" : "FabricIngress.forwarding.mpls"
1752 },
1753 {
1754 "name" : "FabricIngress.forwarding.unicast_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001755 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001756 "is_direct" : true,
1757 "binding" : "FabricIngress.forwarding.unicast_v4"
1758 },
1759 {
1760 "name" : "FabricIngress.forwarding.acl_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001761 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001762 "is_direct" : true,
1763 "binding" : "FabricIngress.forwarding.acl"
1764 },
1765 {
1766 "name" : "FabricIngress.forwarding.multicast_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001767 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001768 "is_direct" : true,
1769 "binding" : "FabricIngress.forwarding.multicast_v4"
1770 },
1771 {
1772 "name" : "FabricIngress.forwarding.unicast_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001773 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001774 "is_direct" : true,
1775 "binding" : "FabricIngress.forwarding.unicast_v6"
1776 },
1777 {
1778 "name" : "FabricIngress.forwarding.multicast_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001779 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001780 "is_direct" : true,
1781 "binding" : "FabricIngress.forwarding.multicast_v6"
1782 },
1783 {
1784 "name" : "FabricIngress.next.vlan_meta_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001785 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001786 "is_direct" : true,
1787 "binding" : "FabricIngress.next.vlan_meta"
1788 },
1789 {
1790 "name" : "FabricIngress.next.simple_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001791 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001792 "is_direct" : true,
1793 "binding" : "FabricIngress.next.simple"
1794 },
1795 {
1796 "name" : "FabricIngress.next.hashed_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001797 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001798 "is_direct" : true,
1799 "binding" : "FabricIngress.next.hashed"
1800 },
1801 {
1802 "name" : "FabricIngress.next.multicast_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001803 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001804 "is_direct" : true,
1805 "binding" : "FabricIngress.next.multicast"
1806 },
1807 {
1808 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001809 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001810 "source_info" : {
1811 "filename" : "include/control/port_counter.p4",
1812 "line" : 23,
1813 "column" : 48,
1814 "source_fragment" : "egress_port_counter"
1815 },
1816 "size" : 511,
1817 "is_direct" : false
1818 },
1819 {
1820 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001821 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001822 "source_info" : {
1823 "filename" : "include/control/port_counter.p4",
1824 "line" : 24,
1825 "column" : 48,
1826 "source_fragment" : "ingress_port_counter"
1827 },
1828 "size" : 511,
1829 "is_direct" : false
1830 },
1831 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001832 "name" : "FabricEgress.process_int_source.counter_int_source",
1833 "id" : 18,
1834 "is_direct" : true,
1835 "binding" : "FabricEgress.process_int_source.tb_int_source"
1836 },
1837 {
1838 "name" : "FabricEgress.process_int_transit.counter_int_insert",
1839 "id" : 19,
1840 "is_direct" : true,
1841 "binding" : "FabricEgress.process_int_transit.tb_int_insert"
1842 },
1843 {
1844 "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
1845 "id" : 20,
1846 "is_direct" : true,
1847 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
1848 },
1849 {
1850 "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
1851 "id" : 21,
1852 "is_direct" : true,
1853 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
1854 },
1855 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001856 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001857 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001858 "is_direct" : true,
1859 "binding" : "FabricEgress.egress_next.egress_vlan"
1860 }
1861 ],
1862 "register_arrays" : [],
1863 "calculations" : [
1864 {
1865 "name" : "calc",
1866 "id" : 0,
1867 "source_info" : {
1868 "filename" : "include/checksum.p4",
1869 "line" : 28,
1870 "column" : 8,
1871 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1872 },
1873 "algo" : "csum16",
1874 "input" : [
1875 {
1876 "type" : "field",
1877 "value" : ["ipv4", "version"]
1878 },
1879 {
1880 "type" : "field",
1881 "value" : ["ipv4", "ihl"]
1882 },
1883 {
1884 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001885 "value" : ["ipv4", "dscp"]
1886 },
1887 {
1888 "type" : "field",
1889 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001890 },
1891 {
1892 "type" : "field",
1893 "value" : ["ipv4", "total_len"]
1894 },
1895 {
1896 "type" : "field",
1897 "value" : ["ipv4", "identification"]
1898 },
1899 {
1900 "type" : "field",
1901 "value" : ["ipv4", "flags"]
1902 },
1903 {
1904 "type" : "field",
1905 "value" : ["ipv4", "frag_offset"]
1906 },
1907 {
1908 "type" : "field",
1909 "value" : ["ipv4", "ttl"]
1910 },
1911 {
1912 "type" : "field",
1913 "value" : ["ipv4", "protocol"]
1914 },
1915 {
1916 "type" : "field",
1917 "value" : ["ipv4", "src_addr"]
1918 },
1919 {
1920 "type" : "field",
1921 "value" : ["ipv4", "dst_addr"]
1922 }
1923 ]
1924 },
1925 {
1926 "name" : "calc_0",
1927 "id" : 1,
1928 "source_info" : {
1929 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001930 "line" : 237,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001931 "column" : 8,
1932 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1933 },
1934 "algo" : "csum16",
1935 "input" : [
1936 {
1937 "type" : "field",
1938 "value" : ["gtpu_ipv4", "version"]
1939 },
1940 {
1941 "type" : "field",
1942 "value" : ["gtpu_ipv4", "ihl"]
1943 },
1944 {
1945 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001946 "value" : ["gtpu_ipv4", "dscp"]
1947 },
1948 {
1949 "type" : "field",
1950 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001951 },
1952 {
1953 "type" : "field",
1954 "value" : ["gtpu_ipv4", "total_len"]
1955 },
1956 {
1957 "type" : "field",
1958 "value" : ["gtpu_ipv4", "identification"]
1959 },
1960 {
1961 "type" : "field",
1962 "value" : ["gtpu_ipv4", "flags"]
1963 },
1964 {
1965 "type" : "field",
1966 "value" : ["gtpu_ipv4", "frag_offset"]
1967 },
1968 {
1969 "type" : "field",
1970 "value" : ["gtpu_ipv4", "ttl"]
1971 },
1972 {
1973 "type" : "field",
1974 "value" : ["gtpu_ipv4", "protocol"]
1975 },
1976 {
1977 "type" : "field",
1978 "value" : ["gtpu_ipv4", "src_addr"]
1979 },
1980 {
1981 "type" : "field",
1982 "value" : ["gtpu_ipv4", "dst_addr"]
1983 }
1984 ]
1985 },
1986 {
1987 "name" : "calc_1",
1988 "id" : 2,
1989 "source_info" : {
1990 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001991 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001992 "column" : 8,
1993 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1994 },
1995 "algo" : "csum16",
1996 "input" : [
1997 {
1998 "type" : "field",
1999 "value" : ["ipv4", "version"]
2000 },
2001 {
2002 "type" : "field",
2003 "value" : ["ipv4", "ihl"]
2004 },
2005 {
2006 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002007 "value" : ["ipv4", "dscp"]
2008 },
2009 {
2010 "type" : "field",
2011 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002012 },
2013 {
2014 "type" : "field",
2015 "value" : ["ipv4", "total_len"]
2016 },
2017 {
2018 "type" : "field",
2019 "value" : ["ipv4", "identification"]
2020 },
2021 {
2022 "type" : "field",
2023 "value" : ["ipv4", "flags"]
2024 },
2025 {
2026 "type" : "field",
2027 "value" : ["ipv4", "frag_offset"]
2028 },
2029 {
2030 "type" : "field",
2031 "value" : ["ipv4", "ttl"]
2032 },
2033 {
2034 "type" : "field",
2035 "value" : ["ipv4", "protocol"]
2036 },
2037 {
2038 "type" : "field",
2039 "value" : ["ipv4", "src_addr"]
2040 },
2041 {
2042 "type" : "field",
2043 "value" : ["ipv4", "dst_addr"]
2044 }
2045 ]
2046 }
2047 ],
2048 "learn_lists" : [],
2049 "actions" : [
2050 {
2051 "name" : "NoAction",
2052 "id" : 0,
2053 "runtime_data" : [],
2054 "primitives" : []
2055 },
2056 {
2057 "name" : "NoAction",
2058 "id" : 1,
2059 "runtime_data" : [],
2060 "primitives" : []
2061 },
2062 {
2063 "name" : "NoAction",
2064 "id" : 2,
2065 "runtime_data" : [],
2066 "primitives" : []
2067 },
2068 {
2069 "name" : "NoAction",
2070 "id" : 3,
2071 "runtime_data" : [],
2072 "primitives" : []
2073 },
2074 {
2075 "name" : "NoAction",
2076 "id" : 4,
2077 "runtime_data" : [],
2078 "primitives" : []
2079 },
2080 {
2081 "name" : "NoAction",
2082 "id" : 5,
2083 "runtime_data" : [],
2084 "primitives" : []
2085 },
2086 {
2087 "name" : "NoAction",
2088 "id" : 6,
2089 "runtime_data" : [],
2090 "primitives" : []
2091 },
2092 {
2093 "name" : "NoAction",
2094 "id" : 7,
2095 "runtime_data" : [],
2096 "primitives" : []
2097 },
2098 {
2099 "name" : "NoAction",
2100 "id" : 8,
2101 "runtime_data" : [],
2102 "primitives" : []
2103 },
2104 {
2105 "name" : "NoAction",
2106 "id" : 9,
2107 "runtime_data" : [],
2108 "primitives" : []
2109 },
2110 {
2111 "name" : "NoAction",
2112 "id" : 10,
2113 "runtime_data" : [],
2114 "primitives" : []
2115 },
2116 {
2117 "name" : "NoAction",
2118 "id" : 11,
2119 "runtime_data" : [],
2120 "primitives" : []
2121 },
2122 {
2123 "name" : "NoAction",
2124 "id" : 12,
2125 "runtime_data" : [],
2126 "primitives" : []
2127 },
2128 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002129 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002130 "id" : 13,
2131 "runtime_data" : [],
2132 "primitives" : []
2133 },
2134 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002135 "name" : "drop_now",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002136 "id" : 14,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002137 "runtime_data" : [],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002138 "primitives" : [
2139 {
2140 "op" : "drop",
2141 "parameters" : [],
2142 "source_info" : {
2143 "filename" : "include/control/../action.p4",
2144 "line" : 24,
2145 "column" : 4,
2146 "source_fragment" : "mark_to_drop()"
2147 }
2148 },
2149 {
2150 "op" : "exit",
2151 "parameters" : [],
2152 "source_info" : {
2153 "filename" : "include/control/../action.p4",
2154 "line" : 25,
2155 "column" : 4,
2156 "source_fragment" : "exit"
2157 }
2158 }
2159 ]
2160 },
2161 {
2162 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002163 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002164 "runtime_data" : [],
2165 "primitives" : [
2166 {
2167 "op" : "remove_header",
2168 "parameters" : [
2169 {
2170 "type" : "header",
2171 "value" : "gtpu_ipv4"
2172 }
2173 ],
2174 "source_info" : {
2175 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002176 "line" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002177 "column" : 8,
2178 "source_fragment" : "gtpu_ipv4.setInvalid()"
2179 }
2180 },
2181 {
2182 "op" : "remove_header",
2183 "parameters" : [
2184 {
2185 "type" : "header",
2186 "value" : "gtpu_udp"
2187 }
2188 ],
2189 "source_info" : {
2190 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002191 "line" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002192 "column" : 8,
2193 "source_fragment" : "gtpu_udp.setInvalid()"
2194 }
2195 },
2196 {
2197 "op" : "remove_header",
2198 "parameters" : [
2199 {
2200 "type" : "header",
2201 "value" : "gtpu"
2202 }
2203 ],
2204 "source_info" : {
2205 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002206 "line" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002207 "column" : 8,
2208 "source_fragment" : "gtpu.setInvalid()"
2209 }
2210 }
2211 ]
2212 },
2213 {
2214 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002215 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002216 "runtime_data" : [
2217 {
2218 "name" : "teid",
2219 "bitwidth" : 32
2220 },
2221 {
2222 "name" : "s1u_enb_addr",
2223 "bitwidth" : 32
2224 },
2225 {
2226 "name" : "s1u_sgw_addr",
2227 "bitwidth" : 32
2228 }
2229 ],
2230 "primitives" : [
2231 {
2232 "op" : "assign",
2233 "parameters" : [
2234 {
2235 "type" : "field",
2236 "value" : ["userMetadata.spgw", "teid"]
2237 },
2238 {
2239 "type" : "runtime_data",
2240 "value" : 0
2241 }
2242 ],
2243 "source_info" : {
2244 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002245 "line" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002246 "column" : 8,
2247 "source_fragment" : "spgw_meta.teid = teid"
2248 }
2249 },
2250 {
2251 "op" : "assign",
2252 "parameters" : [
2253 {
2254 "type" : "field",
2255 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
2256 },
2257 {
2258 "type" : "runtime_data",
2259 "value" : 1
2260 }
2261 ],
2262 "source_info" : {
2263 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002264 "line" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002265 "column" : 8,
2266 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
2267 }
2268 },
2269 {
2270 "op" : "assign",
2271 "parameters" : [
2272 {
2273 "type" : "field",
2274 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
2275 },
2276 {
2277 "type" : "runtime_data",
2278 "value" : 2
2279 }
2280 ],
2281 "source_info" : {
2282 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002283 "line" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002284 "column" : 8,
2285 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
2286 }
2287 }
2288 ]
2289 },
2290 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002291 "name" : "FabricIngress.process_set_source_sink.int_set_source",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002292 "id" : 17,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002293 "runtime_data" : [],
2294 "primitives" : [
2295 {
2296 "op" : "assign",
2297 "parameters" : [
2298 {
2299 "type" : "field",
2300 "value" : ["userMetadata.int_meta", "source"]
2301 },
2302 {
2303 "type" : "hexstr",
2304 "value" : "0x01"
2305 }
2306 ],
2307 "source_info" : {
2308 "filename" : "include/int_source.p4",
2309 "line" : 94,
2310 "column" : 8,
2311 "source_fragment" : "fabric_metadata.int_meta.source = 1"
2312 }
2313 }
2314 ]
2315 },
2316 {
2317 "name" : "FabricIngress.process_set_source_sink.int_set_sink",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002318 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002319 "runtime_data" : [],
2320 "primitives" : [
2321 {
2322 "op" : "assign",
2323 "parameters" : [
2324 {
2325 "type" : "field",
2326 "value" : ["userMetadata.int_meta", "sink"]
2327 },
2328 {
2329 "type" : "hexstr",
2330 "value" : "0x01"
2331 }
2332 ],
2333 "source_info" : {
2334 "filename" : "include/int_source.p4",
2335 "line" : 98,
2336 "column" : 8,
2337 "source_fragment" : "fabric_metadata.int_meta.sink = 1"
2338 }
2339 }
2340 ]
2341 },
2342 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002343 "name" : "FabricIngress.filtering.drop",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002344 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002345 "runtime_data" : [],
2346 "primitives" : [
2347 {
2348 "op" : "drop",
2349 "parameters" : [],
2350 "source_info" : {
2351 "filename" : "include/control/filtering.p4",
2352 "line" : 37,
2353 "column" : 8,
2354 "source_fragment" : "mark_to_drop()"
2355 }
2356 }
2357 ]
2358 },
2359 {
2360 "name" : "FabricIngress.filtering.set_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002361 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002362 "runtime_data" : [
2363 {
2364 "name" : "new_vlan_id",
2365 "bitwidth" : 12
2366 }
2367 ],
2368 "primitives" : [
2369 {
2370 "op" : "assign",
2371 "parameters" : [
2372 {
2373 "type" : "field",
2374 "value" : ["vlan_tag", "vlan_id"]
2375 },
2376 {
2377 "type" : "runtime_data",
2378 "value" : 0
2379 }
2380 ],
2381 "source_info" : {
2382 "filename" : "include/control/filtering.p4",
2383 "line" : 42,
2384 "column" : 8,
2385 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2386 }
2387 }
2388 ]
2389 },
2390 {
2391 "name" : "FabricIngress.filtering.push_internal_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002392 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002393 "runtime_data" : [
2394 {
2395 "name" : "new_vlan_id",
2396 "bitwidth" : 12
2397 }
2398 ],
2399 "primitives" : [
2400 {
2401 "op" : "add_header",
2402 "parameters" : [
2403 {
2404 "type" : "header",
2405 "value" : "vlan_tag"
2406 }
2407 ],
2408 "source_info" : {
2409 "filename" : "include/control/filtering.p4",
2410 "line" : 49,
2411 "column" : 8,
2412 "source_fragment" : "hdr.vlan_tag.setValid()"
2413 }
2414 },
2415 {
2416 "op" : "assign",
2417 "parameters" : [
2418 {
2419 "type" : "field",
2420 "value" : ["vlan_tag", "cfi"]
2421 },
2422 {
2423 "type" : "hexstr",
2424 "value" : "0x00"
2425 }
2426 ],
2427 "source_info" : {
2428 "filename" : "include/control/filtering.p4",
2429 "line" : 50,
2430 "column" : 8,
2431 "source_fragment" : "hdr.vlan_tag.cfi = 0"
2432 }
2433 },
2434 {
2435 "op" : "assign",
2436 "parameters" : [
2437 {
2438 "type" : "field",
2439 "value" : ["vlan_tag", "pri"]
2440 },
2441 {
2442 "type" : "hexstr",
2443 "value" : "0x00"
2444 }
2445 ],
2446 "source_info" : {
2447 "filename" : "include/control/filtering.p4",
2448 "line" : 51,
2449 "column" : 8,
2450 "source_fragment" : "hdr.vlan_tag.pri = 0"
2451 }
2452 },
2453 {
2454 "op" : "assign",
2455 "parameters" : [
2456 {
2457 "type" : "field",
2458 "value" : ["vlan_tag", "ether_type"]
2459 },
2460 {
2461 "type" : "field",
2462 "value" : ["ethernet", "ether_type"]
2463 }
2464 ],
2465 "source_info" : {
2466 "filename" : "include/control/filtering.p4",
2467 "line" : 52,
2468 "column" : 8,
2469 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
2470 }
2471 },
2472 {
2473 "op" : "assign",
2474 "parameters" : [
2475 {
2476 "type" : "field",
2477 "value" : ["ethernet", "ether_type"]
2478 },
2479 {
2480 "type" : "hexstr",
2481 "value" : "0x8100"
2482 }
2483 ],
2484 "source_info" : {
2485 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002486 "line" : 89,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002487 "column" : 31,
2488 "source_fragment" : "0x8100; ..."
2489 }
2490 },
2491 {
2492 "op" : "assign",
2493 "parameters" : [
2494 {
2495 "type" : "field",
2496 "value" : ["vlan_tag", "vlan_id"]
2497 },
2498 {
2499 "type" : "runtime_data",
2500 "value" : 0
2501 }
2502 ],
2503 "source_info" : {
2504 "filename" : "include/control/filtering.p4",
2505 "line" : 54,
2506 "column" : 8,
2507 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2508 }
2509 },
2510 {
2511 "op" : "assign",
2512 "parameters" : [
2513 {
2514 "type" : "field",
2515 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2516 },
2517 {
2518 "type" : "expression",
2519 "value" : {
2520 "type" : "expression",
2521 "value" : {
2522 "op" : "b2d",
2523 "left" : null,
2524 "right" : {
2525 "type" : "bool",
2526 "value" : true
2527 }
2528 }
2529 }
2530 }
2531 ],
2532 "source_info" : {
2533 "filename" : "include/control/filtering.p4",
2534 "line" : 57,
2535 "column" : 8,
2536 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2537 }
2538 }
2539 ]
2540 },
2541 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002542 "name" : "FabricIngress.filtering.nop_ingress_port_vlan",
2543 "id" : 22,
2544 "runtime_data" : [],
2545 "primitives" : []
2546 },
2547 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002548 "name" : "FabricIngress.filtering.set_forwarding_type",
Charles Chancf696e52018-08-16 16:25:13 -07002549 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002550 "runtime_data" : [
2551 {
2552 "name" : "fwd_type",
2553 "bitwidth" : 3
2554 }
2555 ],
2556 "primitives" : [
2557 {
2558 "op" : "assign",
2559 "parameters" : [
2560 {
2561 "type" : "field",
2562 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2563 },
2564 {
2565 "type" : "runtime_data",
2566 "value" : 0
2567 }
2568 ],
2569 "source_info" : {
2570 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002571 "line" : 99,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002572 "column" : 8,
2573 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2574 }
2575 }
2576 ]
2577 },
2578 {
2579 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Charles Chancf696e52018-08-16 16:25:13 -07002580 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002581 "runtime_data" : [
2582 {
2583 "name" : "next_id",
2584 "bitwidth" : 32
2585 }
2586 ],
2587 "primitives" : [
2588 {
2589 "op" : "assign",
2590 "parameters" : [
2591 {
2592 "type" : "field",
2593 "value" : ["scalars", "fabric_metadata_t.next_id"]
2594 },
2595 {
2596 "type" : "runtime_data",
2597 "value" : 0
2598 }
2599 ],
2600 "source_info" : {
2601 "filename" : "include/control/forwarding.p4",
2602 "line" : 37,
2603 "column" : 8,
2604 "source_fragment" : "fabric_metadata.next_id = next_id"
2605 }
2606 }
2607 ]
2608 },
2609 {
2610 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Charles Chancf696e52018-08-16 16:25:13 -07002611 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002612 "runtime_data" : [
2613 {
2614 "name" : "next_id",
2615 "bitwidth" : 32
2616 }
2617 ],
2618 "primitives" : [
2619 {
2620 "op" : "remove_header",
2621 "parameters" : [
2622 {
2623 "type" : "header",
2624 "value" : "mpls"
2625 }
2626 ],
2627 "source_info" : {
2628 "filename" : "include/control/forwarding.p4",
2629 "line" : 60,
2630 "column" : 8,
2631 "source_fragment" : "hdr.mpls.setInvalid()"
2632 }
2633 },
2634 {
2635 "op" : "assign",
2636 "parameters" : [
2637 {
2638 "type" : "field",
2639 "value" : ["scalars", "fabric_metadata_t.next_id"]
2640 },
2641 {
2642 "type" : "runtime_data",
2643 "value" : 0
2644 }
2645 ],
2646 "source_info" : {
2647 "filename" : "include/control/forwarding.p4",
2648 "line" : 61,
2649 "column" : 8,
2650 "source_fragment" : "fabric_metadata.next_id = next_id"
2651 }
2652 }
2653 ]
2654 },
2655 {
2656 "name" : "FabricIngress.forwarding.set_next_id_unicast_v4",
Charles Chancf696e52018-08-16 16:25:13 -07002657 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002658 "runtime_data" : [
2659 {
2660 "name" : "next_id",
2661 "bitwidth" : 32
2662 }
2663 ],
2664 "primitives" : [
2665 {
2666 "op" : "assign",
2667 "parameters" : [
2668 {
2669 "type" : "field",
2670 "value" : ["scalars", "fabric_metadata_t.next_id"]
2671 },
2672 {
2673 "type" : "runtime_data",
2674 "value" : 0
2675 }
2676 ],
2677 "source_info" : {
2678 "filename" : "include/control/forwarding.p4",
2679 "line" : 83,
2680 "column" : 8,
2681 "source_fragment" : "fabric_metadata.next_id = next_id"
2682 }
2683 }
2684 ]
2685 },
2686 {
2687 "name" : "FabricIngress.forwarding.set_next_id_acl",
Charles Chancf696e52018-08-16 16:25:13 -07002688 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002689 "runtime_data" : [
2690 {
2691 "name" : "next_id",
2692 "bitwidth" : 32
2693 }
2694 ],
2695 "primitives" : [
2696 {
2697 "op" : "assign",
2698 "parameters" : [
2699 {
2700 "type" : "field",
2701 "value" : ["scalars", "fabric_metadata_t.next_id"]
2702 },
2703 {
2704 "type" : "runtime_data",
2705 "value" : 0
2706 }
2707 ],
2708 "source_info" : {
2709 "filename" : "include/control/forwarding.p4",
2710 "line" : 105,
2711 "column" : 8,
2712 "source_fragment" : "fabric_metadata.next_id = next_id"
2713 }
2714 }
2715 ]
2716 },
2717 {
2718 "name" : "FabricIngress.forwarding.punt_to_cpu",
Charles Chancf696e52018-08-16 16:25:13 -07002719 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002720 "runtime_data" : [],
2721 "primitives" : [
2722 {
2723 "op" : "assign",
2724 "parameters" : [
2725 {
2726 "type" : "field",
2727 "value" : ["standard_metadata", "egress_spec"]
2728 },
2729 {
2730 "type" : "hexstr",
2731 "value" : "0x00ff"
2732 }
2733 ],
2734 "source_info" : {
2735 "filename" : "include/control/forwarding.p4",
2736 "line" : 111,
2737 "column" : 8,
2738 "source_fragment" : "standard_metadata.egress_spec = 255"
2739 }
2740 },
2741 {
2742 "op" : "exit",
2743 "parameters" : [],
2744 "source_info" : {
2745 "filename" : "include/control/forwarding.p4",
2746 "line" : 113,
2747 "column" : 8,
2748 "source_fragment" : "exit"
2749 }
2750 }
2751 ]
2752 },
2753 {
2754 "name" : "FabricIngress.forwarding.clone_to_cpu",
Charles Chancf696e52018-08-16 16:25:13 -07002755 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002756 "runtime_data" : [],
2757 "primitives" : [
2758 {
2759 "op" : "assign",
2760 "parameters" : [
2761 {
2762 "type" : "field",
2763 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2764 },
2765 {
2766 "type" : "expression",
2767 "value" : {
2768 "type" : "expression",
2769 "value" : {
2770 "op" : "b2d",
2771 "left" : null,
2772 "right" : {
2773 "type" : "bool",
2774 "value" : true
2775 }
2776 }
2777 }
2778 }
2779 ],
2780 "source_info" : {
2781 "filename" : "include/control/forwarding.p4",
2782 "line" : 118,
2783 "column" : 8,
2784 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2785 }
2786 }
2787 ]
2788 },
2789 {
2790 "name" : "FabricIngress.forwarding.drop",
Charles Chancf696e52018-08-16 16:25:13 -07002791 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002792 "runtime_data" : [],
2793 "primitives" : [
2794 {
2795 "op" : "drop",
2796 "parameters" : [],
2797 "source_info" : {
2798 "filename" : "include/control/forwarding.p4",
2799 "line" : 123,
2800 "column" : 8,
2801 "source_fragment" : "mark_to_drop()"
2802 }
2803 }
2804 ]
2805 },
2806 {
Charles Chancf696e52018-08-16 16:25:13 -07002807 "name" : "FabricIngress.forwarding.nop_acl",
2808 "id" : 31,
2809 "runtime_data" : [],
2810 "primitives" : []
2811 },
2812 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002813 "name" : "FabricIngress.forwarding.set_next_id_multicast_v4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002814 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002815 "runtime_data" : [
2816 {
2817 "name" : "next_id",
2818 "bitwidth" : 32
2819 }
2820 ],
2821 "primitives" : [
2822 {
2823 "op" : "assign",
2824 "parameters" : [
2825 {
2826 "type" : "field",
2827 "value" : ["scalars", "fabric_metadata_t.next_id"]
2828 },
2829 {
2830 "type" : "runtime_data",
2831 "value" : 0
2832 }
2833 ],
2834 "source_info" : {
2835 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -07002836 "line" : 168,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002837 "column" : 8,
2838 "source_fragment" : "fabric_metadata.next_id = next_id"
2839 }
2840 }
2841 ]
2842 },
2843 {
2844 "name" : "FabricIngress.forwarding.set_next_id_unicast_v6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002845 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002846 "runtime_data" : [
2847 {
2848 "name" : "next_id",
2849 "bitwidth" : 32
2850 }
2851 ],
2852 "primitives" : [
2853 {
2854 "op" : "assign",
2855 "parameters" : [
2856 {
2857 "type" : "field",
2858 "value" : ["scalars", "fabric_metadata_t.next_id"]
2859 },
2860 {
2861 "type" : "runtime_data",
2862 "value" : 0
2863 }
2864 ],
2865 "source_info" : {
2866 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -07002867 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002868 "column" : 8,
2869 "source_fragment" : "fabric_metadata.next_id = next_id"
2870 }
2871 }
2872 ]
2873 },
2874 {
2875 "name" : "FabricIngress.forwarding.set_next_id_multicast_v6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002876 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002877 "runtime_data" : [
2878 {
2879 "name" : "next_id",
2880 "bitwidth" : 32
2881 }
2882 ],
2883 "primitives" : [
2884 {
2885 "op" : "assign",
2886 "parameters" : [
2887 {
2888 "type" : "field",
2889 "value" : ["scalars", "fabric_metadata_t.next_id"]
2890 },
2891 {
2892 "type" : "runtime_data",
2893 "value" : 0
2894 }
2895 ],
2896 "source_info" : {
2897 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -07002898 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002899 "column" : 8,
2900 "source_fragment" : "fabric_metadata.next_id = next_id"
2901 }
2902 }
2903 ]
2904 },
2905 {
2906 "name" : "FabricIngress.next.set_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002907 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002908 "runtime_data" : [
2909 {
2910 "name" : "new_vlan_id",
2911 "bitwidth" : 12
2912 }
2913 ],
2914 "primitives" : [
2915 {
2916 "op" : "assign",
2917 "parameters" : [
2918 {
2919 "type" : "field",
2920 "value" : ["vlan_tag", "vlan_id"]
2921 },
2922 {
2923 "type" : "runtime_data",
2924 "value" : 0
2925 }
2926 ],
2927 "source_info" : {
2928 "filename" : "include/control/next.p4",
2929 "line" : 61,
2930 "column" : 8,
2931 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2932 }
2933 }
2934 ]
2935 },
2936 {
2937 "name" : "FabricIngress.next.output_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002938 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002939 "runtime_data" : [
2940 {
2941 "name" : "port_num",
2942 "bitwidth" : 9
2943 }
2944 ],
2945 "primitives" : [
2946 {
2947 "op" : "assign",
2948 "parameters" : [
2949 {
2950 "type" : "field",
2951 "value" : ["standard_metadata", "egress_spec"]
2952 },
2953 {
2954 "type" : "runtime_data",
2955 "value" : 0
2956 }
2957 ],
2958 "source_info" : {
2959 "filename" : "include/control/next.p4",
2960 "line" : 85,
2961 "column" : 8,
2962 "source_fragment" : "standard_metadata.egress_spec = port_num"
2963 }
2964 }
2965 ]
2966 },
2967 {
2968 "name" : "FabricIngress.next.set_vlan_output",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002969 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002970 "runtime_data" : [
2971 {
2972 "name" : "new_vlan_id",
2973 "bitwidth" : 12
2974 },
2975 {
2976 "name" : "port_num",
2977 "bitwidth" : 9
2978 }
2979 ],
2980 "primitives" : [
2981 {
2982 "op" : "assign",
2983 "parameters" : [
2984 {
2985 "type" : "field",
2986 "value" : ["vlan_tag", "vlan_id"]
2987 },
2988 {
2989 "type" : "runtime_data",
2990 "value" : 0
2991 }
2992 ],
2993 "source_info" : {
2994 "filename" : "include/control/next.p4",
2995 "line" : 90,
2996 "column" : 8,
2997 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2998 }
2999 },
3000 {
3001 "op" : "assign",
3002 "parameters" : [
3003 {
3004 "type" : "field",
3005 "value" : ["standard_metadata", "egress_spec"]
3006 },
3007 {
3008 "type" : "runtime_data",
3009 "value" : 1
3010 }
3011 ],
3012 "source_info" : {
3013 "filename" : "include/control/next.p4",
3014 "line" : 85,
3015 "column" : 8,
3016 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3017 }
3018 }
3019 ]
3020 },
3021 {
3022 "name" : "FabricIngress.next.l3_routing_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003023 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003024 "runtime_data" : [
3025 {
3026 "name" : "port_num",
3027 "bitwidth" : 9
3028 },
3029 {
3030 "name" : "smac",
3031 "bitwidth" : 48
3032 },
3033 {
3034 "name" : "dmac",
3035 "bitwidth" : 48
3036 }
3037 ],
3038 "primitives" : [
3039 {
3040 "op" : "assign",
3041 "parameters" : [
3042 {
3043 "type" : "field",
3044 "value" : ["ethernet", "src_addr"]
3045 },
3046 {
3047 "type" : "runtime_data",
3048 "value" : 1
3049 }
3050 ],
3051 "source_info" : {
3052 "filename" : "include/control/next.p4",
3053 "line" : 37,
3054 "column" : 8,
3055 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3056 }
3057 },
3058 {
3059 "op" : "assign",
3060 "parameters" : [
3061 {
3062 "type" : "field",
3063 "value" : ["ethernet", "dst_addr"]
3064 },
3065 {
3066 "type" : "runtime_data",
3067 "value" : 2
3068 }
3069 ],
3070 "source_info" : {
3071 "filename" : "include/control/next.p4",
3072 "line" : 41,
3073 "column" : 8,
3074 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3075 }
3076 },
3077 {
3078 "op" : "assign",
3079 "parameters" : [
3080 {
3081 "type" : "field",
3082 "value" : ["standard_metadata", "egress_spec"]
3083 },
3084 {
3085 "type" : "runtime_data",
3086 "value" : 0
3087 }
3088 ],
3089 "source_info" : {
3090 "filename" : "include/control/next.p4",
3091 "line" : 85,
3092 "column" : 8,
3093 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3094 }
3095 }
3096 ]
3097 },
3098 {
3099 "name" : "FabricIngress.next.mpls_routing_v4_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003100 "id" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003101 "runtime_data" : [
3102 {
3103 "name" : "port_num",
3104 "bitwidth" : 9
3105 },
3106 {
3107 "name" : "smac",
3108 "bitwidth" : 48
3109 },
3110 {
3111 "name" : "dmac",
3112 "bitwidth" : 48
3113 },
3114 {
3115 "name" : "label",
3116 "bitwidth" : 20
3117 }
3118 ],
3119 "primitives" : [
3120 {
3121 "op" : "assign",
3122 "parameters" : [
3123 {
3124 "type" : "field",
3125 "value" : ["ethernet", "src_addr"]
3126 },
3127 {
3128 "type" : "runtime_data",
3129 "value" : 1
3130 }
3131 ],
3132 "source_info" : {
3133 "filename" : "include/control/next.p4",
3134 "line" : 37,
3135 "column" : 8,
3136 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3137 }
3138 },
3139 {
3140 "op" : "assign",
3141 "parameters" : [
3142 {
3143 "type" : "field",
3144 "value" : ["ethernet", "dst_addr"]
3145 },
3146 {
3147 "type" : "runtime_data",
3148 "value" : 2
3149 }
3150 ],
3151 "source_info" : {
3152 "filename" : "include/control/next.p4",
3153 "line" : 41,
3154 "column" : 8,
3155 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3156 }
3157 },
3158 {
3159 "op" : "assign",
3160 "parameters" : [
3161 {
3162 "type" : "field",
3163 "value" : ["standard_metadata", "egress_spec"]
3164 },
3165 {
3166 "type" : "runtime_data",
3167 "value" : 0
3168 }
3169 ],
3170 "source_info" : {
3171 "filename" : "include/control/next.p4",
3172 "line" : 85,
3173 "column" : 8,
3174 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3175 }
3176 },
3177 {
3178 "op" : "add_header",
3179 "parameters" : [
3180 {
3181 "type" : "header",
3182 "value" : "mpls"
3183 }
3184 ],
3185 "source_info" : {
3186 "filename" : "include/control/next.p4",
3187 "line" : 46,
3188 "column" : 8,
3189 "source_fragment" : "hdr.mpls.setValid()"
3190 }
3191 },
3192 {
3193 "op" : "assign",
3194 "parameters" : [
3195 {
3196 "type" : "field",
3197 "value" : ["vlan_tag", "ether_type"]
3198 },
3199 {
3200 "type" : "hexstr",
3201 "value" : "0x8847"
3202 }
3203 ],
3204 "source_info" : {
3205 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003206 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003207 "column" : 31,
3208 "source_fragment" : "0x8847; ..."
3209 }
3210 },
3211 {
3212 "op" : "assign",
3213 "parameters" : [
3214 {
3215 "type" : "field",
3216 "value" : ["mpls", "label"]
3217 },
3218 {
3219 "type" : "runtime_data",
3220 "value" : 3
3221 }
3222 ],
3223 "source_info" : {
3224 "filename" : "include/control/next.p4",
3225 "line" : 48,
3226 "column" : 8,
3227 "source_fragment" : "hdr.mpls.label = label; ..."
3228 }
3229 },
3230 {
3231 "op" : "assign",
3232 "parameters" : [
3233 {
3234 "type" : "field",
3235 "value" : ["mpls", "tc"]
3236 },
3237 {
3238 "type" : "hexstr",
3239 "value" : "0x00"
3240 }
3241 ],
3242 "source_info" : {
3243 "filename" : "include/control/next.p4",
3244 "line" : 49,
3245 "column" : 8,
3246 "source_fragment" : "hdr.mpls.tc = tc; ..."
3247 }
3248 },
3249 {
3250 "op" : "assign",
3251 "parameters" : [
3252 {
3253 "type" : "field",
3254 "value" : ["mpls", "bos"]
3255 },
3256 {
3257 "type" : "hexstr",
3258 "value" : "0x01"
3259 }
3260 ],
3261 "source_info" : {
3262 "filename" : "include/control/next.p4",
3263 "line" : 50,
3264 "column" : 8,
3265 "source_fragment" : "hdr.mpls.bos = 1w1"
3266 }
3267 },
3268 {
3269 "op" : "assign",
3270 "parameters" : [
3271 {
3272 "type" : "field",
3273 "value" : ["mpls", "ttl"]
3274 },
3275 {
3276 "type" : "hexstr",
3277 "value" : "0x40"
3278 }
3279 ],
3280 "source_info" : {
3281 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003282 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003283 "column" : 32,
3284 "source_fragment" : "64; ..."
3285 }
3286 }
3287 ]
3288 },
3289 {
3290 "name" : "FabricIngress.next.mpls_routing_v6_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003291 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003292 "runtime_data" : [
3293 {
3294 "name" : "port_num",
3295 "bitwidth" : 9
3296 },
3297 {
3298 "name" : "smac",
3299 "bitwidth" : 48
3300 },
3301 {
3302 "name" : "dmac",
3303 "bitwidth" : 48
3304 },
3305 {
3306 "name" : "label",
3307 "bitwidth" : 20
3308 }
3309 ],
3310 "primitives" : [
3311 {
3312 "op" : "assign",
3313 "parameters" : [
3314 {
3315 "type" : "field",
3316 "value" : ["ethernet", "src_addr"]
3317 },
3318 {
3319 "type" : "runtime_data",
3320 "value" : 1
3321 }
3322 ],
3323 "source_info" : {
3324 "filename" : "include/control/next.p4",
3325 "line" : 37,
3326 "column" : 8,
3327 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3328 }
3329 },
3330 {
3331 "op" : "assign",
3332 "parameters" : [
3333 {
3334 "type" : "field",
3335 "value" : ["ethernet", "dst_addr"]
3336 },
3337 {
3338 "type" : "runtime_data",
3339 "value" : 2
3340 }
3341 ],
3342 "source_info" : {
3343 "filename" : "include/control/next.p4",
3344 "line" : 41,
3345 "column" : 8,
3346 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3347 }
3348 },
3349 {
3350 "op" : "assign",
3351 "parameters" : [
3352 {
3353 "type" : "field",
3354 "value" : ["standard_metadata", "egress_spec"]
3355 },
3356 {
3357 "type" : "runtime_data",
3358 "value" : 0
3359 }
3360 ],
3361 "source_info" : {
3362 "filename" : "include/control/next.p4",
3363 "line" : 85,
3364 "column" : 8,
3365 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3366 }
3367 },
3368 {
3369 "op" : "add_header",
3370 "parameters" : [
3371 {
3372 "type" : "header",
3373 "value" : "mpls"
3374 }
3375 ],
3376 "source_info" : {
3377 "filename" : "include/control/next.p4",
3378 "line" : 46,
3379 "column" : 8,
3380 "source_fragment" : "hdr.mpls.setValid()"
3381 }
3382 },
3383 {
3384 "op" : "assign",
3385 "parameters" : [
3386 {
3387 "type" : "field",
3388 "value" : ["vlan_tag", "ether_type"]
3389 },
3390 {
3391 "type" : "hexstr",
3392 "value" : "0x8847"
3393 }
3394 ],
3395 "source_info" : {
3396 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003397 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003398 "column" : 31,
3399 "source_fragment" : "0x8847; ..."
3400 }
3401 },
3402 {
3403 "op" : "assign",
3404 "parameters" : [
3405 {
3406 "type" : "field",
3407 "value" : ["mpls", "label"]
3408 },
3409 {
3410 "type" : "runtime_data",
3411 "value" : 3
3412 }
3413 ],
3414 "source_info" : {
3415 "filename" : "include/control/next.p4",
3416 "line" : 48,
3417 "column" : 8,
3418 "source_fragment" : "hdr.mpls.label = label; ..."
3419 }
3420 },
3421 {
3422 "op" : "assign",
3423 "parameters" : [
3424 {
3425 "type" : "field",
3426 "value" : ["mpls", "tc"]
3427 },
3428 {
3429 "type" : "hexstr",
3430 "value" : "0x00"
3431 }
3432 ],
3433 "source_info" : {
3434 "filename" : "include/control/next.p4",
3435 "line" : 49,
3436 "column" : 8,
3437 "source_fragment" : "hdr.mpls.tc = tc; ..."
3438 }
3439 },
3440 {
3441 "op" : "assign",
3442 "parameters" : [
3443 {
3444 "type" : "field",
3445 "value" : ["mpls", "bos"]
3446 },
3447 {
3448 "type" : "hexstr",
3449 "value" : "0x01"
3450 }
3451 ],
3452 "source_info" : {
3453 "filename" : "include/control/next.p4",
3454 "line" : 50,
3455 "column" : 8,
3456 "source_fragment" : "hdr.mpls.bos = 1w1"
3457 }
3458 },
3459 {
3460 "op" : "assign",
3461 "parameters" : [
3462 {
3463 "type" : "field",
3464 "value" : ["mpls", "ttl"]
3465 },
3466 {
3467 "type" : "hexstr",
3468 "value" : "0x40"
3469 }
3470 ],
3471 "source_info" : {
3472 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003473 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003474 "column" : 32,
3475 "source_fragment" : "64; ..."
3476 }
3477 }
3478 ]
3479 },
3480 {
3481 "name" : "FabricIngress.next.l3_routing_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003482 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003483 "runtime_data" : [
3484 {
3485 "name" : "port_num",
3486 "bitwidth" : 9
3487 },
3488 {
3489 "name" : "smac",
3490 "bitwidth" : 48
3491 },
3492 {
3493 "name" : "dmac",
3494 "bitwidth" : 48
3495 },
3496 {
3497 "name" : "new_vlan_id",
3498 "bitwidth" : 12
3499 }
3500 ],
3501 "primitives" : [
3502 {
3503 "op" : "assign",
3504 "parameters" : [
3505 {
3506 "type" : "field",
3507 "value" : ["ethernet", "src_addr"]
3508 },
3509 {
3510 "type" : "runtime_data",
3511 "value" : 1
3512 }
3513 ],
3514 "source_info" : {
3515 "filename" : "include/control/next.p4",
3516 "line" : 37,
3517 "column" : 8,
3518 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3519 }
3520 },
3521 {
3522 "op" : "assign",
3523 "parameters" : [
3524 {
3525 "type" : "field",
3526 "value" : ["ethernet", "dst_addr"]
3527 },
3528 {
3529 "type" : "runtime_data",
3530 "value" : 2
3531 }
3532 ],
3533 "source_info" : {
3534 "filename" : "include/control/next.p4",
3535 "line" : 41,
3536 "column" : 8,
3537 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3538 }
3539 },
3540 {
3541 "op" : "assign",
3542 "parameters" : [
3543 {
3544 "type" : "field",
3545 "value" : ["vlan_tag", "vlan_id"]
3546 },
3547 {
3548 "type" : "runtime_data",
3549 "value" : 3
3550 }
3551 ],
3552 "source_info" : {
3553 "filename" : "include/control/next.p4",
3554 "line" : 90,
3555 "column" : 8,
3556 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3557 }
3558 },
3559 {
3560 "op" : "assign",
3561 "parameters" : [
3562 {
3563 "type" : "field",
3564 "value" : ["standard_metadata", "egress_spec"]
3565 },
3566 {
3567 "type" : "runtime_data",
3568 "value" : 0
3569 }
3570 ],
3571 "source_info" : {
3572 "filename" : "include/control/next.p4",
3573 "line" : 85,
3574 "column" : 8,
3575 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3576 }
3577 }
3578 ]
3579 },
3580 {
3581 "name" : "FabricIngress.next.l3_routing_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003582 "id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003583 "runtime_data" : [
3584 {
3585 "name" : "port_num",
3586 "bitwidth" : 9
3587 },
3588 {
3589 "name" : "smac",
3590 "bitwidth" : 48
3591 },
3592 {
3593 "name" : "dmac",
3594 "bitwidth" : 48
3595 }
3596 ],
3597 "primitives" : [
3598 {
3599 "op" : "assign",
3600 "parameters" : [
3601 {
3602 "type" : "field",
3603 "value" : ["ethernet", "src_addr"]
3604 },
3605 {
3606 "type" : "runtime_data",
3607 "value" : 1
3608 }
3609 ],
3610 "source_info" : {
3611 "filename" : "include/control/next.p4",
3612 "line" : 37,
3613 "column" : 8,
3614 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3615 }
3616 },
3617 {
3618 "op" : "assign",
3619 "parameters" : [
3620 {
3621 "type" : "field",
3622 "value" : ["ethernet", "dst_addr"]
3623 },
3624 {
3625 "type" : "runtime_data",
3626 "value" : 2
3627 }
3628 ],
3629 "source_info" : {
3630 "filename" : "include/control/next.p4",
3631 "line" : 41,
3632 "column" : 8,
3633 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3634 }
3635 },
3636 {
3637 "op" : "assign",
3638 "parameters" : [
3639 {
3640 "type" : "field",
3641 "value" : ["standard_metadata", "egress_spec"]
3642 },
3643 {
3644 "type" : "runtime_data",
3645 "value" : 0
3646 }
3647 ],
3648 "source_info" : {
3649 "filename" : "include/control/next.p4",
3650 "line" : 149,
3651 "column" : 8,
3652 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3653 }
3654 }
3655 ]
3656 },
3657 {
3658 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003659 "id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003660 "runtime_data" : [
3661 {
3662 "name" : "port_num",
3663 "bitwidth" : 9
3664 },
3665 {
3666 "name" : "smac",
3667 "bitwidth" : 48
3668 },
3669 {
3670 "name" : "dmac",
3671 "bitwidth" : 48
3672 },
3673 {
3674 "name" : "label",
3675 "bitwidth" : 20
3676 }
3677 ],
3678 "primitives" : [
3679 {
3680 "op" : "assign",
3681 "parameters" : [
3682 {
3683 "type" : "field",
3684 "value" : ["ethernet", "src_addr"]
3685 },
3686 {
3687 "type" : "runtime_data",
3688 "value" : 1
3689 }
3690 ],
3691 "source_info" : {
3692 "filename" : "include/control/next.p4",
3693 "line" : 37,
3694 "column" : 8,
3695 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3696 }
3697 },
3698 {
3699 "op" : "assign",
3700 "parameters" : [
3701 {
3702 "type" : "field",
3703 "value" : ["ethernet", "dst_addr"]
3704 },
3705 {
3706 "type" : "runtime_data",
3707 "value" : 2
3708 }
3709 ],
3710 "source_info" : {
3711 "filename" : "include/control/next.p4",
3712 "line" : 41,
3713 "column" : 8,
3714 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3715 }
3716 },
3717 {
3718 "op" : "assign",
3719 "parameters" : [
3720 {
3721 "type" : "field",
3722 "value" : ["standard_metadata", "egress_spec"]
3723 },
3724 {
3725 "type" : "runtime_data",
3726 "value" : 0
3727 }
3728 ],
3729 "source_info" : {
3730 "filename" : "include/control/next.p4",
3731 "line" : 149,
3732 "column" : 8,
3733 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3734 }
3735 },
3736 {
3737 "op" : "add_header",
3738 "parameters" : [
3739 {
3740 "type" : "header",
3741 "value" : "mpls"
3742 }
3743 ],
3744 "source_info" : {
3745 "filename" : "include/control/next.p4",
3746 "line" : 46,
3747 "column" : 8,
3748 "source_fragment" : "hdr.mpls.setValid()"
3749 }
3750 },
3751 {
3752 "op" : "assign",
3753 "parameters" : [
3754 {
3755 "type" : "field",
3756 "value" : ["vlan_tag", "ether_type"]
3757 },
3758 {
3759 "type" : "hexstr",
3760 "value" : "0x8847"
3761 }
3762 ],
3763 "source_info" : {
3764 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003765 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003766 "column" : 31,
3767 "source_fragment" : "0x8847; ..."
3768 }
3769 },
3770 {
3771 "op" : "assign",
3772 "parameters" : [
3773 {
3774 "type" : "field",
3775 "value" : ["mpls", "label"]
3776 },
3777 {
3778 "type" : "runtime_data",
3779 "value" : 3
3780 }
3781 ],
3782 "source_info" : {
3783 "filename" : "include/control/next.p4",
3784 "line" : 48,
3785 "column" : 8,
3786 "source_fragment" : "hdr.mpls.label = label; ..."
3787 }
3788 },
3789 {
3790 "op" : "assign",
3791 "parameters" : [
3792 {
3793 "type" : "field",
3794 "value" : ["mpls", "tc"]
3795 },
3796 {
3797 "type" : "hexstr",
3798 "value" : "0x00"
3799 }
3800 ],
3801 "source_info" : {
3802 "filename" : "include/control/next.p4",
3803 "line" : 49,
3804 "column" : 8,
3805 "source_fragment" : "hdr.mpls.tc = tc; ..."
3806 }
3807 },
3808 {
3809 "op" : "assign",
3810 "parameters" : [
3811 {
3812 "type" : "field",
3813 "value" : ["mpls", "bos"]
3814 },
3815 {
3816 "type" : "hexstr",
3817 "value" : "0x01"
3818 }
3819 ],
3820 "source_info" : {
3821 "filename" : "include/control/next.p4",
3822 "line" : 50,
3823 "column" : 8,
3824 "source_fragment" : "hdr.mpls.bos = 1w1"
3825 }
3826 },
3827 {
3828 "op" : "assign",
3829 "parameters" : [
3830 {
3831 "type" : "field",
3832 "value" : ["mpls", "ttl"]
3833 },
3834 {
3835 "type" : "hexstr",
3836 "value" : "0x40"
3837 }
3838 ],
3839 "source_info" : {
3840 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003841 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003842 "column" : 32,
3843 "source_fragment" : "64; ..."
3844 }
3845 }
3846 ]
3847 },
3848 {
3849 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003850 "id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003851 "runtime_data" : [
3852 {
3853 "name" : "port_num",
3854 "bitwidth" : 9
3855 },
3856 {
3857 "name" : "smac",
3858 "bitwidth" : 48
3859 },
3860 {
3861 "name" : "dmac",
3862 "bitwidth" : 48
3863 },
3864 {
3865 "name" : "label",
3866 "bitwidth" : 20
3867 }
3868 ],
3869 "primitives" : [
3870 {
3871 "op" : "assign",
3872 "parameters" : [
3873 {
3874 "type" : "field",
3875 "value" : ["ethernet", "src_addr"]
3876 },
3877 {
3878 "type" : "runtime_data",
3879 "value" : 1
3880 }
3881 ],
3882 "source_info" : {
3883 "filename" : "include/control/next.p4",
3884 "line" : 37,
3885 "column" : 8,
3886 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3887 }
3888 },
3889 {
3890 "op" : "assign",
3891 "parameters" : [
3892 {
3893 "type" : "field",
3894 "value" : ["ethernet", "dst_addr"]
3895 },
3896 {
3897 "type" : "runtime_data",
3898 "value" : 2
3899 }
3900 ],
3901 "source_info" : {
3902 "filename" : "include/control/next.p4",
3903 "line" : 41,
3904 "column" : 8,
3905 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3906 }
3907 },
3908 {
3909 "op" : "assign",
3910 "parameters" : [
3911 {
3912 "type" : "field",
3913 "value" : ["standard_metadata", "egress_spec"]
3914 },
3915 {
3916 "type" : "runtime_data",
3917 "value" : 0
3918 }
3919 ],
3920 "source_info" : {
3921 "filename" : "include/control/next.p4",
3922 "line" : 149,
3923 "column" : 8,
3924 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3925 }
3926 },
3927 {
3928 "op" : "add_header",
3929 "parameters" : [
3930 {
3931 "type" : "header",
3932 "value" : "mpls"
3933 }
3934 ],
3935 "source_info" : {
3936 "filename" : "include/control/next.p4",
3937 "line" : 46,
3938 "column" : 8,
3939 "source_fragment" : "hdr.mpls.setValid()"
3940 }
3941 },
3942 {
3943 "op" : "assign",
3944 "parameters" : [
3945 {
3946 "type" : "field",
3947 "value" : ["vlan_tag", "ether_type"]
3948 },
3949 {
3950 "type" : "hexstr",
3951 "value" : "0x8847"
3952 }
3953 ],
3954 "source_info" : {
3955 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003956 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003957 "column" : 31,
3958 "source_fragment" : "0x8847; ..."
3959 }
3960 },
3961 {
3962 "op" : "assign",
3963 "parameters" : [
3964 {
3965 "type" : "field",
3966 "value" : ["mpls", "label"]
3967 },
3968 {
3969 "type" : "runtime_data",
3970 "value" : 3
3971 }
3972 ],
3973 "source_info" : {
3974 "filename" : "include/control/next.p4",
3975 "line" : 48,
3976 "column" : 8,
3977 "source_fragment" : "hdr.mpls.label = label; ..."
3978 }
3979 },
3980 {
3981 "op" : "assign",
3982 "parameters" : [
3983 {
3984 "type" : "field",
3985 "value" : ["mpls", "tc"]
3986 },
3987 {
3988 "type" : "hexstr",
3989 "value" : "0x00"
3990 }
3991 ],
3992 "source_info" : {
3993 "filename" : "include/control/next.p4",
3994 "line" : 49,
3995 "column" : 8,
3996 "source_fragment" : "hdr.mpls.tc = tc; ..."
3997 }
3998 },
3999 {
4000 "op" : "assign",
4001 "parameters" : [
4002 {
4003 "type" : "field",
4004 "value" : ["mpls", "bos"]
4005 },
4006 {
4007 "type" : "hexstr",
4008 "value" : "0x01"
4009 }
4010 ],
4011 "source_info" : {
4012 "filename" : "include/control/next.p4",
4013 "line" : 50,
4014 "column" : 8,
4015 "source_fragment" : "hdr.mpls.bos = 1w1"
4016 }
4017 },
4018 {
4019 "op" : "assign",
4020 "parameters" : [
4021 {
4022 "type" : "field",
4023 "value" : ["mpls", "ttl"]
4024 },
4025 {
4026 "type" : "hexstr",
4027 "value" : "0x40"
4028 }
4029 ],
4030 "source_info" : {
4031 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004032 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004033 "column" : 32,
4034 "source_fragment" : "64; ..."
4035 }
4036 }
4037 ]
4038 },
4039 {
4040 "name" : "FabricIngress.next.set_mcast_group",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004041 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004042 "runtime_data" : [
4043 {
4044 "name" : "gid",
4045 "bitwidth" : 16
4046 }
4047 ],
4048 "primitives" : [
4049 {
4050 "op" : "assign",
4051 "parameters" : [
4052 {
4053 "type" : "field",
4054 "value" : ["standard_metadata", "mcast_grp"]
4055 },
4056 {
4057 "type" : "runtime_data",
4058 "value" : 0
4059 }
4060 ],
4061 "source_info" : {
4062 "filename" : "include/control/next.p4",
4063 "line" : 202,
4064 "column" : 8,
4065 "source_fragment" : "standard_metadata.mcast_grp = gid"
4066 }
4067 },
4068 {
4069 "op" : "assign",
4070 "parameters" : [
4071 {
4072 "type" : "field",
4073 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
4074 },
4075 {
4076 "type" : "expression",
4077 "value" : {
4078 "type" : "expression",
4079 "value" : {
4080 "op" : "b2d",
4081 "left" : null,
4082 "right" : {
4083 "type" : "bool",
4084 "value" : true
4085 }
4086 }
4087 }
4088 }
4089 ],
4090 "source_info" : {
4091 "filename" : "include/control/next.p4",
4092 "line" : 203,
4093 "column" : 8,
4094 "source_fragment" : "fabric_metadata.is_multicast = true"
4095 }
4096 }
4097 ]
4098 },
4099 {
4100 "name" : "act",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004101 "id" : 46,
4102 "runtime_data" : [],
4103 "primitives" : [
4104 {
4105 "op" : "assign",
4106 "parameters" : [
4107 {
4108 "type" : "field",
4109 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4110 },
4111 {
4112 "type" : "expression",
4113 "value" : {
4114 "type" : "expression",
4115 "value" : {
4116 "op" : "b2d",
4117 "left" : null,
4118 "right" : {
4119 "type" : "bool",
4120 "value" : true
4121 }
4122 }
4123 }
4124 }
4125 ],
4126 "source_info" : {
4127 "filename" : "include/spgw.p4",
4128 "line" : 30,
4129 "column" : 32,
4130 "source_fragment" : "return"
4131 }
4132 }
4133 ]
4134 },
4135 {
4136 "name" : "act_0",
4137 "id" : 47,
4138 "runtime_data" : [],
4139 "primitives" : [
4140 {
4141 "op" : "remove_header",
4142 "parameters" : [
4143 {
4144 "type" : "header",
4145 "value" : "gtpu_ipv4"
4146 }
4147 ],
4148 "source_info" : {
4149 "filename" : "fabric.p4",
4150 "line" : 52,
4151 "column" : 50,
4152 "source_fragment" : "hdr.gtpu_ipv4"
4153 }
4154 },
4155 {
4156 "op" : "remove_header",
4157 "parameters" : [
4158 {
4159 "type" : "header",
4160 "value" : "gtpu_udp"
4161 }
4162 ],
4163 "source_info" : {
4164 "filename" : "fabric.p4",
4165 "line" : 52,
4166 "column" : 65,
4167 "source_fragment" : "hdr.gtpu_udp"
4168 }
4169 },
4170 {
4171 "op" : "assign",
4172 "parameters" : [
4173 {
4174 "type" : "field",
4175 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4176 },
4177 {
4178 "type" : "expression",
4179 "value" : {
4180 "type" : "expression",
4181 "value" : {
4182 "op" : "b2d",
4183 "left" : null,
4184 "right" : {
4185 "type" : "bool",
4186 "value" : false
4187 }
4188 }
4189 }
4190 }
4191 ]
4192 }
4193 ]
4194 },
4195 {
4196 "name" : "act_1",
4197 "id" : 48,
4198 "runtime_data" : [],
4199 "primitives" : [
4200 {
4201 "op" : "assign_header",
4202 "parameters" : [
4203 {
4204 "type" : "header",
4205 "value" : "udp"
4206 },
4207 {
4208 "type" : "header",
4209 "value" : "inner_udp"
4210 }
4211 ],
4212 "source_info" : {
4213 "filename" : "include/spgw.p4",
4214 "line" : 35,
4215 "column" : 16,
4216 "source_fragment" : "= inner_udp; ..."
4217 }
4218 }
4219 ]
4220 },
4221 {
4222 "name" : "act_2",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004223 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004224 "runtime_data" : [],
4225 "primitives" : [
4226 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004227 "op" : "remove_header",
4228 "parameters" : [
4229 {
4230 "type" : "header",
4231 "value" : "udp"
4232 }
4233 ],
4234 "source_info" : {
4235 "filename" : "include/spgw.p4",
4236 "line" : 37,
4237 "column" : 12,
4238 "source_fragment" : "udp.setInvalid()"
4239 }
4240 }
4241 ]
4242 },
4243 {
4244 "name" : "act_3",
4245 "id" : 50,
4246 "runtime_data" : [],
4247 "primitives" : [
4248 {
4249 "op" : "assign_header",
4250 "parameters" : [
4251 {
4252 "type" : "header",
4253 "value" : "gtpu_ipv4"
4254 },
4255 {
4256 "type" : "header",
4257 "value" : "ipv4"
4258 }
4259 ],
4260 "source_info" : {
4261 "filename" : "include/spgw.p4",
4262 "line" : 31,
4263 "column" : 18,
4264 "source_fragment" : "= ipv4; ..."
4265 }
4266 },
4267 {
4268 "op" : "assign_header",
4269 "parameters" : [
4270 {
4271 "type" : "header",
4272 "value" : "ipv4"
4273 },
4274 {
4275 "type" : "header",
4276 "value" : "inner_ipv4"
4277 }
4278 ],
4279 "source_info" : {
4280 "filename" : "include/spgw.p4",
4281 "line" : 32,
4282 "column" : 13,
4283 "source_fragment" : "= inner_ipv4; ..."
4284 }
4285 },
4286 {
4287 "op" : "assign_header",
4288 "parameters" : [
4289 {
4290 "type" : "header",
4291 "value" : "gtpu_udp"
4292 },
4293 {
4294 "type" : "header",
4295 "value" : "udp"
4296 }
4297 ],
4298 "source_info" : {
4299 "filename" : "include/spgw.p4",
4300 "line" : 33,
4301 "column" : 17,
4302 "source_fragment" : "= udp; ..."
4303 }
4304 }
4305 ]
4306 },
4307 {
4308 "name" : "act_4",
4309 "id" : 51,
4310 "runtime_data" : [],
4311 "primitives" : [
4312 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004313 "op" : "assign",
4314 "parameters" : [
4315 {
4316 "type" : "field",
4317 "value" : ["standard_metadata", "egress_spec"]
4318 },
4319 {
4320 "type" : "field",
4321 "value" : ["packet_out", "egress_port"]
4322 }
4323 ],
4324 "source_info" : {
4325 "filename" : "include/control/packetio.p4",
4326 "line" : 26,
4327 "column" : 12,
4328 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4329 }
4330 },
4331 {
4332 "op" : "remove_header",
4333 "parameters" : [
4334 {
4335 "type" : "header",
4336 "value" : "packet_out"
4337 }
4338 ],
4339 "source_info" : {
4340 "filename" : "include/control/packetio.p4",
4341 "line" : 27,
4342 "column" : 12,
4343 "source_fragment" : "hdr.packet_out.setInvalid()"
4344 }
4345 }
4346 ]
4347 },
4348 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004349 "name" : "act_5",
4350 "id" : 52,
4351 "runtime_data" : [],
4352 "primitives" : [
4353 {
4354 "op" : "assign",
4355 "parameters" : [
4356 {
4357 "type" : "field",
4358 "value" : ["scalars", "spgw_ingress_tmp_1"]
4359 },
4360 {
4361 "type" : "expression",
4362 "value" : {
4363 "type" : "expression",
4364 "value" : {
4365 "op" : "b2d",
4366 "left" : null,
4367 "right" : {
4368 "type" : "bool",
4369 "value" : true
4370 }
4371 }
4372 }
4373 }
4374 ]
4375 }
4376 ]
4377 },
4378 {
4379 "name" : "act_6",
4380 "id" : 53,
4381 "runtime_data" : [],
4382 "primitives" : [
4383 {
4384 "op" : "assign",
4385 "parameters" : [
4386 {
4387 "type" : "field",
4388 "value" : ["scalars", "spgw_ingress_tmp_1"]
4389 },
4390 {
4391 "type" : "expression",
4392 "value" : {
4393 "type" : "expression",
4394 "value" : {
4395 "op" : "b2d",
4396 "left" : null,
4397 "right" : {
4398 "type" : "bool",
4399 "value" : false
4400 }
4401 }
4402 }
4403 }
4404 ]
4405 }
4406 ]
4407 },
4408 {
4409 "name" : "act_7",
4410 "id" : 54,
4411 "runtime_data" : [],
4412 "primitives" : [
4413 {
4414 "op" : "assign",
4415 "parameters" : [
4416 {
4417 "type" : "field",
4418 "value" : ["userMetadata.spgw", "direction"]
4419 },
4420 {
4421 "type" : "hexstr",
4422 "value" : "0x01"
4423 }
4424 ],
4425 "source_info" : {
4426 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004427 "line" : 119,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004428 "column" : 36,
4429 "source_fragment" : "2w1; ..."
4430 }
4431 }
4432 ]
4433 },
4434 {
4435 "name" : "act_8",
4436 "id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004437 "runtime_data" : [],
4438 "primitives" : [
4439 {
4440 "op" : "assign",
4441 "parameters" : [
4442 {
4443 "type" : "field",
4444 "value" : ["scalars", "spgw_ingress_tmp_2"]
4445 },
4446 {
4447 "type" : "expression",
4448 "value" : {
4449 "type" : "expression",
4450 "value" : {
4451 "op" : "b2d",
4452 "left" : null,
4453 "right" : {
4454 "type" : "bool",
4455 "value" : true
4456 }
4457 }
4458 }
4459 }
4460 ]
4461 }
4462 ]
4463 },
4464 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004465 "name" : "act_9",
4466 "id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004467 "runtime_data" : [],
4468 "primitives" : [
4469 {
4470 "op" : "assign",
4471 "parameters" : [
4472 {
4473 "type" : "field",
4474 "value" : ["scalars", "spgw_ingress_tmp_2"]
4475 },
4476 {
4477 "type" : "expression",
4478 "value" : {
4479 "type" : "expression",
4480 "value" : {
4481 "op" : "b2d",
4482 "left" : null,
4483 "right" : {
4484 "type" : "bool",
4485 "value" : false
4486 }
4487 }
4488 }
4489 }
4490 ]
4491 }
4492 ]
4493 },
4494 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004495 "name" : "act_10",
4496 "id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004497 "runtime_data" : [],
4498 "primitives" : [
4499 {
4500 "op" : "assign",
4501 "parameters" : [
4502 {
4503 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004504 "value" : ["userMetadata.spgw", "direction"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004505 },
4506 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004507 "type" : "hexstr",
4508 "value" : "0x02"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004509 }
4510 ],
4511 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004512 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004513 "line" : 120,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004514 "column" : 38,
4515 "source_fragment" : "2w2; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004516 }
4517 }
4518 ]
4519 },
4520 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004521 "name" : "act_11",
4522 "id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004523 "runtime_data" : [],
4524 "primitives" : [
4525 {
4526 "op" : "assign",
4527 "parameters" : [
4528 {
4529 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004530 "value" : ["userMetadata.spgw", "direction"]
4531 },
4532 {
4533 "type" : "hexstr",
4534 "value" : "0x00"
4535 }
4536 ],
4537 "source_info" : {
4538 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004539 "line" : 118,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004540 "column" : 37,
4541 "source_fragment" : "2w0; ..."
4542 }
4543 },
4544 {
4545 "op" : "assign",
4546 "parameters" : [
4547 {
4548 "type" : "field",
4549 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004550 },
4551 {
4552 "type" : "expression",
4553 "value" : {
4554 "type" : "expression",
4555 "value" : {
4556 "op" : "b2d",
4557 "left" : null,
4558 "right" : {
4559 "type" : "bool",
4560 "value" : true
4561 }
4562 }
4563 }
4564 }
4565 ],
4566 "source_info" : {
4567 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004568 "line" : 153,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004569 "column" : 12,
4570 "source_fragment" : "return"
4571 }
4572 }
4573 ]
4574 },
4575 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004576 "name" : "act_12",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004577 "id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004578 "runtime_data" : [],
4579 "primitives" : [
4580 {
4581 "op" : "assign",
4582 "parameters" : [
4583 {
4584 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004585 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004586 },
4587 {
4588 "type" : "expression",
4589 "value" : {
4590 "type" : "expression",
4591 "value" : {
4592 "op" : "b2d",
4593 "left" : null,
4594 "right" : {
4595 "type" : "bool",
4596 "value" : false
4597 }
4598 }
4599 }
4600 }
4601 ]
4602 }
4603 ]
4604 },
4605 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004606 "name" : "act_13",
4607 "id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004608 "runtime_data" : [],
4609 "primitives" : [
4610 {
4611 "op" : "assign",
4612 "parameters" : [
4613 {
4614 "type" : "field",
4615 "value" : ["userMetadata.spgw", "ipv4_len"]
4616 },
4617 {
4618 "type" : "field",
4619 "value" : ["ipv4", "total_len"]
4620 }
4621 ],
4622 "source_info" : {
4623 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004624 "line" : 170,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004625 "column" : 8,
4626 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4627 }
4628 }
4629 ]
4630 },
4631 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004632 "name" : "act_14",
4633 "id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004634 "runtime_data" : [],
4635 "primitives" : [
4636 {
4637 "op" : "assign",
4638 "parameters" : [
4639 {
4640 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004641 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004642 },
4643 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004644 "type" : "expression",
4645 "value" : {
4646 "type" : "expression",
4647 "value" : {
4648 "op" : "b2d",
4649 "left" : null,
4650 "right" : {
4651 "type" : "bool",
4652 "value" : true
4653 }
4654 }
4655 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004656 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004657 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004658 }
4659 ]
4660 },
4661 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004662 "name" : "act_15",
4663 "id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004664 "runtime_data" : [],
4665 "primitives" : [
4666 {
4667 "op" : "assign",
4668 "parameters" : [
4669 {
4670 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004671 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004672 },
4673 {
4674 "type" : "expression",
4675 "value" : {
4676 "type" : "expression",
4677 "value" : {
4678 "op" : "b2d",
4679 "left" : null,
4680 "right" : {
4681 "type" : "bool",
4682 "value" : false
4683 }
4684 }
4685 }
4686 }
4687 ]
4688 }
4689 ]
4690 },
4691 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004692 "name" : "act_16",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004693 "id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004694 "runtime_data" : [],
4695 "primitives" : [
4696 {
4697 "op" : "assign",
4698 "parameters" : [
4699 {
4700 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004701 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004702 },
4703 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004704 "type" : "hexstr",
4705 "value" : "0x07"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004706 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004707 ],
4708 "source_info" : {
4709 "filename" : "include/control/../define.p4",
4710 "line" : 109,
4711 "column" : 31,
4712 "source_fragment" : "7; ..."
4713 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004714 }
4715 ]
4716 },
4717 {
4718 "name" : "act_17",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004719 "id" : 64,
4720 "runtime_data" : [],
4721 "primitives" : [
4722 {
4723 "op" : "assign",
4724 "parameters" : [
4725 {
4726 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004727 "value" : ["vlan_tag", "ether_type"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004728 },
4729 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004730 "type" : "hexstr",
4731 "value" : "0x0800"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004732 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004733 ],
4734 "source_info" : {
4735 "filename" : "include/control/../define.p4",
4736 "line" : 92,
4737 "column" : 31,
4738 "source_fragment" : "0x0800; ..."
4739 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004740 }
4741 ]
4742 },
4743 {
4744 "name" : "act_18",
4745 "id" : 65,
4746 "runtime_data" : [],
4747 "primitives" : [
4748 {
4749 "op" : "assign",
4750 "parameters" : [
4751 {
4752 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004753 "value" : ["scalars", "next_hasReturned_0"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004754 },
4755 {
4756 "type" : "expression",
4757 "value" : {
4758 "type" : "expression",
4759 "value" : {
4760 "op" : "b2d",
4761 "left" : null,
4762 "right" : {
4763 "type" : "bool",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004764 "value" : false
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004765 }
4766 }
4767 }
4768 }
4769 ]
4770 }
4771 ]
4772 },
4773 {
4774 "name" : "act_19",
4775 "id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004776 "runtime_data" : [],
4777 "primitives" : [
4778 {
4779 "op" : "assign",
4780 "parameters" : [
4781 {
4782 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004783 "value" : ["scalars", "next_tmp_4"]
4784 },
4785 {
4786 "type" : "expression",
4787 "value" : {
4788 "type" : "expression",
4789 "value" : {
4790 "op" : "b2d",
4791 "left" : null,
4792 "right" : {
4793 "type" : "bool",
4794 "value" : true
4795 }
4796 }
4797 }
4798 }
4799 ]
4800 }
4801 ]
4802 },
4803 {
4804 "name" : "act_20",
4805 "id" : 67,
4806 "runtime_data" : [],
4807 "primitives" : [
4808 {
4809 "op" : "assign",
4810 "parameters" : [
4811 {
4812 "type" : "field",
4813 "value" : ["scalars", "next_tmp_4"]
4814 },
4815 {
4816 "type" : "expression",
4817 "value" : {
4818 "type" : "expression",
4819 "value" : {
4820 "op" : "b2d",
4821 "left" : null,
4822 "right" : {
4823 "type" : "bool",
4824 "value" : false
4825 }
4826 }
4827 }
4828 }
4829 ]
4830 }
4831 ]
4832 },
4833 {
4834 "name" : "act_21",
4835 "id" : 68,
4836 "runtime_data" : [],
4837 "primitives" : [
4838 {
4839 "op" : "assign",
4840 "parameters" : [
4841 {
4842 "type" : "field",
4843 "value" : ["scalars", "next_tmp_3"]
4844 },
4845 {
4846 "type" : "expression",
4847 "value" : {
4848 "type" : "expression",
4849 "value" : {
4850 "op" : "b2d",
4851 "left" : null,
4852 "right" : {
4853 "type" : "bool",
4854 "value" : true
4855 }
4856 }
4857 }
4858 }
4859 ]
4860 }
4861 ]
4862 },
4863 {
4864 "name" : "act_22",
4865 "id" : 69,
4866 "runtime_data" : [],
4867 "primitives" : [
4868 {
4869 "op" : "assign",
4870 "parameters" : [
4871 {
4872 "type" : "field",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004873 "value" : ["scalars", "next_tmp_3"]
4874 },
4875 {
4876 "type" : "expression",
4877 "value" : {
4878 "type" : "expression",
4879 "value" : {
4880 "op" : "b2d",
4881 "left" : null,
4882 "right" : {
4883 "type" : "bool",
4884 "value" : false
4885 }
4886 }
4887 }
4888 }
4889 ]
4890 }
4891 ]
4892 },
4893 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004894 "name" : "act_23",
4895 "id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004896 "runtime_data" : [],
4897 "primitives" : [
4898 {
4899 "op" : "assign",
4900 "parameters" : [
4901 {
4902 "type" : "field",
4903 "value" : ["scalars", "next_tmp_2"]
4904 },
4905 {
4906 "type" : "expression",
4907 "value" : {
4908 "type" : "expression",
4909 "value" : {
4910 "op" : "b2d",
4911 "left" : null,
4912 "right" : {
4913 "type" : "bool",
4914 "value" : true
4915 }
4916 }
4917 }
4918 }
4919 ]
4920 }
4921 ]
4922 },
4923 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004924 "name" : "act_24",
4925 "id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004926 "runtime_data" : [],
4927 "primitives" : [
4928 {
4929 "op" : "assign",
4930 "parameters" : [
4931 {
4932 "type" : "field",
4933 "value" : ["scalars", "next_tmp_2"]
4934 },
4935 {
4936 "type" : "expression",
4937 "value" : {
4938 "type" : "expression",
4939 "value" : {
4940 "op" : "b2d",
4941 "left" : null,
4942 "right" : {
4943 "type" : "bool",
4944 "value" : false
4945 }
4946 }
4947 }
4948 }
4949 ]
4950 }
4951 ]
4952 },
4953 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004954 "name" : "act_25",
4955 "id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004956 "runtime_data" : [],
4957 "primitives" : [
4958 {
4959 "op" : "assign",
4960 "parameters" : [
4961 {
4962 "type" : "field",
4963 "value" : ["scalars", "next_hasReturned_0"]
4964 },
4965 {
4966 "type" : "expression",
4967 "value" : {
4968 "type" : "expression",
4969 "value" : {
4970 "op" : "b2d",
4971 "left" : null,
4972 "right" : {
4973 "type" : "bool",
4974 "value" : true
4975 }
4976 }
4977 }
4978 }
4979 ],
4980 "source_info" : {
4981 "filename" : "include/control/next.p4",
4982 "line" : 223,
4983 "column" : 20,
4984 "source_fragment" : "return"
4985 }
4986 }
4987 ]
4988 },
4989 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004990 "name" : "act_26",
4991 "id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004992 "runtime_data" : [],
4993 "primitives" : [
4994 {
4995 "op" : "assign",
4996 "parameters" : [
4997 {
4998 "type" : "field",
4999 "value" : ["ipv4", "ttl"]
5000 },
5001 {
5002 "type" : "expression",
5003 "value" : {
5004 "type" : "expression",
5005 "value" : {
5006 "op" : "&",
5007 "left" : {
5008 "type" : "expression",
5009 "value" : {
5010 "op" : "+",
5011 "left" : {
5012 "type" : "field",
5013 "value" : ["ipv4", "ttl"]
5014 },
5015 "right" : {
5016 "type" : "hexstr",
5017 "value" : "0xff"
5018 }
5019 }
5020 },
5021 "right" : {
5022 "type" : "hexstr",
5023 "value" : "0xff"
5024 }
5025 }
5026 }
5027 }
5028 ],
5029 "source_info" : {
5030 "filename" : "include/control/next.p4",
5031 "line" : 230,
5032 "column" : 16,
5033 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
5034 }
5035 }
5036 ]
5037 },
5038 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005039 "name" : "act_27",
5040 "id" : 74,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005041 "runtime_data" : [],
5042 "primitives" : [
5043 {
5044 "op" : "assign",
5045 "parameters" : [
5046 {
5047 "type" : "field",
5048 "value" : ["ipv6", "hop_limit"]
5049 },
5050 {
5051 "type" : "expression",
5052 "value" : {
5053 "type" : "expression",
5054 "value" : {
5055 "op" : "&",
5056 "left" : {
5057 "type" : "expression",
5058 "value" : {
5059 "op" : "+",
5060 "left" : {
5061 "type" : "field",
5062 "value" : ["ipv6", "hop_limit"]
5063 },
5064 "right" : {
5065 "type" : "hexstr",
5066 "value" : "0xff"
5067 }
5068 }
5069 },
5070 "right" : {
5071 "type" : "hexstr",
5072 "value" : "0xff"
5073 }
5074 }
5075 }
5076 }
5077 ],
5078 "source_info" : {
5079 "filename" : "include/control/next.p4",
5080 "line" : 234,
5081 "column" : 16,
5082 "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
5083 }
5084 }
5085 ]
5086 },
5087 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005088 "name" : "act_28",
5089 "id" : 75,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005090 "runtime_data" : [],
5091 "primitives" : [
5092 {
5093 "op" : "assign",
5094 "parameters" : [
5095 {
5096 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005097 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005098 },
5099 {
5100 "type" : "expression",
5101 "value" : {
5102 "type" : "expression",
5103 "value" : {
5104 "op" : "&",
5105 "left" : {
5106 "type" : "field",
5107 "value" : ["standard_metadata", "egress_spec"]
5108 },
5109 "right" : {
5110 "type" : "hexstr",
5111 "value" : "0xffffffff"
5112 }
5113 }
5114 }
5115 }
5116 ],
5117 "source_info" : {
5118 "filename" : "include/control/port_counter.p4",
5119 "line" : 28,
5120 "column" : 38,
5121 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5122 }
5123 },
5124 {
5125 "op" : "count",
5126 "parameters" : [
5127 {
5128 "type" : "counter_array",
5129 "value" : "FabricIngress.port_counters_control.egress_port_counter"
5130 },
5131 {
5132 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005133 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005134 }
5135 ],
5136 "source_info" : {
5137 "filename" : "include/control/port_counter.p4",
5138 "line" : 28,
5139 "column" : 12,
5140 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5141 }
5142 }
5143 ]
5144 },
5145 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005146 "name" : "act_29",
5147 "id" : 76,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005148 "runtime_data" : [],
5149 "primitives" : [
5150 {
5151 "op" : "assign",
5152 "parameters" : [
5153 {
5154 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005155 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005156 },
5157 {
5158 "type" : "expression",
5159 "value" : {
5160 "type" : "expression",
5161 "value" : {
5162 "op" : "&",
5163 "left" : {
5164 "type" : "field",
5165 "value" : ["standard_metadata", "ingress_port"]
5166 },
5167 "right" : {
5168 "type" : "hexstr",
5169 "value" : "0xffffffff"
5170 }
5171 }
5172 }
5173 }
5174 ],
5175 "source_info" : {
5176 "filename" : "include/control/port_counter.p4",
5177 "line" : 31,
5178 "column" : 39,
5179 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5180 }
5181 },
5182 {
5183 "op" : "count",
5184 "parameters" : [
5185 {
5186 "type" : "counter_array",
5187 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
5188 },
5189 {
5190 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005191 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005192 }
5193 ],
5194 "source_info" : {
5195 "filename" : "include/control/port_counter.p4",
5196 "line" : 31,
5197 "column" : 12,
5198 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5199 }
5200 }
5201 ]
5202 },
5203 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005204 "name" : "act_30",
5205 "id" : 77,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005206 "runtime_data" : [],
5207 "primitives" : [
5208 {
5209 "op" : "clone_ingress_pkt_to_egress",
5210 "parameters" : [
5211 {
5212 "type" : "hexstr",
5213 "value" : "0x000001f4"
5214 },
5215 {
5216 "type" : "hexstr",
5217 "value" : "0x1"
5218 }
5219 ]
5220 }
5221 ]
5222 },
5223 {
5224 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005225 "id" : 78,
5226 "runtime_data" : [],
5227 "primitives" : []
5228 },
5229 {
5230 "name" : "NoAction",
5231 "id" : 79,
5232 "runtime_data" : [],
5233 "primitives" : []
5234 },
5235 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005236 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005237 "id" : 80,
5238 "runtime_data" : [],
5239 "primitives" : []
5240 },
5241 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005242 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005243 "id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005244 "runtime_data" : [],
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005245 "primitives" : []
5246 },
5247 {
5248 "name" : "NoAction",
5249 "id" : 82,
5250 "runtime_data" : [],
5251 "primitives" : []
5252 },
5253 {
5254 "name" : "nop",
5255 "id" : 83,
5256 "runtime_data" : [],
5257 "primitives" : []
5258 },
5259 {
5260 "name" : "drop_now",
5261 "id" : 84,
5262 "runtime_data" : [],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005263 "primitives" : [
5264 {
5265 "op" : "drop",
5266 "parameters" : [],
5267 "source_info" : {
5268 "filename" : "include/control/../action.p4",
5269 "line" : 24,
5270 "column" : 4,
5271 "source_fragment" : "mark_to_drop()"
5272 }
5273 },
5274 {
5275 "op" : "exit",
5276 "parameters" : [],
5277 "source_info" : {
5278 "filename" : "include/control/../action.p4",
5279 "line" : 25,
5280 "column" : 4,
5281 "source_fragment" : "exit"
5282 }
5283 }
5284 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005285 },
5286 {
5287 "name" : "drop_now",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005288 "id" : 85,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005289 "runtime_data" : [],
5290 "primitives" : [
5291 {
5292 "op" : "drop",
5293 "parameters" : [],
5294 "source_info" : {
5295 "filename" : "include/control/../action.p4",
5296 "line" : 24,
5297 "column" : 4,
5298 "source_fragment" : "mark_to_drop()"
5299 }
5300 },
5301 {
5302 "op" : "exit",
5303 "parameters" : [],
5304 "source_info" : {
5305 "filename" : "include/control/../action.p4",
5306 "line" : 25,
5307 "column" : 4,
5308 "source_fragment" : "exit"
5309 }
5310 }
5311 ]
5312 },
5313 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005314 "name" : "FabricEgress.spgw_egress.gtpu_encap",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005315 "id" : 86,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005316 "runtime_data" : [],
5317 "primitives" : [
5318 {
5319 "op" : "add_header",
5320 "parameters" : [
5321 {
5322 "type" : "header",
5323 "value" : "gtpu_ipv4"
5324 }
5325 ],
5326 "source_info" : {
5327 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005328 "line" : 185,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005329 "column" : 8,
5330 "source_fragment" : "gtpu_ipv4.setValid()"
5331 }
5332 },
5333 {
5334 "op" : "assign",
5335 "parameters" : [
5336 {
5337 "type" : "field",
5338 "value" : ["gtpu_ipv4", "version"]
5339 },
5340 {
5341 "type" : "hexstr",
5342 "value" : "0x04"
5343 }
5344 ],
5345 "source_info" : {
5346 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005347 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005348 "column" : 8,
5349 "source_fragment" : "gtpu_ipv4.version = 4"
5350 }
5351 },
5352 {
5353 "op" : "assign",
5354 "parameters" : [
5355 {
5356 "type" : "field",
5357 "value" : ["gtpu_ipv4", "ihl"]
5358 },
5359 {
5360 "type" : "hexstr",
5361 "value" : "0x05"
5362 }
5363 ],
5364 "source_info" : {
5365 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005366 "line" : 101,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005367 "column" : 28,
5368 "source_fragment" : "5; ..."
5369 }
5370 },
5371 {
5372 "op" : "assign",
5373 "parameters" : [
5374 {
5375 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005376 "value" : ["gtpu_ipv4", "dscp"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005377 },
5378 {
5379 "type" : "hexstr",
5380 "value" : "0x00"
5381 }
5382 ],
5383 "source_info" : {
5384 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005385 "line" : 188,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005386 "column" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005387 "source_fragment" : "gtpu_ipv4.dscp = 0"
5388 }
5389 },
5390 {
5391 "op" : "assign",
5392 "parameters" : [
5393 {
5394 "type" : "field",
5395 "value" : ["gtpu_ipv4", "ecn"]
5396 },
5397 {
5398 "type" : "hexstr",
5399 "value" : "0x00"
5400 }
5401 ],
5402 "source_info" : {
5403 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005404 "line" : 189,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005405 "column" : 8,
5406 "source_fragment" : "gtpu_ipv4.ecn = 0"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005407 }
5408 },
5409 {
5410 "op" : "assign",
5411 "parameters" : [
5412 {
5413 "type" : "field",
5414 "value" : ["gtpu_ipv4", "total_len"]
5415 },
5416 {
5417 "type" : "expression",
5418 "value" : {
5419 "type" : "expression",
5420 "value" : {
5421 "op" : "&",
5422 "left" : {
5423 "type" : "expression",
5424 "value" : {
5425 "op" : "+",
5426 "left" : {
5427 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005428 "value" : ["ipv4", "total_len"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005429 },
5430 "right" : {
5431 "type" : "hexstr",
5432 "value" : "0x0024"
5433 }
5434 }
5435 },
5436 "right" : {
5437 "type" : "hexstr",
5438 "value" : "0xffff"
5439 }
5440 }
5441 }
5442 }
5443 ],
5444 "source_info" : {
5445 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005446 "line" : 190,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005447 "column" : 8,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005448 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005449 }
5450 },
5451 {
5452 "op" : "assign",
5453 "parameters" : [
5454 {
5455 "type" : "field",
5456 "value" : ["gtpu_ipv4", "identification"]
5457 },
5458 {
5459 "type" : "hexstr",
5460 "value" : "0x1513"
5461 }
5462 ],
5463 "source_info" : {
5464 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005465 "line" : 192,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005466 "column" : 8,
5467 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
5468 }
5469 },
5470 {
5471 "op" : "assign",
5472 "parameters" : [
5473 {
5474 "type" : "field",
5475 "value" : ["gtpu_ipv4", "flags"]
5476 },
5477 {
5478 "type" : "hexstr",
5479 "value" : "0x00"
5480 }
5481 ],
5482 "source_info" : {
5483 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005484 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005485 "column" : 8,
5486 "source_fragment" : "gtpu_ipv4.flags = 0"
5487 }
5488 },
5489 {
5490 "op" : "assign",
5491 "parameters" : [
5492 {
5493 "type" : "field",
5494 "value" : ["gtpu_ipv4", "frag_offset"]
5495 },
5496 {
5497 "type" : "hexstr",
5498 "value" : "0x0000"
5499 }
5500 ],
5501 "source_info" : {
5502 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005503 "line" : 194,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005504 "column" : 8,
5505 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
5506 }
5507 },
5508 {
5509 "op" : "assign",
5510 "parameters" : [
5511 {
5512 "type" : "field",
5513 "value" : ["gtpu_ipv4", "ttl"]
5514 },
5515 {
5516 "type" : "hexstr",
5517 "value" : "0x40"
5518 }
5519 ],
5520 "source_info" : {
5521 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005522 "line" : 114,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005523 "column" : 32,
5524 "source_fragment" : "64; ..."
5525 }
5526 },
5527 {
5528 "op" : "assign",
5529 "parameters" : [
5530 {
5531 "type" : "field",
5532 "value" : ["gtpu_ipv4", "protocol"]
5533 },
5534 {
5535 "type" : "hexstr",
5536 "value" : "0x11"
5537 }
5538 ],
5539 "source_info" : {
5540 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005541 "line" : 98,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005542 "column" : 25,
5543 "source_fragment" : "17; ..."
5544 }
5545 },
5546 {
5547 "op" : "assign",
5548 "parameters" : [
5549 {
5550 "type" : "field",
5551 "value" : ["gtpu_ipv4", "dst_addr"]
5552 },
5553 {
5554 "type" : "field",
5555 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5556 }
5557 ],
5558 "source_info" : {
5559 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005560 "line" : 197,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005561 "column" : 8,
5562 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5563 }
5564 },
5565 {
5566 "op" : "assign",
5567 "parameters" : [
5568 {
5569 "type" : "field",
5570 "value" : ["gtpu_ipv4", "src_addr"]
5571 },
5572 {
5573 "type" : "field",
5574 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5575 }
5576 ],
5577 "source_info" : {
5578 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005579 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005580 "column" : 8,
5581 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5582 }
5583 },
5584 {
5585 "op" : "assign",
5586 "parameters" : [
5587 {
5588 "type" : "field",
5589 "value" : ["gtpu_ipv4", "hdr_checksum"]
5590 },
5591 {
5592 "type" : "hexstr",
5593 "value" : "0x0000"
5594 }
5595 ],
5596 "source_info" : {
5597 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005598 "line" : 199,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005599 "column" : 8,
5600 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5601 }
5602 },
5603 {
5604 "op" : "add_header",
5605 "parameters" : [
5606 {
5607 "type" : "header",
5608 "value" : "gtpu_udp"
5609 }
5610 ],
5611 "source_info" : {
5612 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005613 "line" : 201,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005614 "column" : 8,
5615 "source_fragment" : "gtpu_udp.setValid()"
5616 }
5617 },
5618 {
5619 "op" : "assign",
5620 "parameters" : [
5621 {
5622 "type" : "field",
5623 "value" : ["gtpu_udp", "src_port"]
5624 },
5625 {
5626 "type" : "hexstr",
5627 "value" : "0x0868"
5628 }
5629 ],
5630 "source_info" : {
5631 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005632 "line" : 202,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005633 "column" : 8,
5634 "source_fragment" : "gtpu_udp.src_port = 2152"
5635 }
5636 },
5637 {
5638 "op" : "assign",
5639 "parameters" : [
5640 {
5641 "type" : "field",
5642 "value" : ["gtpu_udp", "dst_port"]
5643 },
5644 {
5645 "type" : "hexstr",
5646 "value" : "0x0868"
5647 }
5648 ],
5649 "source_info" : {
5650 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005651 "line" : 203,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005652 "column" : 8,
5653 "source_fragment" : "gtpu_udp.dst_port = 2152"
5654 }
5655 },
5656 {
5657 "op" : "assign",
5658 "parameters" : [
5659 {
5660 "type" : "field",
5661 "value" : ["gtpu_udp", "len"]
5662 },
5663 {
5664 "type" : "expression",
5665 "value" : {
5666 "type" : "expression",
5667 "value" : {
5668 "op" : "&",
5669 "left" : {
5670 "type" : "expression",
5671 "value" : {
5672 "op" : "+",
5673 "left" : {
5674 "type" : "field",
5675 "value" : ["userMetadata.spgw", "ipv4_len"]
5676 },
5677 "right" : {
5678 "type" : "hexstr",
5679 "value" : "0x0010"
5680 }
5681 }
5682 },
5683 "right" : {
5684 "type" : "hexstr",
5685 "value" : "0xffff"
5686 }
5687 }
5688 }
5689 }
5690 ],
5691 "source_info" : {
5692 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005693 "line" : 204,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005694 "column" : 8,
5695 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5696 }
5697 },
5698 {
5699 "op" : "assign",
5700 "parameters" : [
5701 {
5702 "type" : "field",
5703 "value" : ["gtpu_udp", "checksum"]
5704 },
5705 {
5706 "type" : "hexstr",
5707 "value" : "0x0000"
5708 }
5709 ],
5710 "source_info" : {
5711 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005712 "line" : 206,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005713 "column" : 8,
5714 "source_fragment" : "gtpu_udp.checksum = 0"
5715 }
5716 },
5717 {
5718 "op" : "add_header",
5719 "parameters" : [
5720 {
5721 "type" : "header",
5722 "value" : "gtpu"
5723 }
5724 ],
5725 "source_info" : {
5726 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005727 "line" : 208,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005728 "column" : 8,
5729 "source_fragment" : "gtpu.setValid()"
5730 }
5731 },
5732 {
5733 "op" : "assign",
5734 "parameters" : [
5735 {
5736 "type" : "field",
5737 "value" : ["gtpu", "version"]
5738 },
5739 {
5740 "type" : "hexstr",
5741 "value" : "0x01"
5742 }
5743 ],
5744 "source_info" : {
5745 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005746 "line" : 209,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005747 "column" : 8,
5748 "source_fragment" : "gtpu.version = 0x01"
5749 }
5750 },
5751 {
5752 "op" : "assign",
5753 "parameters" : [
5754 {
5755 "type" : "field",
5756 "value" : ["gtpu", "pt"]
5757 },
5758 {
5759 "type" : "hexstr",
5760 "value" : "0x01"
5761 }
5762 ],
5763 "source_info" : {
5764 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005765 "line" : 210,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005766 "column" : 8,
5767 "source_fragment" : "gtpu.pt = 0x01"
5768 }
5769 },
5770 {
5771 "op" : "assign",
5772 "parameters" : [
5773 {
5774 "type" : "field",
5775 "value" : ["gtpu", "spare"]
5776 },
5777 {
5778 "type" : "hexstr",
5779 "value" : "0x00"
5780 }
5781 ],
5782 "source_info" : {
5783 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005784 "line" : 211,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005785 "column" : 8,
5786 "source_fragment" : "gtpu.spare = 0"
5787 }
5788 },
5789 {
5790 "op" : "assign",
5791 "parameters" : [
5792 {
5793 "type" : "field",
5794 "value" : ["gtpu", "ex_flag"]
5795 },
5796 {
5797 "type" : "hexstr",
5798 "value" : "0x00"
5799 }
5800 ],
5801 "source_info" : {
5802 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005803 "line" : 212,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005804 "column" : 8,
5805 "source_fragment" : "gtpu.ex_flag = 0"
5806 }
5807 },
5808 {
5809 "op" : "assign",
5810 "parameters" : [
5811 {
5812 "type" : "field",
5813 "value" : ["gtpu", "seq_flag"]
5814 },
5815 {
5816 "type" : "hexstr",
5817 "value" : "0x00"
5818 }
5819 ],
5820 "source_info" : {
5821 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005822 "line" : 213,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005823 "column" : 8,
5824 "source_fragment" : "gtpu.seq_flag = 0"
5825 }
5826 },
5827 {
5828 "op" : "assign",
5829 "parameters" : [
5830 {
5831 "type" : "field",
5832 "value" : ["gtpu", "npdu_flag"]
5833 },
5834 {
5835 "type" : "hexstr",
5836 "value" : "0x00"
5837 }
5838 ],
5839 "source_info" : {
5840 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005841 "line" : 214,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005842 "column" : 8,
5843 "source_fragment" : "gtpu.npdu_flag = 0"
5844 }
5845 },
5846 {
5847 "op" : "assign",
5848 "parameters" : [
5849 {
5850 "type" : "field",
5851 "value" : ["gtpu", "msgtype"]
5852 },
5853 {
5854 "type" : "hexstr",
5855 "value" : "0xff"
5856 }
5857 ],
5858 "source_info" : {
5859 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005860 "line" : 215,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005861 "column" : 8,
5862 "source_fragment" : "gtpu.msgtype = 0xff"
5863 }
5864 },
5865 {
5866 "op" : "assign",
5867 "parameters" : [
5868 {
5869 "type" : "field",
5870 "value" : ["gtpu", "msglen"]
5871 },
5872 {
5873 "type" : "field",
5874 "value" : ["userMetadata.spgw", "ipv4_len"]
5875 }
5876 ],
5877 "source_info" : {
5878 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005879 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005880 "column" : 8,
5881 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5882 }
5883 },
5884 {
5885 "op" : "assign",
5886 "parameters" : [
5887 {
5888 "type" : "field",
5889 "value" : ["gtpu", "teid"]
5890 },
5891 {
5892 "type" : "field",
5893 "value" : ["userMetadata.spgw", "teid"]
5894 }
5895 ],
5896 "source_info" : {
5897 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005898 "line" : 217,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005899 "column" : 8,
5900 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5901 }
5902 }
5903 ]
5904 },
5905 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005906 "name" : "FabricEgress.process_int_source.int_source_dscp",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005907 "id" : 87,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005908 "runtime_data" : [
5909 {
5910 "name" : "max_hop",
5911 "bitwidth" : 8
5912 },
5913 {
5914 "name" : "ins_cnt",
5915 "bitwidth" : 5
5916 },
5917 {
5918 "name" : "ins_mask0003",
5919 "bitwidth" : 4
5920 },
5921 {
5922 "name" : "ins_mask0407",
5923 "bitwidth" : 4
5924 }
5925 ],
5926 "primitives" : [
5927 {
5928 "op" : "add_header",
5929 "parameters" : [
5930 {
5931 "type" : "header",
5932 "value" : "intl4_shim"
5933 }
5934 ],
5935 "source_info" : {
5936 "filename" : "include/int_source.p4",
5937 "line" : 31,
5938 "column" : 8,
5939 "source_fragment" : "hdr.intl4_shim.setValid()"
5940 }
5941 },
5942 {
5943 "op" : "assign",
5944 "parameters" : [
5945 {
5946 "type" : "field",
5947 "value" : ["intl4_shim", "int_type"]
5948 },
5949 {
5950 "type" : "hexstr",
5951 "value" : "0x01"
5952 }
5953 ],
5954 "source_info" : {
5955 "filename" : "include/int_source.p4",
5956 "line" : 33,
5957 "column" : 8,
5958 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5959 }
5960 },
5961 {
5962 "op" : "assign",
5963 "parameters" : [
5964 {
5965 "type" : "field",
5966 "value" : ["intl4_shim", "len"]
5967 },
5968 {
5969 "type" : "hexstr",
5970 "value" : "0x04"
5971 }
5972 ],
5973 "source_info" : {
5974 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005975 "line" : 127,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005976 "column" : 35,
5977 "source_fragment" : "4; ..."
5978 }
5979 },
5980 {
5981 "op" : "add_header",
5982 "parameters" : [
5983 {
5984 "type" : "header",
5985 "value" : "int_header"
5986 }
5987 ],
5988 "source_info" : {
5989 "filename" : "include/int_source.p4",
5990 "line" : 37,
5991 "column" : 8,
5992 "source_fragment" : "hdr.int_header.setValid()"
5993 }
5994 },
5995 {
5996 "op" : "assign",
5997 "parameters" : [
5998 {
5999 "type" : "field",
6000 "value" : ["int_header", "ver"]
6001 },
6002 {
6003 "type" : "hexstr",
6004 "value" : "0x00"
6005 }
6006 ],
6007 "source_info" : {
6008 "filename" : "include/int_source.p4",
6009 "line" : 38,
6010 "column" : 8,
6011 "source_fragment" : "hdr.int_header.ver = 0"
6012 }
6013 },
6014 {
6015 "op" : "assign",
6016 "parameters" : [
6017 {
6018 "type" : "field",
6019 "value" : ["int_header", "rep"]
6020 },
6021 {
6022 "type" : "hexstr",
6023 "value" : "0x00"
6024 }
6025 ],
6026 "source_info" : {
6027 "filename" : "include/int_source.p4",
6028 "line" : 39,
6029 "column" : 8,
6030 "source_fragment" : "hdr.int_header.rep = 0"
6031 }
6032 },
6033 {
6034 "op" : "assign",
6035 "parameters" : [
6036 {
6037 "type" : "field",
6038 "value" : ["int_header", "c"]
6039 },
6040 {
6041 "type" : "hexstr",
6042 "value" : "0x00"
6043 }
6044 ],
6045 "source_info" : {
6046 "filename" : "include/int_source.p4",
6047 "line" : 40,
6048 "column" : 8,
6049 "source_fragment" : "hdr.int_header.c = 0"
6050 }
6051 },
6052 {
6053 "op" : "assign",
6054 "parameters" : [
6055 {
6056 "type" : "field",
6057 "value" : ["int_header", "e"]
6058 },
6059 {
6060 "type" : "hexstr",
6061 "value" : "0x00"
6062 }
6063 ],
6064 "source_info" : {
6065 "filename" : "include/int_source.p4",
6066 "line" : 41,
6067 "column" : 8,
6068 "source_fragment" : "hdr.int_header.e = 0"
6069 }
6070 },
6071 {
6072 "op" : "assign",
6073 "parameters" : [
6074 {
6075 "type" : "field",
6076 "value" : ["int_header", "rsvd1"]
6077 },
6078 {
6079 "type" : "hexstr",
6080 "value" : "0x00"
6081 }
6082 ],
6083 "source_info" : {
6084 "filename" : "include/int_source.p4",
6085 "line" : 42,
6086 "column" : 8,
6087 "source_fragment" : "hdr.int_header.rsvd1 = 0"
6088 }
6089 },
6090 {
6091 "op" : "assign",
6092 "parameters" : [
6093 {
6094 "type" : "field",
6095 "value" : ["int_header", "ins_cnt"]
6096 },
6097 {
6098 "type" : "runtime_data",
6099 "value" : 1
6100 }
6101 ],
6102 "source_info" : {
6103 "filename" : "include/int_source.p4",
6104 "line" : 43,
6105 "column" : 8,
6106 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
6107 }
6108 },
6109 {
6110 "op" : "assign",
6111 "parameters" : [
6112 {
6113 "type" : "field",
6114 "value" : ["int_header", "max_hop_cnt"]
6115 },
6116 {
6117 "type" : "runtime_data",
6118 "value" : 0
6119 }
6120 ],
6121 "source_info" : {
6122 "filename" : "include/int_source.p4",
6123 "line" : 44,
6124 "column" : 8,
6125 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
6126 }
6127 },
6128 {
6129 "op" : "assign",
6130 "parameters" : [
6131 {
6132 "type" : "field",
6133 "value" : ["int_header", "total_hop_cnt"]
6134 },
6135 {
6136 "type" : "hexstr",
6137 "value" : "0x00"
6138 }
6139 ],
6140 "source_info" : {
6141 "filename" : "include/int_source.p4",
6142 "line" : 45,
6143 "column" : 8,
6144 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
6145 }
6146 },
6147 {
6148 "op" : "assign",
6149 "parameters" : [
6150 {
6151 "type" : "field",
6152 "value" : ["int_header", "instruction_mask_0003"]
6153 },
6154 {
6155 "type" : "runtime_data",
6156 "value" : 2
6157 }
6158 ],
6159 "source_info" : {
6160 "filename" : "include/int_source.p4",
6161 "line" : 46,
6162 "column" : 8,
6163 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
6164 }
6165 },
6166 {
6167 "op" : "assign",
6168 "parameters" : [
6169 {
6170 "type" : "field",
6171 "value" : ["int_header", "instruction_mask_0407"]
6172 },
6173 {
6174 "type" : "runtime_data",
6175 "value" : 3
6176 }
6177 ],
6178 "source_info" : {
6179 "filename" : "include/int_source.p4",
6180 "line" : 47,
6181 "column" : 8,
6182 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
6183 }
6184 },
6185 {
6186 "op" : "assign",
6187 "parameters" : [
6188 {
6189 "type" : "field",
6190 "value" : ["int_header", "instruction_mask_0811"]
6191 },
6192 {
6193 "type" : "hexstr",
6194 "value" : "0x00"
6195 }
6196 ],
6197 "source_info" : {
6198 "filename" : "include/int_source.p4",
6199 "line" : 48,
6200 "column" : 8,
6201 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
6202 }
6203 },
6204 {
6205 "op" : "assign",
6206 "parameters" : [
6207 {
6208 "type" : "field",
6209 "value" : ["int_header", "instruction_mask_1215"]
6210 },
6211 {
6212 "type" : "hexstr",
6213 "value" : "0x00"
6214 }
6215 ],
6216 "source_info" : {
6217 "filename" : "include/int_source.p4",
6218 "line" : 49,
6219 "column" : 8,
6220 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
6221 }
6222 },
6223 {
6224 "op" : "add_header",
6225 "parameters" : [
6226 {
6227 "type" : "header",
6228 "value" : "intl4_tail"
6229 }
6230 ],
6231 "source_info" : {
6232 "filename" : "include/int_source.p4",
6233 "line" : 52,
6234 "column" : 8,
6235 "source_fragment" : "hdr.intl4_tail.setValid()"
6236 }
6237 },
6238 {
6239 "op" : "assign",
6240 "parameters" : [
6241 {
6242 "type" : "field",
6243 "value" : ["intl4_tail", "next_proto"]
6244 },
6245 {
6246 "type" : "field",
6247 "value" : ["ipv4", "protocol"]
6248 }
6249 ],
6250 "source_info" : {
6251 "filename" : "include/int_source.p4",
6252 "line" : 53,
6253 "column" : 8,
6254 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
6255 }
6256 },
6257 {
6258 "op" : "assign",
6259 "parameters" : [
6260 {
6261 "type" : "field",
6262 "value" : ["intl4_tail", "dest_port"]
6263 },
6264 {
6265 "type" : "field",
6266 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
6267 }
6268 ],
6269 "source_info" : {
6270 "filename" : "include/int_source.p4",
6271 "line" : 54,
6272 "column" : 8,
6273 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
6274 }
6275 },
6276 {
6277 "op" : "assign",
6278 "parameters" : [
6279 {
6280 "type" : "field",
6281 "value" : ["intl4_tail", "dscp"]
6282 },
6283 {
6284 "type" : "expression",
6285 "value" : {
6286 "type" : "expression",
6287 "value" : {
6288 "op" : "&",
6289 "left" : {
6290 "type" : "field",
6291 "value" : ["ipv4", "dscp"]
6292 },
6293 "right" : {
6294 "type" : "hexstr",
6295 "value" : "0xff"
6296 }
6297 }
6298 }
6299 }
6300 ],
6301 "source_info" : {
6302 "filename" : "include/int_source.p4",
6303 "line" : 55,
6304 "column" : 8,
6305 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
6306 }
6307 },
6308 {
6309 "op" : "assign",
6310 "parameters" : [
6311 {
6312 "type" : "field",
6313 "value" : ["ipv4", "total_len"]
6314 },
6315 {
6316 "type" : "expression",
6317 "value" : {
6318 "type" : "expression",
6319 "value" : {
6320 "op" : "&",
6321 "left" : {
6322 "type" : "expression",
6323 "value" : {
6324 "op" : "+",
6325 "left" : {
6326 "type" : "field",
6327 "value" : ["ipv4", "total_len"]
6328 },
6329 "right" : {
6330 "type" : "hexstr",
6331 "value" : "0x0010"
6332 }
6333 }
6334 },
6335 "right" : {
6336 "type" : "hexstr",
6337 "value" : "0xffff"
6338 }
6339 }
6340 }
6341 }
6342 ],
6343 "source_info" : {
6344 "filename" : "include/int_source.p4",
6345 "line" : 58,
6346 "column" : 8,
6347 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
6348 }
6349 },
6350 {
6351 "op" : "assign",
6352 "parameters" : [
6353 {
6354 "type" : "field",
6355 "value" : ["udp", "len"]
6356 },
6357 {
6358 "type" : "expression",
6359 "value" : {
6360 "type" : "expression",
6361 "value" : {
6362 "op" : "&",
6363 "left" : {
6364 "type" : "expression",
6365 "value" : {
6366 "op" : "+",
6367 "left" : {
6368 "type" : "field",
6369 "value" : ["udp", "len"]
6370 },
6371 "right" : {
6372 "type" : "hexstr",
6373 "value" : "0x0010"
6374 }
6375 }
6376 },
6377 "right" : {
6378 "type" : "hexstr",
6379 "value" : "0xffff"
6380 }
6381 }
6382 }
6383 }
6384 ],
6385 "source_info" : {
6386 "filename" : "include/int_source.p4",
6387 "line" : 59,
6388 "column" : 8,
6389 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
6390 }
6391 },
6392 {
6393 "op" : "assign",
6394 "parameters" : [
6395 {
6396 "type" : "field",
6397 "value" : ["ipv4", "dscp"]
6398 },
6399 {
6400 "type" : "hexstr",
6401 "value" : "0x01"
6402 }
6403 ],
6404 "source_info" : {
6405 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006406 "line" : 125,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006407 "column" : 24,
6408 "source_fragment" : "0x1; ..."
6409 }
6410 }
6411 ]
6412 },
6413 {
6414 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006415 "id" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006416 "runtime_data" : [],
6417 "primitives" : [
6418 {
6419 "op" : "assign",
6420 "parameters" : [
6421 {
6422 "type" : "field",
6423 "value" : ["int_header", "total_hop_cnt"]
6424 },
6425 {
6426 "type" : "expression",
6427 "value" : {
6428 "type" : "expression",
6429 "value" : {
6430 "op" : "&",
6431 "left" : {
6432 "type" : "expression",
6433 "value" : {
6434 "op" : "+",
6435 "left" : {
6436 "type" : "field",
6437 "value" : ["int_header", "total_hop_cnt"]
6438 },
6439 "right" : {
6440 "type" : "hexstr",
6441 "value" : "0x01"
6442 }
6443 }
6444 },
6445 "right" : {
6446 "type" : "hexstr",
6447 "value" : "0xff"
6448 }
6449 }
6450 }
6451 }
6452 ],
6453 "source_info" : {
6454 "filename" : "include/int_transit.p4",
6455 "line" : 30,
6456 "column" : 8,
6457 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
6458 }
6459 }
6460 ]
6461 },
6462 {
6463 "name" : "FabricEgress.process_int_transit.int_transit",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006464 "id" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006465 "runtime_data" : [
6466 {
6467 "name" : "switch_id",
6468 "bitwidth" : 32
6469 }
6470 ],
6471 "primitives" : [
6472 {
6473 "op" : "assign",
6474 "parameters" : [
6475 {
6476 "type" : "field",
6477 "value" : ["userMetadata.int_meta", "switch_id"]
6478 },
6479 {
6480 "type" : "runtime_data",
6481 "value" : 0
6482 }
6483 ],
6484 "source_info" : {
6485 "filename" : "include/int_transit.p4",
6486 "line" : 34,
6487 "column" : 8,
6488 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
6489 }
6490 },
6491 {
6492 "op" : "assign",
6493 "parameters" : [
6494 {
6495 "type" : "field",
6496 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
6497 },
6498 {
6499 "type" : "expression",
6500 "value" : {
6501 "type" : "expression",
6502 "value" : {
6503 "op" : "&",
6504 "left" : {
6505 "type" : "expression",
6506 "value" : {
6507 "op" : "<<",
6508 "left" : {
6509 "type" : "expression",
6510 "value" : {
6511 "op" : "&",
6512 "left" : {
6513 "type" : "field",
6514 "value" : ["int_header", "ins_cnt"]
6515 },
6516 "right" : {
6517 "type" : "hexstr",
6518 "value" : "0xffff"
6519 }
6520 }
6521 },
6522 "right" : {
6523 "type" : "hexstr",
6524 "value" : "0x2"
6525 }
6526 }
6527 },
6528 "right" : {
6529 "type" : "hexstr",
6530 "value" : "0xffff"
6531 }
6532 }
6533 }
6534 }
6535 ],
6536 "source_info" : {
6537 "filename" : "include/int_transit.p4",
6538 "line" : 35,
6539 "column" : 8,
6540 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
6541 }
6542 }
6543 ]
6544 },
6545 {
6546 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006547 "id" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006548 "runtime_data" : [],
6549 "primitives" : []
6550 },
6551 {
6552 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006553 "id" : 91,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006554 "runtime_data" : [],
6555 "primitives" : [
6556 {
6557 "op" : "add_header",
6558 "parameters" : [
6559 {
6560 "type" : "header",
6561 "value" : "int_q_occupancy"
6562 }
6563 ],
6564 "source_info" : {
6565 "filename" : "include/int_transit.p4",
6566 "line" : 57,
6567 "column" : 8,
6568 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6569 }
6570 },
6571 {
6572 "op" : "assign",
6573 "parameters" : [
6574 {
6575 "type" : "field",
6576 "value" : ["int_q_occupancy", "q_id"]
6577 },
6578 {
6579 "type" : "hexstr",
6580 "value" : "0x00"
6581 }
6582 ],
6583 "source_info" : {
6584 "filename" : "include/int_transit.p4",
6585 "line" : 58,
6586 "column" : 8,
6587 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6588 }
6589 },
6590 {
6591 "op" : "assign",
6592 "parameters" : [
6593 {
6594 "type" : "field",
6595 "value" : ["int_q_occupancy", "q_occupancy"]
6596 },
6597 {
6598 "type" : "expression",
6599 "value" : {
6600 "type" : "expression",
6601 "value" : {
6602 "op" : "&",
6603 "left" : {
6604 "type" : "field",
6605 "value" : ["standard_metadata", "deq_qdepth"]
6606 },
6607 "right" : {
6608 "type" : "hexstr",
6609 "value" : "0xffffff"
6610 }
6611 }
6612 }
6613 }
6614 ],
6615 "source_info" : {
6616 "filename" : "include/int_transit.p4",
6617 "line" : 61,
6618 "column" : 8,
6619 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6620 }
6621 }
6622 ]
6623 },
6624 {
6625 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006626 "id" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006627 "runtime_data" : [],
6628 "primitives" : [
6629 {
6630 "op" : "add_header",
6631 "parameters" : [
6632 {
6633 "type" : "header",
6634 "value" : "int_hop_latency"
6635 }
6636 ],
6637 "source_info" : {
6638 "filename" : "include/int_transit.p4",
6639 "line" : 51,
6640 "column" : 8,
6641 "source_fragment" : "hdr.int_hop_latency.setValid()"
6642 }
6643 },
6644 {
6645 "op" : "assign",
6646 "parameters" : [
6647 {
6648 "type" : "field",
6649 "value" : ["int_hop_latency", "hop_latency"]
6650 },
6651 {
6652 "type" : "field",
6653 "value" : ["standard_metadata", "deq_timedelta"]
6654 }
6655 ],
6656 "source_info" : {
6657 "filename" : "include/int_transit.p4",
6658 "line" : 52,
6659 "column" : 8,
6660 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6661 }
6662 }
6663 ]
6664 },
6665 {
6666 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006667 "id" : 93,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006668 "runtime_data" : [],
6669 "primitives" : [
6670 {
6671 "op" : "add_header",
6672 "parameters" : [
6673 {
6674 "type" : "header",
6675 "value" : "int_q_occupancy"
6676 }
6677 ],
6678 "source_info" : {
6679 "filename" : "include/int_transit.p4",
6680 "line" : 57,
6681 "column" : 8,
6682 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6683 }
6684 },
6685 {
6686 "op" : "assign",
6687 "parameters" : [
6688 {
6689 "type" : "field",
6690 "value" : ["int_q_occupancy", "q_id"]
6691 },
6692 {
6693 "type" : "hexstr",
6694 "value" : "0x00"
6695 }
6696 ],
6697 "source_info" : {
6698 "filename" : "include/int_transit.p4",
6699 "line" : 58,
6700 "column" : 8,
6701 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6702 }
6703 },
6704 {
6705 "op" : "assign",
6706 "parameters" : [
6707 {
6708 "type" : "field",
6709 "value" : ["int_q_occupancy", "q_occupancy"]
6710 },
6711 {
6712 "type" : "expression",
6713 "value" : {
6714 "type" : "expression",
6715 "value" : {
6716 "op" : "&",
6717 "left" : {
6718 "type" : "field",
6719 "value" : ["standard_metadata", "deq_qdepth"]
6720 },
6721 "right" : {
6722 "type" : "hexstr",
6723 "value" : "0xffffff"
6724 }
6725 }
6726 }
6727 }
6728 ],
6729 "source_info" : {
6730 "filename" : "include/int_transit.p4",
6731 "line" : 61,
6732 "column" : 8,
6733 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6734 }
6735 },
6736 {
6737 "op" : "add_header",
6738 "parameters" : [
6739 {
6740 "type" : "header",
6741 "value" : "int_hop_latency"
6742 }
6743 ],
6744 "source_info" : {
6745 "filename" : "include/int_transit.p4",
6746 "line" : 51,
6747 "column" : 8,
6748 "source_fragment" : "hdr.int_hop_latency.setValid()"
6749 }
6750 },
6751 {
6752 "op" : "assign",
6753 "parameters" : [
6754 {
6755 "type" : "field",
6756 "value" : ["int_hop_latency", "hop_latency"]
6757 },
6758 {
6759 "type" : "field",
6760 "value" : ["standard_metadata", "deq_timedelta"]
6761 }
6762 ],
6763 "source_info" : {
6764 "filename" : "include/int_transit.p4",
6765 "line" : 52,
6766 "column" : 8,
6767 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6768 }
6769 }
6770 ]
6771 },
6772 {
6773 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006774 "id" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006775 "runtime_data" : [],
6776 "primitives" : [
6777 {
6778 "op" : "add_header",
6779 "parameters" : [
6780 {
6781 "type" : "header",
6782 "value" : "int_port_ids"
6783 }
6784 ],
6785 "source_info" : {
6786 "filename" : "include/int_transit.p4",
6787 "line" : 44,
6788 "column" : 8,
6789 "source_fragment" : "hdr.int_port_ids.setValid()"
6790 }
6791 },
6792 {
6793 "op" : "assign",
6794 "parameters" : [
6795 {
6796 "type" : "field",
6797 "value" : ["int_port_ids", "ingress_port_id"]
6798 },
6799 {
6800 "type" : "expression",
6801 "value" : {
6802 "type" : "expression",
6803 "value" : {
6804 "op" : "&",
6805 "left" : {
6806 "type" : "field",
6807 "value" : ["standard_metadata", "ingress_port"]
6808 },
6809 "right" : {
6810 "type" : "hexstr",
6811 "value" : "0xffff"
6812 }
6813 }
6814 }
6815 }
6816 ],
6817 "source_info" : {
6818 "filename" : "include/int_transit.p4",
6819 "line" : 45,
6820 "column" : 8,
6821 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6822 }
6823 },
6824 {
6825 "op" : "assign",
6826 "parameters" : [
6827 {
6828 "type" : "field",
6829 "value" : ["int_port_ids", "egress_port_id"]
6830 },
6831 {
6832 "type" : "expression",
6833 "value" : {
6834 "type" : "expression",
6835 "value" : {
6836 "op" : "&",
6837 "left" : {
6838 "type" : "field",
6839 "value" : ["standard_metadata", "egress_port"]
6840 },
6841 "right" : {
6842 "type" : "hexstr",
6843 "value" : "0xffff"
6844 }
6845 }
6846 }
6847 }
6848 ],
6849 "source_info" : {
6850 "filename" : "include/int_transit.p4",
6851 "line" : 47,
6852 "column" : 8,
6853 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6854 }
6855 }
6856 ]
6857 },
6858 {
6859 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006860 "id" : 95,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006861 "runtime_data" : [],
6862 "primitives" : [
6863 {
6864 "op" : "add_header",
6865 "parameters" : [
6866 {
6867 "type" : "header",
6868 "value" : "int_q_occupancy"
6869 }
6870 ],
6871 "source_info" : {
6872 "filename" : "include/int_transit.p4",
6873 "line" : 57,
6874 "column" : 8,
6875 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6876 }
6877 },
6878 {
6879 "op" : "assign",
6880 "parameters" : [
6881 {
6882 "type" : "field",
6883 "value" : ["int_q_occupancy", "q_id"]
6884 },
6885 {
6886 "type" : "hexstr",
6887 "value" : "0x00"
6888 }
6889 ],
6890 "source_info" : {
6891 "filename" : "include/int_transit.p4",
6892 "line" : 58,
6893 "column" : 8,
6894 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6895 }
6896 },
6897 {
6898 "op" : "assign",
6899 "parameters" : [
6900 {
6901 "type" : "field",
6902 "value" : ["int_q_occupancy", "q_occupancy"]
6903 },
6904 {
6905 "type" : "expression",
6906 "value" : {
6907 "type" : "expression",
6908 "value" : {
6909 "op" : "&",
6910 "left" : {
6911 "type" : "field",
6912 "value" : ["standard_metadata", "deq_qdepth"]
6913 },
6914 "right" : {
6915 "type" : "hexstr",
6916 "value" : "0xffffff"
6917 }
6918 }
6919 }
6920 }
6921 ],
6922 "source_info" : {
6923 "filename" : "include/int_transit.p4",
6924 "line" : 61,
6925 "column" : 8,
6926 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6927 }
6928 },
6929 {
6930 "op" : "add_header",
6931 "parameters" : [
6932 {
6933 "type" : "header",
6934 "value" : "int_port_ids"
6935 }
6936 ],
6937 "source_info" : {
6938 "filename" : "include/int_transit.p4",
6939 "line" : 44,
6940 "column" : 8,
6941 "source_fragment" : "hdr.int_port_ids.setValid()"
6942 }
6943 },
6944 {
6945 "op" : "assign",
6946 "parameters" : [
6947 {
6948 "type" : "field",
6949 "value" : ["int_port_ids", "ingress_port_id"]
6950 },
6951 {
6952 "type" : "expression",
6953 "value" : {
6954 "type" : "expression",
6955 "value" : {
6956 "op" : "&",
6957 "left" : {
6958 "type" : "field",
6959 "value" : ["standard_metadata", "ingress_port"]
6960 },
6961 "right" : {
6962 "type" : "hexstr",
6963 "value" : "0xffff"
6964 }
6965 }
6966 }
6967 }
6968 ],
6969 "source_info" : {
6970 "filename" : "include/int_transit.p4",
6971 "line" : 45,
6972 "column" : 8,
6973 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6974 }
6975 },
6976 {
6977 "op" : "assign",
6978 "parameters" : [
6979 {
6980 "type" : "field",
6981 "value" : ["int_port_ids", "egress_port_id"]
6982 },
6983 {
6984 "type" : "expression",
6985 "value" : {
6986 "type" : "expression",
6987 "value" : {
6988 "op" : "&",
6989 "left" : {
6990 "type" : "field",
6991 "value" : ["standard_metadata", "egress_port"]
6992 },
6993 "right" : {
6994 "type" : "hexstr",
6995 "value" : "0xffff"
6996 }
6997 }
6998 }
6999 }
7000 ],
7001 "source_info" : {
7002 "filename" : "include/int_transit.p4",
7003 "line" : 47,
7004 "column" : 8,
7005 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7006 }
7007 }
7008 ]
7009 },
7010 {
7011 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007012 "id" : 96,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007013 "runtime_data" : [],
7014 "primitives" : [
7015 {
7016 "op" : "add_header",
7017 "parameters" : [
7018 {
7019 "type" : "header",
7020 "value" : "int_hop_latency"
7021 }
7022 ],
7023 "source_info" : {
7024 "filename" : "include/int_transit.p4",
7025 "line" : 51,
7026 "column" : 8,
7027 "source_fragment" : "hdr.int_hop_latency.setValid()"
7028 }
7029 },
7030 {
7031 "op" : "assign",
7032 "parameters" : [
7033 {
7034 "type" : "field",
7035 "value" : ["int_hop_latency", "hop_latency"]
7036 },
7037 {
7038 "type" : "field",
7039 "value" : ["standard_metadata", "deq_timedelta"]
7040 }
7041 ],
7042 "source_info" : {
7043 "filename" : "include/int_transit.p4",
7044 "line" : 52,
7045 "column" : 8,
7046 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7047 }
7048 },
7049 {
7050 "op" : "add_header",
7051 "parameters" : [
7052 {
7053 "type" : "header",
7054 "value" : "int_port_ids"
7055 }
7056 ],
7057 "source_info" : {
7058 "filename" : "include/int_transit.p4",
7059 "line" : 44,
7060 "column" : 8,
7061 "source_fragment" : "hdr.int_port_ids.setValid()"
7062 }
7063 },
7064 {
7065 "op" : "assign",
7066 "parameters" : [
7067 {
7068 "type" : "field",
7069 "value" : ["int_port_ids", "ingress_port_id"]
7070 },
7071 {
7072 "type" : "expression",
7073 "value" : {
7074 "type" : "expression",
7075 "value" : {
7076 "op" : "&",
7077 "left" : {
7078 "type" : "field",
7079 "value" : ["standard_metadata", "ingress_port"]
7080 },
7081 "right" : {
7082 "type" : "hexstr",
7083 "value" : "0xffff"
7084 }
7085 }
7086 }
7087 }
7088 ],
7089 "source_info" : {
7090 "filename" : "include/int_transit.p4",
7091 "line" : 45,
7092 "column" : 8,
7093 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7094 }
7095 },
7096 {
7097 "op" : "assign",
7098 "parameters" : [
7099 {
7100 "type" : "field",
7101 "value" : ["int_port_ids", "egress_port_id"]
7102 },
7103 {
7104 "type" : "expression",
7105 "value" : {
7106 "type" : "expression",
7107 "value" : {
7108 "op" : "&",
7109 "left" : {
7110 "type" : "field",
7111 "value" : ["standard_metadata", "egress_port"]
7112 },
7113 "right" : {
7114 "type" : "hexstr",
7115 "value" : "0xffff"
7116 }
7117 }
7118 }
7119 }
7120 ],
7121 "source_info" : {
7122 "filename" : "include/int_transit.p4",
7123 "line" : 47,
7124 "column" : 8,
7125 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7126 }
7127 }
7128 ]
7129 },
7130 {
7131 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007132 "id" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007133 "runtime_data" : [],
7134 "primitives" : [
7135 {
7136 "op" : "add_header",
7137 "parameters" : [
7138 {
7139 "type" : "header",
7140 "value" : "int_q_occupancy"
7141 }
7142 ],
7143 "source_info" : {
7144 "filename" : "include/int_transit.p4",
7145 "line" : 57,
7146 "column" : 8,
7147 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7148 }
7149 },
7150 {
7151 "op" : "assign",
7152 "parameters" : [
7153 {
7154 "type" : "field",
7155 "value" : ["int_q_occupancy", "q_id"]
7156 },
7157 {
7158 "type" : "hexstr",
7159 "value" : "0x00"
7160 }
7161 ],
7162 "source_info" : {
7163 "filename" : "include/int_transit.p4",
7164 "line" : 58,
7165 "column" : 8,
7166 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7167 }
7168 },
7169 {
7170 "op" : "assign",
7171 "parameters" : [
7172 {
7173 "type" : "field",
7174 "value" : ["int_q_occupancy", "q_occupancy"]
7175 },
7176 {
7177 "type" : "expression",
7178 "value" : {
7179 "type" : "expression",
7180 "value" : {
7181 "op" : "&",
7182 "left" : {
7183 "type" : "field",
7184 "value" : ["standard_metadata", "deq_qdepth"]
7185 },
7186 "right" : {
7187 "type" : "hexstr",
7188 "value" : "0xffffff"
7189 }
7190 }
7191 }
7192 }
7193 ],
7194 "source_info" : {
7195 "filename" : "include/int_transit.p4",
7196 "line" : 61,
7197 "column" : 8,
7198 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7199 }
7200 },
7201 {
7202 "op" : "add_header",
7203 "parameters" : [
7204 {
7205 "type" : "header",
7206 "value" : "int_hop_latency"
7207 }
7208 ],
7209 "source_info" : {
7210 "filename" : "include/int_transit.p4",
7211 "line" : 51,
7212 "column" : 8,
7213 "source_fragment" : "hdr.int_hop_latency.setValid()"
7214 }
7215 },
7216 {
7217 "op" : "assign",
7218 "parameters" : [
7219 {
7220 "type" : "field",
7221 "value" : ["int_hop_latency", "hop_latency"]
7222 },
7223 {
7224 "type" : "field",
7225 "value" : ["standard_metadata", "deq_timedelta"]
7226 }
7227 ],
7228 "source_info" : {
7229 "filename" : "include/int_transit.p4",
7230 "line" : 52,
7231 "column" : 8,
7232 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7233 }
7234 },
7235 {
7236 "op" : "add_header",
7237 "parameters" : [
7238 {
7239 "type" : "header",
7240 "value" : "int_port_ids"
7241 }
7242 ],
7243 "source_info" : {
7244 "filename" : "include/int_transit.p4",
7245 "line" : 44,
7246 "column" : 8,
7247 "source_fragment" : "hdr.int_port_ids.setValid()"
7248 }
7249 },
7250 {
7251 "op" : "assign",
7252 "parameters" : [
7253 {
7254 "type" : "field",
7255 "value" : ["int_port_ids", "ingress_port_id"]
7256 },
7257 {
7258 "type" : "expression",
7259 "value" : {
7260 "type" : "expression",
7261 "value" : {
7262 "op" : "&",
7263 "left" : {
7264 "type" : "field",
7265 "value" : ["standard_metadata", "ingress_port"]
7266 },
7267 "right" : {
7268 "type" : "hexstr",
7269 "value" : "0xffff"
7270 }
7271 }
7272 }
7273 }
7274 ],
7275 "source_info" : {
7276 "filename" : "include/int_transit.p4",
7277 "line" : 45,
7278 "column" : 8,
7279 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7280 }
7281 },
7282 {
7283 "op" : "assign",
7284 "parameters" : [
7285 {
7286 "type" : "field",
7287 "value" : ["int_port_ids", "egress_port_id"]
7288 },
7289 {
7290 "type" : "expression",
7291 "value" : {
7292 "type" : "expression",
7293 "value" : {
7294 "op" : "&",
7295 "left" : {
7296 "type" : "field",
7297 "value" : ["standard_metadata", "egress_port"]
7298 },
7299 "right" : {
7300 "type" : "hexstr",
7301 "value" : "0xffff"
7302 }
7303 }
7304 }
7305 }
7306 ],
7307 "source_info" : {
7308 "filename" : "include/int_transit.p4",
7309 "line" : 47,
7310 "column" : 8,
7311 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7312 }
7313 }
7314 ]
7315 },
7316 {
7317 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007318 "id" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007319 "runtime_data" : [],
7320 "primitives" : [
7321 {
7322 "op" : "add_header",
7323 "parameters" : [
7324 {
7325 "type" : "header",
7326 "value" : "int_switch_id"
7327 }
7328 ],
7329 "source_info" : {
7330 "filename" : "include/int_transit.p4",
7331 "line" : 40,
7332 "column" : 8,
7333 "source_fragment" : "hdr.int_switch_id.setValid()"
7334 }
7335 },
7336 {
7337 "op" : "assign",
7338 "parameters" : [
7339 {
7340 "type" : "field",
7341 "value" : ["int_switch_id", "switch_id"]
7342 },
7343 {
7344 "type" : "field",
7345 "value" : ["userMetadata.int_meta", "switch_id"]
7346 }
7347 ],
7348 "source_info" : {
7349 "filename" : "include/int_transit.p4",
7350 "line" : 41,
7351 "column" : 8,
7352 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7353 }
7354 }
7355 ]
7356 },
7357 {
7358 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007359 "id" : 99,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007360 "runtime_data" : [],
7361 "primitives" : [
7362 {
7363 "op" : "add_header",
7364 "parameters" : [
7365 {
7366 "type" : "header",
7367 "value" : "int_q_occupancy"
7368 }
7369 ],
7370 "source_info" : {
7371 "filename" : "include/int_transit.p4",
7372 "line" : 57,
7373 "column" : 8,
7374 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7375 }
7376 },
7377 {
7378 "op" : "assign",
7379 "parameters" : [
7380 {
7381 "type" : "field",
7382 "value" : ["int_q_occupancy", "q_id"]
7383 },
7384 {
7385 "type" : "hexstr",
7386 "value" : "0x00"
7387 }
7388 ],
7389 "source_info" : {
7390 "filename" : "include/int_transit.p4",
7391 "line" : 58,
7392 "column" : 8,
7393 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7394 }
7395 },
7396 {
7397 "op" : "assign",
7398 "parameters" : [
7399 {
7400 "type" : "field",
7401 "value" : ["int_q_occupancy", "q_occupancy"]
7402 },
7403 {
7404 "type" : "expression",
7405 "value" : {
7406 "type" : "expression",
7407 "value" : {
7408 "op" : "&",
7409 "left" : {
7410 "type" : "field",
7411 "value" : ["standard_metadata", "deq_qdepth"]
7412 },
7413 "right" : {
7414 "type" : "hexstr",
7415 "value" : "0xffffff"
7416 }
7417 }
7418 }
7419 }
7420 ],
7421 "source_info" : {
7422 "filename" : "include/int_transit.p4",
7423 "line" : 61,
7424 "column" : 8,
7425 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7426 }
7427 },
7428 {
7429 "op" : "add_header",
7430 "parameters" : [
7431 {
7432 "type" : "header",
7433 "value" : "int_switch_id"
7434 }
7435 ],
7436 "source_info" : {
7437 "filename" : "include/int_transit.p4",
7438 "line" : 40,
7439 "column" : 8,
7440 "source_fragment" : "hdr.int_switch_id.setValid()"
7441 }
7442 },
7443 {
7444 "op" : "assign",
7445 "parameters" : [
7446 {
7447 "type" : "field",
7448 "value" : ["int_switch_id", "switch_id"]
7449 },
7450 {
7451 "type" : "field",
7452 "value" : ["userMetadata.int_meta", "switch_id"]
7453 }
7454 ],
7455 "source_info" : {
7456 "filename" : "include/int_transit.p4",
7457 "line" : 41,
7458 "column" : 8,
7459 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7460 }
7461 }
7462 ]
7463 },
7464 {
7465 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007466 "id" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007467 "runtime_data" : [],
7468 "primitives" : [
7469 {
7470 "op" : "add_header",
7471 "parameters" : [
7472 {
7473 "type" : "header",
7474 "value" : "int_hop_latency"
7475 }
7476 ],
7477 "source_info" : {
7478 "filename" : "include/int_transit.p4",
7479 "line" : 51,
7480 "column" : 8,
7481 "source_fragment" : "hdr.int_hop_latency.setValid()"
7482 }
7483 },
7484 {
7485 "op" : "assign",
7486 "parameters" : [
7487 {
7488 "type" : "field",
7489 "value" : ["int_hop_latency", "hop_latency"]
7490 },
7491 {
7492 "type" : "field",
7493 "value" : ["standard_metadata", "deq_timedelta"]
7494 }
7495 ],
7496 "source_info" : {
7497 "filename" : "include/int_transit.p4",
7498 "line" : 52,
7499 "column" : 8,
7500 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7501 }
7502 },
7503 {
7504 "op" : "add_header",
7505 "parameters" : [
7506 {
7507 "type" : "header",
7508 "value" : "int_switch_id"
7509 }
7510 ],
7511 "source_info" : {
7512 "filename" : "include/int_transit.p4",
7513 "line" : 40,
7514 "column" : 8,
7515 "source_fragment" : "hdr.int_switch_id.setValid()"
7516 }
7517 },
7518 {
7519 "op" : "assign",
7520 "parameters" : [
7521 {
7522 "type" : "field",
7523 "value" : ["int_switch_id", "switch_id"]
7524 },
7525 {
7526 "type" : "field",
7527 "value" : ["userMetadata.int_meta", "switch_id"]
7528 }
7529 ],
7530 "source_info" : {
7531 "filename" : "include/int_transit.p4",
7532 "line" : 41,
7533 "column" : 8,
7534 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7535 }
7536 }
7537 ]
7538 },
7539 {
7540 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007541 "id" : 101,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007542 "runtime_data" : [],
7543 "primitives" : [
7544 {
7545 "op" : "add_header",
7546 "parameters" : [
7547 {
7548 "type" : "header",
7549 "value" : "int_q_occupancy"
7550 }
7551 ],
7552 "source_info" : {
7553 "filename" : "include/int_transit.p4",
7554 "line" : 57,
7555 "column" : 8,
7556 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7557 }
7558 },
7559 {
7560 "op" : "assign",
7561 "parameters" : [
7562 {
7563 "type" : "field",
7564 "value" : ["int_q_occupancy", "q_id"]
7565 },
7566 {
7567 "type" : "hexstr",
7568 "value" : "0x00"
7569 }
7570 ],
7571 "source_info" : {
7572 "filename" : "include/int_transit.p4",
7573 "line" : 58,
7574 "column" : 8,
7575 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7576 }
7577 },
7578 {
7579 "op" : "assign",
7580 "parameters" : [
7581 {
7582 "type" : "field",
7583 "value" : ["int_q_occupancy", "q_occupancy"]
7584 },
7585 {
7586 "type" : "expression",
7587 "value" : {
7588 "type" : "expression",
7589 "value" : {
7590 "op" : "&",
7591 "left" : {
7592 "type" : "field",
7593 "value" : ["standard_metadata", "deq_qdepth"]
7594 },
7595 "right" : {
7596 "type" : "hexstr",
7597 "value" : "0xffffff"
7598 }
7599 }
7600 }
7601 }
7602 ],
7603 "source_info" : {
7604 "filename" : "include/int_transit.p4",
7605 "line" : 61,
7606 "column" : 8,
7607 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7608 }
7609 },
7610 {
7611 "op" : "add_header",
7612 "parameters" : [
7613 {
7614 "type" : "header",
7615 "value" : "int_hop_latency"
7616 }
7617 ],
7618 "source_info" : {
7619 "filename" : "include/int_transit.p4",
7620 "line" : 51,
7621 "column" : 8,
7622 "source_fragment" : "hdr.int_hop_latency.setValid()"
7623 }
7624 },
7625 {
7626 "op" : "assign",
7627 "parameters" : [
7628 {
7629 "type" : "field",
7630 "value" : ["int_hop_latency", "hop_latency"]
7631 },
7632 {
7633 "type" : "field",
7634 "value" : ["standard_metadata", "deq_timedelta"]
7635 }
7636 ],
7637 "source_info" : {
7638 "filename" : "include/int_transit.p4",
7639 "line" : 52,
7640 "column" : 8,
7641 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7642 }
7643 },
7644 {
7645 "op" : "add_header",
7646 "parameters" : [
7647 {
7648 "type" : "header",
7649 "value" : "int_switch_id"
7650 }
7651 ],
7652 "source_info" : {
7653 "filename" : "include/int_transit.p4",
7654 "line" : 40,
7655 "column" : 8,
7656 "source_fragment" : "hdr.int_switch_id.setValid()"
7657 }
7658 },
7659 {
7660 "op" : "assign",
7661 "parameters" : [
7662 {
7663 "type" : "field",
7664 "value" : ["int_switch_id", "switch_id"]
7665 },
7666 {
7667 "type" : "field",
7668 "value" : ["userMetadata.int_meta", "switch_id"]
7669 }
7670 ],
7671 "source_info" : {
7672 "filename" : "include/int_transit.p4",
7673 "line" : 41,
7674 "column" : 8,
7675 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7676 }
7677 }
7678 ]
7679 },
7680 {
7681 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007682 "id" : 102,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007683 "runtime_data" : [],
7684 "primitives" : [
7685 {
7686 "op" : "add_header",
7687 "parameters" : [
7688 {
7689 "type" : "header",
7690 "value" : "int_port_ids"
7691 }
7692 ],
7693 "source_info" : {
7694 "filename" : "include/int_transit.p4",
7695 "line" : 44,
7696 "column" : 8,
7697 "source_fragment" : "hdr.int_port_ids.setValid()"
7698 }
7699 },
7700 {
7701 "op" : "assign",
7702 "parameters" : [
7703 {
7704 "type" : "field",
7705 "value" : ["int_port_ids", "ingress_port_id"]
7706 },
7707 {
7708 "type" : "expression",
7709 "value" : {
7710 "type" : "expression",
7711 "value" : {
7712 "op" : "&",
7713 "left" : {
7714 "type" : "field",
7715 "value" : ["standard_metadata", "ingress_port"]
7716 },
7717 "right" : {
7718 "type" : "hexstr",
7719 "value" : "0xffff"
7720 }
7721 }
7722 }
7723 }
7724 ],
7725 "source_info" : {
7726 "filename" : "include/int_transit.p4",
7727 "line" : 45,
7728 "column" : 8,
7729 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7730 }
7731 },
7732 {
7733 "op" : "assign",
7734 "parameters" : [
7735 {
7736 "type" : "field",
7737 "value" : ["int_port_ids", "egress_port_id"]
7738 },
7739 {
7740 "type" : "expression",
7741 "value" : {
7742 "type" : "expression",
7743 "value" : {
7744 "op" : "&",
7745 "left" : {
7746 "type" : "field",
7747 "value" : ["standard_metadata", "egress_port"]
7748 },
7749 "right" : {
7750 "type" : "hexstr",
7751 "value" : "0xffff"
7752 }
7753 }
7754 }
7755 }
7756 ],
7757 "source_info" : {
7758 "filename" : "include/int_transit.p4",
7759 "line" : 47,
7760 "column" : 8,
7761 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7762 }
7763 },
7764 {
7765 "op" : "add_header",
7766 "parameters" : [
7767 {
7768 "type" : "header",
7769 "value" : "int_switch_id"
7770 }
7771 ],
7772 "source_info" : {
7773 "filename" : "include/int_transit.p4",
7774 "line" : 40,
7775 "column" : 8,
7776 "source_fragment" : "hdr.int_switch_id.setValid()"
7777 }
7778 },
7779 {
7780 "op" : "assign",
7781 "parameters" : [
7782 {
7783 "type" : "field",
7784 "value" : ["int_switch_id", "switch_id"]
7785 },
7786 {
7787 "type" : "field",
7788 "value" : ["userMetadata.int_meta", "switch_id"]
7789 }
7790 ],
7791 "source_info" : {
7792 "filename" : "include/int_transit.p4",
7793 "line" : 41,
7794 "column" : 8,
7795 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7796 }
7797 }
7798 ]
7799 },
7800 {
7801 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007802 "id" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007803 "runtime_data" : [],
7804 "primitives" : [
7805 {
7806 "op" : "add_header",
7807 "parameters" : [
7808 {
7809 "type" : "header",
7810 "value" : "int_q_occupancy"
7811 }
7812 ],
7813 "source_info" : {
7814 "filename" : "include/int_transit.p4",
7815 "line" : 57,
7816 "column" : 8,
7817 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7818 }
7819 },
7820 {
7821 "op" : "assign",
7822 "parameters" : [
7823 {
7824 "type" : "field",
7825 "value" : ["int_q_occupancy", "q_id"]
7826 },
7827 {
7828 "type" : "hexstr",
7829 "value" : "0x00"
7830 }
7831 ],
7832 "source_info" : {
7833 "filename" : "include/int_transit.p4",
7834 "line" : 58,
7835 "column" : 8,
7836 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7837 }
7838 },
7839 {
7840 "op" : "assign",
7841 "parameters" : [
7842 {
7843 "type" : "field",
7844 "value" : ["int_q_occupancy", "q_occupancy"]
7845 },
7846 {
7847 "type" : "expression",
7848 "value" : {
7849 "type" : "expression",
7850 "value" : {
7851 "op" : "&",
7852 "left" : {
7853 "type" : "field",
7854 "value" : ["standard_metadata", "deq_qdepth"]
7855 },
7856 "right" : {
7857 "type" : "hexstr",
7858 "value" : "0xffffff"
7859 }
7860 }
7861 }
7862 }
7863 ],
7864 "source_info" : {
7865 "filename" : "include/int_transit.p4",
7866 "line" : 61,
7867 "column" : 8,
7868 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7869 }
7870 },
7871 {
7872 "op" : "add_header",
7873 "parameters" : [
7874 {
7875 "type" : "header",
7876 "value" : "int_port_ids"
7877 }
7878 ],
7879 "source_info" : {
7880 "filename" : "include/int_transit.p4",
7881 "line" : 44,
7882 "column" : 8,
7883 "source_fragment" : "hdr.int_port_ids.setValid()"
7884 }
7885 },
7886 {
7887 "op" : "assign",
7888 "parameters" : [
7889 {
7890 "type" : "field",
7891 "value" : ["int_port_ids", "ingress_port_id"]
7892 },
7893 {
7894 "type" : "expression",
7895 "value" : {
7896 "type" : "expression",
7897 "value" : {
7898 "op" : "&",
7899 "left" : {
7900 "type" : "field",
7901 "value" : ["standard_metadata", "ingress_port"]
7902 },
7903 "right" : {
7904 "type" : "hexstr",
7905 "value" : "0xffff"
7906 }
7907 }
7908 }
7909 }
7910 ],
7911 "source_info" : {
7912 "filename" : "include/int_transit.p4",
7913 "line" : 45,
7914 "column" : 8,
7915 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7916 }
7917 },
7918 {
7919 "op" : "assign",
7920 "parameters" : [
7921 {
7922 "type" : "field",
7923 "value" : ["int_port_ids", "egress_port_id"]
7924 },
7925 {
7926 "type" : "expression",
7927 "value" : {
7928 "type" : "expression",
7929 "value" : {
7930 "op" : "&",
7931 "left" : {
7932 "type" : "field",
7933 "value" : ["standard_metadata", "egress_port"]
7934 },
7935 "right" : {
7936 "type" : "hexstr",
7937 "value" : "0xffff"
7938 }
7939 }
7940 }
7941 }
7942 ],
7943 "source_info" : {
7944 "filename" : "include/int_transit.p4",
7945 "line" : 47,
7946 "column" : 8,
7947 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7948 }
7949 },
7950 {
7951 "op" : "add_header",
7952 "parameters" : [
7953 {
7954 "type" : "header",
7955 "value" : "int_switch_id"
7956 }
7957 ],
7958 "source_info" : {
7959 "filename" : "include/int_transit.p4",
7960 "line" : 40,
7961 "column" : 8,
7962 "source_fragment" : "hdr.int_switch_id.setValid()"
7963 }
7964 },
7965 {
7966 "op" : "assign",
7967 "parameters" : [
7968 {
7969 "type" : "field",
7970 "value" : ["int_switch_id", "switch_id"]
7971 },
7972 {
7973 "type" : "field",
7974 "value" : ["userMetadata.int_meta", "switch_id"]
7975 }
7976 ],
7977 "source_info" : {
7978 "filename" : "include/int_transit.p4",
7979 "line" : 41,
7980 "column" : 8,
7981 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7982 }
7983 }
7984 ]
7985 },
7986 {
7987 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007988 "id" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007989 "runtime_data" : [],
7990 "primitives" : [
7991 {
7992 "op" : "add_header",
7993 "parameters" : [
7994 {
7995 "type" : "header",
7996 "value" : "int_hop_latency"
7997 }
7998 ],
7999 "source_info" : {
8000 "filename" : "include/int_transit.p4",
8001 "line" : 51,
8002 "column" : 8,
8003 "source_fragment" : "hdr.int_hop_latency.setValid()"
8004 }
8005 },
8006 {
8007 "op" : "assign",
8008 "parameters" : [
8009 {
8010 "type" : "field",
8011 "value" : ["int_hop_latency", "hop_latency"]
8012 },
8013 {
8014 "type" : "field",
8015 "value" : ["standard_metadata", "deq_timedelta"]
8016 }
8017 ],
8018 "source_info" : {
8019 "filename" : "include/int_transit.p4",
8020 "line" : 52,
8021 "column" : 8,
8022 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
8023 }
8024 },
8025 {
8026 "op" : "add_header",
8027 "parameters" : [
8028 {
8029 "type" : "header",
8030 "value" : "int_port_ids"
8031 }
8032 ],
8033 "source_info" : {
8034 "filename" : "include/int_transit.p4",
8035 "line" : 44,
8036 "column" : 8,
8037 "source_fragment" : "hdr.int_port_ids.setValid()"
8038 }
8039 },
8040 {
8041 "op" : "assign",
8042 "parameters" : [
8043 {
8044 "type" : "field",
8045 "value" : ["int_port_ids", "ingress_port_id"]
8046 },
8047 {
8048 "type" : "expression",
8049 "value" : {
8050 "type" : "expression",
8051 "value" : {
8052 "op" : "&",
8053 "left" : {
8054 "type" : "field",
8055 "value" : ["standard_metadata", "ingress_port"]
8056 },
8057 "right" : {
8058 "type" : "hexstr",
8059 "value" : "0xffff"
8060 }
8061 }
8062 }
8063 }
8064 ],
8065 "source_info" : {
8066 "filename" : "include/int_transit.p4",
8067 "line" : 45,
8068 "column" : 8,
8069 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8070 }
8071 },
8072 {
8073 "op" : "assign",
8074 "parameters" : [
8075 {
8076 "type" : "field",
8077 "value" : ["int_port_ids", "egress_port_id"]
8078 },
8079 {
8080 "type" : "expression",
8081 "value" : {
8082 "type" : "expression",
8083 "value" : {
8084 "op" : "&",
8085 "left" : {
8086 "type" : "field",
8087 "value" : ["standard_metadata", "egress_port"]
8088 },
8089 "right" : {
8090 "type" : "hexstr",
8091 "value" : "0xffff"
8092 }
8093 }
8094 }
8095 }
8096 ],
8097 "source_info" : {
8098 "filename" : "include/int_transit.p4",
8099 "line" : 47,
8100 "column" : 8,
8101 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8102 }
8103 },
8104 {
8105 "op" : "add_header",
8106 "parameters" : [
8107 {
8108 "type" : "header",
8109 "value" : "int_switch_id"
8110 }
8111 ],
8112 "source_info" : {
8113 "filename" : "include/int_transit.p4",
8114 "line" : 40,
8115 "column" : 8,
8116 "source_fragment" : "hdr.int_switch_id.setValid()"
8117 }
8118 },
8119 {
8120 "op" : "assign",
8121 "parameters" : [
8122 {
8123 "type" : "field",
8124 "value" : ["int_switch_id", "switch_id"]
8125 },
8126 {
8127 "type" : "field",
8128 "value" : ["userMetadata.int_meta", "switch_id"]
8129 }
8130 ],
8131 "source_info" : {
8132 "filename" : "include/int_transit.p4",
8133 "line" : 41,
8134 "column" : 8,
8135 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8136 }
8137 }
8138 ]
8139 },
8140 {
8141 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008142 "id" : 105,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008143 "runtime_data" : [],
8144 "primitives" : [
8145 {
8146 "op" : "add_header",
8147 "parameters" : [
8148 {
8149 "type" : "header",
8150 "value" : "int_q_occupancy"
8151 }
8152 ],
8153 "source_info" : {
8154 "filename" : "include/int_transit.p4",
8155 "line" : 57,
8156 "column" : 8,
8157 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8158 }
8159 },
8160 {
8161 "op" : "assign",
8162 "parameters" : [
8163 {
8164 "type" : "field",
8165 "value" : ["int_q_occupancy", "q_id"]
8166 },
8167 {
8168 "type" : "hexstr",
8169 "value" : "0x00"
8170 }
8171 ],
8172 "source_info" : {
8173 "filename" : "include/int_transit.p4",
8174 "line" : 58,
8175 "column" : 8,
8176 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
8177 }
8178 },
8179 {
8180 "op" : "assign",
8181 "parameters" : [
8182 {
8183 "type" : "field",
8184 "value" : ["int_q_occupancy", "q_occupancy"]
8185 },
8186 {
8187 "type" : "expression",
8188 "value" : {
8189 "type" : "expression",
8190 "value" : {
8191 "op" : "&",
8192 "left" : {
8193 "type" : "field",
8194 "value" : ["standard_metadata", "deq_qdepth"]
8195 },
8196 "right" : {
8197 "type" : "hexstr",
8198 "value" : "0xffffff"
8199 }
8200 }
8201 }
8202 }
8203 ],
8204 "source_info" : {
8205 "filename" : "include/int_transit.p4",
8206 "line" : 61,
8207 "column" : 8,
8208 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
8209 }
8210 },
8211 {
8212 "op" : "add_header",
8213 "parameters" : [
8214 {
8215 "type" : "header",
8216 "value" : "int_hop_latency"
8217 }
8218 ],
8219 "source_info" : {
8220 "filename" : "include/int_transit.p4",
8221 "line" : 51,
8222 "column" : 8,
8223 "source_fragment" : "hdr.int_hop_latency.setValid()"
8224 }
8225 },
8226 {
8227 "op" : "assign",
8228 "parameters" : [
8229 {
8230 "type" : "field",
8231 "value" : ["int_hop_latency", "hop_latency"]
8232 },
8233 {
8234 "type" : "field",
8235 "value" : ["standard_metadata", "deq_timedelta"]
8236 }
8237 ],
8238 "source_info" : {
8239 "filename" : "include/int_transit.p4",
8240 "line" : 52,
8241 "column" : 8,
8242 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
8243 }
8244 },
8245 {
8246 "op" : "add_header",
8247 "parameters" : [
8248 {
8249 "type" : "header",
8250 "value" : "int_port_ids"
8251 }
8252 ],
8253 "source_info" : {
8254 "filename" : "include/int_transit.p4",
8255 "line" : 44,
8256 "column" : 8,
8257 "source_fragment" : "hdr.int_port_ids.setValid()"
8258 }
8259 },
8260 {
8261 "op" : "assign",
8262 "parameters" : [
8263 {
8264 "type" : "field",
8265 "value" : ["int_port_ids", "ingress_port_id"]
8266 },
8267 {
8268 "type" : "expression",
8269 "value" : {
8270 "type" : "expression",
8271 "value" : {
8272 "op" : "&",
8273 "left" : {
8274 "type" : "field",
8275 "value" : ["standard_metadata", "ingress_port"]
8276 },
8277 "right" : {
8278 "type" : "hexstr",
8279 "value" : "0xffff"
8280 }
8281 }
8282 }
8283 }
8284 ],
8285 "source_info" : {
8286 "filename" : "include/int_transit.p4",
8287 "line" : 45,
8288 "column" : 8,
8289 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8290 }
8291 },
8292 {
8293 "op" : "assign",
8294 "parameters" : [
8295 {
8296 "type" : "field",
8297 "value" : ["int_port_ids", "egress_port_id"]
8298 },
8299 {
8300 "type" : "expression",
8301 "value" : {
8302 "type" : "expression",
8303 "value" : {
8304 "op" : "&",
8305 "left" : {
8306 "type" : "field",
8307 "value" : ["standard_metadata", "egress_port"]
8308 },
8309 "right" : {
8310 "type" : "hexstr",
8311 "value" : "0xffff"
8312 }
8313 }
8314 }
8315 }
8316 ],
8317 "source_info" : {
8318 "filename" : "include/int_transit.p4",
8319 "line" : 47,
8320 "column" : 8,
8321 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8322 }
8323 },
8324 {
8325 "op" : "add_header",
8326 "parameters" : [
8327 {
8328 "type" : "header",
8329 "value" : "int_switch_id"
8330 }
8331 ],
8332 "source_info" : {
8333 "filename" : "include/int_transit.p4",
8334 "line" : 40,
8335 "column" : 8,
8336 "source_fragment" : "hdr.int_switch_id.setValid()"
8337 }
8338 },
8339 {
8340 "op" : "assign",
8341 "parameters" : [
8342 {
8343 "type" : "field",
8344 "value" : ["int_switch_id", "switch_id"]
8345 },
8346 {
8347 "type" : "field",
8348 "value" : ["userMetadata.int_meta", "switch_id"]
8349 }
8350 ],
8351 "source_info" : {
8352 "filename" : "include/int_transit.p4",
8353 "line" : 41,
8354 "column" : 8,
8355 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8356 }
8357 }
8358 ]
8359 },
8360 {
8361 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008362 "id" : 106,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008363 "runtime_data" : [],
8364 "primitives" : []
8365 },
8366 {
8367 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008368 "id" : 107,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008369 "runtime_data" : [],
8370 "primitives" : [
8371 {
8372 "op" : "add_header",
8373 "parameters" : [
8374 {
8375 "type" : "header",
8376 "value" : "int_egress_tx_util"
8377 }
8378 ],
8379 "source_info" : {
8380 "filename" : "include/int_transit.p4",
8381 "line" : 88,
8382 "column" : 8,
8383 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8384 }
8385 },
8386 {
8387 "op" : "assign",
8388 "parameters" : [
8389 {
8390 "type" : "field",
8391 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8392 },
8393 {
8394 "type" : "hexstr",
8395 "value" : "0x00000000"
8396 }
8397 ],
8398 "source_info" : {
8399 "filename" : "include/int_transit.p4",
8400 "line" : 89,
8401 "column" : 8,
8402 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8403 }
8404 }
8405 ]
8406 },
8407 {
8408 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008409 "id" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008410 "runtime_data" : [],
8411 "primitives" : [
8412 {
8413 "op" : "add_header",
8414 "parameters" : [
8415 {
8416 "type" : "header",
8417 "value" : "int_q_congestion"
8418 }
8419 ],
8420 "source_info" : {
8421 "filename" : "include/int_transit.p4",
8422 "line" : 78,
8423 "column" : 8,
8424 "source_fragment" : "hdr.int_q_congestion.setValid()"
8425 }
8426 },
8427 {
8428 "op" : "assign",
8429 "parameters" : [
8430 {
8431 "type" : "field",
8432 "value" : ["int_q_congestion", "q_id"]
8433 },
8434 {
8435 "type" : "hexstr",
8436 "value" : "0x00"
8437 }
8438 ],
8439 "source_info" : {
8440 "filename" : "include/int_transit.p4",
8441 "line" : 79,
8442 "column" : 8,
8443 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8444 }
8445 },
8446 {
8447 "op" : "assign",
8448 "parameters" : [
8449 {
8450 "type" : "field",
8451 "value" : ["int_q_congestion", "q_congestion"]
8452 },
8453 {
8454 "type" : "hexstr",
8455 "value" : "0x000000"
8456 }
8457 ],
8458 "source_info" : {
8459 "filename" : "include/int_transit.p4",
8460 "line" : 82,
8461 "column" : 8,
8462 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8463 }
8464 }
8465 ]
8466 },
8467 {
8468 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008469 "id" : 109,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008470 "runtime_data" : [],
8471 "primitives" : [
8472 {
8473 "op" : "add_header",
8474 "parameters" : [
8475 {
8476 "type" : "header",
8477 "value" : "int_egress_tx_util"
8478 }
8479 ],
8480 "source_info" : {
8481 "filename" : "include/int_transit.p4",
8482 "line" : 88,
8483 "column" : 8,
8484 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8485 }
8486 },
8487 {
8488 "op" : "assign",
8489 "parameters" : [
8490 {
8491 "type" : "field",
8492 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8493 },
8494 {
8495 "type" : "hexstr",
8496 "value" : "0x00000000"
8497 }
8498 ],
8499 "source_info" : {
8500 "filename" : "include/int_transit.p4",
8501 "line" : 89,
8502 "column" : 8,
8503 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8504 }
8505 },
8506 {
8507 "op" : "add_header",
8508 "parameters" : [
8509 {
8510 "type" : "header",
8511 "value" : "int_q_congestion"
8512 }
8513 ],
8514 "source_info" : {
8515 "filename" : "include/int_transit.p4",
8516 "line" : 78,
8517 "column" : 8,
8518 "source_fragment" : "hdr.int_q_congestion.setValid()"
8519 }
8520 },
8521 {
8522 "op" : "assign",
8523 "parameters" : [
8524 {
8525 "type" : "field",
8526 "value" : ["int_q_congestion", "q_id"]
8527 },
8528 {
8529 "type" : "hexstr",
8530 "value" : "0x00"
8531 }
8532 ],
8533 "source_info" : {
8534 "filename" : "include/int_transit.p4",
8535 "line" : 79,
8536 "column" : 8,
8537 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8538 }
8539 },
8540 {
8541 "op" : "assign",
8542 "parameters" : [
8543 {
8544 "type" : "field",
8545 "value" : ["int_q_congestion", "q_congestion"]
8546 },
8547 {
8548 "type" : "hexstr",
8549 "value" : "0x000000"
8550 }
8551 ],
8552 "source_info" : {
8553 "filename" : "include/int_transit.p4",
8554 "line" : 82,
8555 "column" : 8,
8556 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8557 }
8558 }
8559 ]
8560 },
8561 {
8562 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008563 "id" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008564 "runtime_data" : [],
8565 "primitives" : [
8566 {
8567 "op" : "add_header",
8568 "parameters" : [
8569 {
8570 "type" : "header",
8571 "value" : "int_egress_tstamp"
8572 }
8573 ],
8574 "source_info" : {
8575 "filename" : "include/int_transit.p4",
8576 "line" : 70,
8577 "column" : 8,
8578 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8579 }
8580 },
8581 {
8582 "op" : "assign",
8583 "parameters" : [
8584 {
8585 "type" : "field",
8586 "value" : ["int_egress_tstamp", "egress_tstamp"]
8587 },
8588 {
8589 "type" : "expression",
8590 "value" : {
8591 "type" : "expression",
8592 "value" : {
8593 "op" : "&",
8594 "left" : {
8595 "type" : "expression",
8596 "value" : {
8597 "op" : "+",
8598 "left" : {
8599 "type" : "field",
8600 "value" : ["standard_metadata", "enq_timestamp"]
8601 },
8602 "right" : {
8603 "type" : "field",
8604 "value" : ["standard_metadata", "deq_timedelta"]
8605 }
8606 }
8607 },
8608 "right" : {
8609 "type" : "hexstr",
8610 "value" : "0xffffffff"
8611 }
8612 }
8613 }
8614 }
8615 ],
8616 "source_info" : {
8617 "filename" : "include/int_transit.p4",
8618 "line" : 71,
8619 "column" : 8,
8620 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8621 }
8622 }
8623 ]
8624 },
8625 {
8626 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008627 "id" : 111,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008628 "runtime_data" : [],
8629 "primitives" : [
8630 {
8631 "op" : "add_header",
8632 "parameters" : [
8633 {
8634 "type" : "header",
8635 "value" : "int_egress_tx_util"
8636 }
8637 ],
8638 "source_info" : {
8639 "filename" : "include/int_transit.p4",
8640 "line" : 88,
8641 "column" : 8,
8642 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8643 }
8644 },
8645 {
8646 "op" : "assign",
8647 "parameters" : [
8648 {
8649 "type" : "field",
8650 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8651 },
8652 {
8653 "type" : "hexstr",
8654 "value" : "0x00000000"
8655 }
8656 ],
8657 "source_info" : {
8658 "filename" : "include/int_transit.p4",
8659 "line" : 89,
8660 "column" : 8,
8661 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8662 }
8663 },
8664 {
8665 "op" : "add_header",
8666 "parameters" : [
8667 {
8668 "type" : "header",
8669 "value" : "int_egress_tstamp"
8670 }
8671 ],
8672 "source_info" : {
8673 "filename" : "include/int_transit.p4",
8674 "line" : 70,
8675 "column" : 8,
8676 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8677 }
8678 },
8679 {
8680 "op" : "assign",
8681 "parameters" : [
8682 {
8683 "type" : "field",
8684 "value" : ["int_egress_tstamp", "egress_tstamp"]
8685 },
8686 {
8687 "type" : "expression",
8688 "value" : {
8689 "type" : "expression",
8690 "value" : {
8691 "op" : "&",
8692 "left" : {
8693 "type" : "expression",
8694 "value" : {
8695 "op" : "+",
8696 "left" : {
8697 "type" : "field",
8698 "value" : ["standard_metadata", "enq_timestamp"]
8699 },
8700 "right" : {
8701 "type" : "field",
8702 "value" : ["standard_metadata", "deq_timedelta"]
8703 }
8704 }
8705 },
8706 "right" : {
8707 "type" : "hexstr",
8708 "value" : "0xffffffff"
8709 }
8710 }
8711 }
8712 }
8713 ],
8714 "source_info" : {
8715 "filename" : "include/int_transit.p4",
8716 "line" : 71,
8717 "column" : 8,
8718 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8719 }
8720 }
8721 ]
8722 },
8723 {
8724 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008725 "id" : 112,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008726 "runtime_data" : [],
8727 "primitives" : [
8728 {
8729 "op" : "add_header",
8730 "parameters" : [
8731 {
8732 "type" : "header",
8733 "value" : "int_q_congestion"
8734 }
8735 ],
8736 "source_info" : {
8737 "filename" : "include/int_transit.p4",
8738 "line" : 78,
8739 "column" : 8,
8740 "source_fragment" : "hdr.int_q_congestion.setValid()"
8741 }
8742 },
8743 {
8744 "op" : "assign",
8745 "parameters" : [
8746 {
8747 "type" : "field",
8748 "value" : ["int_q_congestion", "q_id"]
8749 },
8750 {
8751 "type" : "hexstr",
8752 "value" : "0x00"
8753 }
8754 ],
8755 "source_info" : {
8756 "filename" : "include/int_transit.p4",
8757 "line" : 79,
8758 "column" : 8,
8759 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8760 }
8761 },
8762 {
8763 "op" : "assign",
8764 "parameters" : [
8765 {
8766 "type" : "field",
8767 "value" : ["int_q_congestion", "q_congestion"]
8768 },
8769 {
8770 "type" : "hexstr",
8771 "value" : "0x000000"
8772 }
8773 ],
8774 "source_info" : {
8775 "filename" : "include/int_transit.p4",
8776 "line" : 82,
8777 "column" : 8,
8778 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8779 }
8780 },
8781 {
8782 "op" : "add_header",
8783 "parameters" : [
8784 {
8785 "type" : "header",
8786 "value" : "int_egress_tstamp"
8787 }
8788 ],
8789 "source_info" : {
8790 "filename" : "include/int_transit.p4",
8791 "line" : 70,
8792 "column" : 8,
8793 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8794 }
8795 },
8796 {
8797 "op" : "assign",
8798 "parameters" : [
8799 {
8800 "type" : "field",
8801 "value" : ["int_egress_tstamp", "egress_tstamp"]
8802 },
8803 {
8804 "type" : "expression",
8805 "value" : {
8806 "type" : "expression",
8807 "value" : {
8808 "op" : "&",
8809 "left" : {
8810 "type" : "expression",
8811 "value" : {
8812 "op" : "+",
8813 "left" : {
8814 "type" : "field",
8815 "value" : ["standard_metadata", "enq_timestamp"]
8816 },
8817 "right" : {
8818 "type" : "field",
8819 "value" : ["standard_metadata", "deq_timedelta"]
8820 }
8821 }
8822 },
8823 "right" : {
8824 "type" : "hexstr",
8825 "value" : "0xffffffff"
8826 }
8827 }
8828 }
8829 }
8830 ],
8831 "source_info" : {
8832 "filename" : "include/int_transit.p4",
8833 "line" : 71,
8834 "column" : 8,
8835 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8836 }
8837 }
8838 ]
8839 },
8840 {
8841 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008842 "id" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008843 "runtime_data" : [],
8844 "primitives" : [
8845 {
8846 "op" : "add_header",
8847 "parameters" : [
8848 {
8849 "type" : "header",
8850 "value" : "int_egress_tx_util"
8851 }
8852 ],
8853 "source_info" : {
8854 "filename" : "include/int_transit.p4",
8855 "line" : 88,
8856 "column" : 8,
8857 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8858 }
8859 },
8860 {
8861 "op" : "assign",
8862 "parameters" : [
8863 {
8864 "type" : "field",
8865 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8866 },
8867 {
8868 "type" : "hexstr",
8869 "value" : "0x00000000"
8870 }
8871 ],
8872 "source_info" : {
8873 "filename" : "include/int_transit.p4",
8874 "line" : 89,
8875 "column" : 8,
8876 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8877 }
8878 },
8879 {
8880 "op" : "add_header",
8881 "parameters" : [
8882 {
8883 "type" : "header",
8884 "value" : "int_q_congestion"
8885 }
8886 ],
8887 "source_info" : {
8888 "filename" : "include/int_transit.p4",
8889 "line" : 78,
8890 "column" : 8,
8891 "source_fragment" : "hdr.int_q_congestion.setValid()"
8892 }
8893 },
8894 {
8895 "op" : "assign",
8896 "parameters" : [
8897 {
8898 "type" : "field",
8899 "value" : ["int_q_congestion", "q_id"]
8900 },
8901 {
8902 "type" : "hexstr",
8903 "value" : "0x00"
8904 }
8905 ],
8906 "source_info" : {
8907 "filename" : "include/int_transit.p4",
8908 "line" : 79,
8909 "column" : 8,
8910 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8911 }
8912 },
8913 {
8914 "op" : "assign",
8915 "parameters" : [
8916 {
8917 "type" : "field",
8918 "value" : ["int_q_congestion", "q_congestion"]
8919 },
8920 {
8921 "type" : "hexstr",
8922 "value" : "0x000000"
8923 }
8924 ],
8925 "source_info" : {
8926 "filename" : "include/int_transit.p4",
8927 "line" : 82,
8928 "column" : 8,
8929 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8930 }
8931 },
8932 {
8933 "op" : "add_header",
8934 "parameters" : [
8935 {
8936 "type" : "header",
8937 "value" : "int_egress_tstamp"
8938 }
8939 ],
8940 "source_info" : {
8941 "filename" : "include/int_transit.p4",
8942 "line" : 70,
8943 "column" : 8,
8944 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8945 }
8946 },
8947 {
8948 "op" : "assign",
8949 "parameters" : [
8950 {
8951 "type" : "field",
8952 "value" : ["int_egress_tstamp", "egress_tstamp"]
8953 },
8954 {
8955 "type" : "expression",
8956 "value" : {
8957 "type" : "expression",
8958 "value" : {
8959 "op" : "&",
8960 "left" : {
8961 "type" : "expression",
8962 "value" : {
8963 "op" : "+",
8964 "left" : {
8965 "type" : "field",
8966 "value" : ["standard_metadata", "enq_timestamp"]
8967 },
8968 "right" : {
8969 "type" : "field",
8970 "value" : ["standard_metadata", "deq_timedelta"]
8971 }
8972 }
8973 },
8974 "right" : {
8975 "type" : "hexstr",
8976 "value" : "0xffffffff"
8977 }
8978 }
8979 }
8980 }
8981 ],
8982 "source_info" : {
8983 "filename" : "include/int_transit.p4",
8984 "line" : 71,
8985 "column" : 8,
8986 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8987 }
8988 }
8989 ]
8990 },
8991 {
8992 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008993 "id" : 114,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008994 "runtime_data" : [],
8995 "primitives" : [
8996 {
8997 "op" : "add_header",
8998 "parameters" : [
8999 {
9000 "type" : "header",
9001 "value" : "int_ingress_tstamp"
9002 }
9003 ],
9004 "source_info" : {
9005 "filename" : "include/int_transit.p4",
9006 "line" : 65,
9007 "column" : 8,
9008 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9009 }
9010 },
9011 {
9012 "op" : "assign",
9013 "parameters" : [
9014 {
9015 "type" : "field",
9016 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9017 },
9018 {
9019 "type" : "field",
9020 "value" : ["standard_metadata", "enq_timestamp"]
9021 }
9022 ],
9023 "source_info" : {
9024 "filename" : "include/int_transit.p4",
9025 "line" : 66,
9026 "column" : 8,
9027 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9028 }
9029 }
9030 ]
9031 },
9032 {
9033 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009034 "id" : 115,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009035 "runtime_data" : [],
9036 "primitives" : [
9037 {
9038 "op" : "add_header",
9039 "parameters" : [
9040 {
9041 "type" : "header",
9042 "value" : "int_egress_tx_util"
9043 }
9044 ],
9045 "source_info" : {
9046 "filename" : "include/int_transit.p4",
9047 "line" : 88,
9048 "column" : 8,
9049 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9050 }
9051 },
9052 {
9053 "op" : "assign",
9054 "parameters" : [
9055 {
9056 "type" : "field",
9057 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9058 },
9059 {
9060 "type" : "hexstr",
9061 "value" : "0x00000000"
9062 }
9063 ],
9064 "source_info" : {
9065 "filename" : "include/int_transit.p4",
9066 "line" : 89,
9067 "column" : 8,
9068 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9069 }
9070 },
9071 {
9072 "op" : "add_header",
9073 "parameters" : [
9074 {
9075 "type" : "header",
9076 "value" : "int_ingress_tstamp"
9077 }
9078 ],
9079 "source_info" : {
9080 "filename" : "include/int_transit.p4",
9081 "line" : 65,
9082 "column" : 8,
9083 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9084 }
9085 },
9086 {
9087 "op" : "assign",
9088 "parameters" : [
9089 {
9090 "type" : "field",
9091 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9092 },
9093 {
9094 "type" : "field",
9095 "value" : ["standard_metadata", "enq_timestamp"]
9096 }
9097 ],
9098 "source_info" : {
9099 "filename" : "include/int_transit.p4",
9100 "line" : 66,
9101 "column" : 8,
9102 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9103 }
9104 }
9105 ]
9106 },
9107 {
9108 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009109 "id" : 116,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009110 "runtime_data" : [],
9111 "primitives" : [
9112 {
9113 "op" : "add_header",
9114 "parameters" : [
9115 {
9116 "type" : "header",
9117 "value" : "int_q_congestion"
9118 }
9119 ],
9120 "source_info" : {
9121 "filename" : "include/int_transit.p4",
9122 "line" : 78,
9123 "column" : 8,
9124 "source_fragment" : "hdr.int_q_congestion.setValid()"
9125 }
9126 },
9127 {
9128 "op" : "assign",
9129 "parameters" : [
9130 {
9131 "type" : "field",
9132 "value" : ["int_q_congestion", "q_id"]
9133 },
9134 {
9135 "type" : "hexstr",
9136 "value" : "0x00"
9137 }
9138 ],
9139 "source_info" : {
9140 "filename" : "include/int_transit.p4",
9141 "line" : 79,
9142 "column" : 8,
9143 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9144 }
9145 },
9146 {
9147 "op" : "assign",
9148 "parameters" : [
9149 {
9150 "type" : "field",
9151 "value" : ["int_q_congestion", "q_congestion"]
9152 },
9153 {
9154 "type" : "hexstr",
9155 "value" : "0x000000"
9156 }
9157 ],
9158 "source_info" : {
9159 "filename" : "include/int_transit.p4",
9160 "line" : 82,
9161 "column" : 8,
9162 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9163 }
9164 },
9165 {
9166 "op" : "add_header",
9167 "parameters" : [
9168 {
9169 "type" : "header",
9170 "value" : "int_ingress_tstamp"
9171 }
9172 ],
9173 "source_info" : {
9174 "filename" : "include/int_transit.p4",
9175 "line" : 65,
9176 "column" : 8,
9177 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9178 }
9179 },
9180 {
9181 "op" : "assign",
9182 "parameters" : [
9183 {
9184 "type" : "field",
9185 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9186 },
9187 {
9188 "type" : "field",
9189 "value" : ["standard_metadata", "enq_timestamp"]
9190 }
9191 ],
9192 "source_info" : {
9193 "filename" : "include/int_transit.p4",
9194 "line" : 66,
9195 "column" : 8,
9196 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9197 }
9198 }
9199 ]
9200 },
9201 {
9202 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009203 "id" : 117,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009204 "runtime_data" : [],
9205 "primitives" : [
9206 {
9207 "op" : "add_header",
9208 "parameters" : [
9209 {
9210 "type" : "header",
9211 "value" : "int_egress_tx_util"
9212 }
9213 ],
9214 "source_info" : {
9215 "filename" : "include/int_transit.p4",
9216 "line" : 88,
9217 "column" : 8,
9218 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9219 }
9220 },
9221 {
9222 "op" : "assign",
9223 "parameters" : [
9224 {
9225 "type" : "field",
9226 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9227 },
9228 {
9229 "type" : "hexstr",
9230 "value" : "0x00000000"
9231 }
9232 ],
9233 "source_info" : {
9234 "filename" : "include/int_transit.p4",
9235 "line" : 89,
9236 "column" : 8,
9237 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9238 }
9239 },
9240 {
9241 "op" : "add_header",
9242 "parameters" : [
9243 {
9244 "type" : "header",
9245 "value" : "int_q_congestion"
9246 }
9247 ],
9248 "source_info" : {
9249 "filename" : "include/int_transit.p4",
9250 "line" : 78,
9251 "column" : 8,
9252 "source_fragment" : "hdr.int_q_congestion.setValid()"
9253 }
9254 },
9255 {
9256 "op" : "assign",
9257 "parameters" : [
9258 {
9259 "type" : "field",
9260 "value" : ["int_q_congestion", "q_id"]
9261 },
9262 {
9263 "type" : "hexstr",
9264 "value" : "0x00"
9265 }
9266 ],
9267 "source_info" : {
9268 "filename" : "include/int_transit.p4",
9269 "line" : 79,
9270 "column" : 8,
9271 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9272 }
9273 },
9274 {
9275 "op" : "assign",
9276 "parameters" : [
9277 {
9278 "type" : "field",
9279 "value" : ["int_q_congestion", "q_congestion"]
9280 },
9281 {
9282 "type" : "hexstr",
9283 "value" : "0x000000"
9284 }
9285 ],
9286 "source_info" : {
9287 "filename" : "include/int_transit.p4",
9288 "line" : 82,
9289 "column" : 8,
9290 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9291 }
9292 },
9293 {
9294 "op" : "add_header",
9295 "parameters" : [
9296 {
9297 "type" : "header",
9298 "value" : "int_ingress_tstamp"
9299 }
9300 ],
9301 "source_info" : {
9302 "filename" : "include/int_transit.p4",
9303 "line" : 65,
9304 "column" : 8,
9305 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9306 }
9307 },
9308 {
9309 "op" : "assign",
9310 "parameters" : [
9311 {
9312 "type" : "field",
9313 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9314 },
9315 {
9316 "type" : "field",
9317 "value" : ["standard_metadata", "enq_timestamp"]
9318 }
9319 ],
9320 "source_info" : {
9321 "filename" : "include/int_transit.p4",
9322 "line" : 66,
9323 "column" : 8,
9324 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9325 }
9326 }
9327 ]
9328 },
9329 {
9330 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009331 "id" : 118,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009332 "runtime_data" : [],
9333 "primitives" : [
9334 {
9335 "op" : "add_header",
9336 "parameters" : [
9337 {
9338 "type" : "header",
9339 "value" : "int_egress_tstamp"
9340 }
9341 ],
9342 "source_info" : {
9343 "filename" : "include/int_transit.p4",
9344 "line" : 70,
9345 "column" : 8,
9346 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9347 }
9348 },
9349 {
9350 "op" : "assign",
9351 "parameters" : [
9352 {
9353 "type" : "field",
9354 "value" : ["int_egress_tstamp", "egress_tstamp"]
9355 },
9356 {
9357 "type" : "expression",
9358 "value" : {
9359 "type" : "expression",
9360 "value" : {
9361 "op" : "&",
9362 "left" : {
9363 "type" : "expression",
9364 "value" : {
9365 "op" : "+",
9366 "left" : {
9367 "type" : "field",
9368 "value" : ["standard_metadata", "enq_timestamp"]
9369 },
9370 "right" : {
9371 "type" : "field",
9372 "value" : ["standard_metadata", "deq_timedelta"]
9373 }
9374 }
9375 },
9376 "right" : {
9377 "type" : "hexstr",
9378 "value" : "0xffffffff"
9379 }
9380 }
9381 }
9382 }
9383 ],
9384 "source_info" : {
9385 "filename" : "include/int_transit.p4",
9386 "line" : 71,
9387 "column" : 8,
9388 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9389 }
9390 },
9391 {
9392 "op" : "add_header",
9393 "parameters" : [
9394 {
9395 "type" : "header",
9396 "value" : "int_ingress_tstamp"
9397 }
9398 ],
9399 "source_info" : {
9400 "filename" : "include/int_transit.p4",
9401 "line" : 65,
9402 "column" : 8,
9403 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9404 }
9405 },
9406 {
9407 "op" : "assign",
9408 "parameters" : [
9409 {
9410 "type" : "field",
9411 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9412 },
9413 {
9414 "type" : "field",
9415 "value" : ["standard_metadata", "enq_timestamp"]
9416 }
9417 ],
9418 "source_info" : {
9419 "filename" : "include/int_transit.p4",
9420 "line" : 66,
9421 "column" : 8,
9422 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9423 }
9424 }
9425 ]
9426 },
9427 {
9428 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009429 "id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009430 "runtime_data" : [],
9431 "primitives" : [
9432 {
9433 "op" : "add_header",
9434 "parameters" : [
9435 {
9436 "type" : "header",
9437 "value" : "int_egress_tx_util"
9438 }
9439 ],
9440 "source_info" : {
9441 "filename" : "include/int_transit.p4",
9442 "line" : 88,
9443 "column" : 8,
9444 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9445 }
9446 },
9447 {
9448 "op" : "assign",
9449 "parameters" : [
9450 {
9451 "type" : "field",
9452 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9453 },
9454 {
9455 "type" : "hexstr",
9456 "value" : "0x00000000"
9457 }
9458 ],
9459 "source_info" : {
9460 "filename" : "include/int_transit.p4",
9461 "line" : 89,
9462 "column" : 8,
9463 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9464 }
9465 },
9466 {
9467 "op" : "add_header",
9468 "parameters" : [
9469 {
9470 "type" : "header",
9471 "value" : "int_egress_tstamp"
9472 }
9473 ],
9474 "source_info" : {
9475 "filename" : "include/int_transit.p4",
9476 "line" : 70,
9477 "column" : 8,
9478 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9479 }
9480 },
9481 {
9482 "op" : "assign",
9483 "parameters" : [
9484 {
9485 "type" : "field",
9486 "value" : ["int_egress_tstamp", "egress_tstamp"]
9487 },
9488 {
9489 "type" : "expression",
9490 "value" : {
9491 "type" : "expression",
9492 "value" : {
9493 "op" : "&",
9494 "left" : {
9495 "type" : "expression",
9496 "value" : {
9497 "op" : "+",
9498 "left" : {
9499 "type" : "field",
9500 "value" : ["standard_metadata", "enq_timestamp"]
9501 },
9502 "right" : {
9503 "type" : "field",
9504 "value" : ["standard_metadata", "deq_timedelta"]
9505 }
9506 }
9507 },
9508 "right" : {
9509 "type" : "hexstr",
9510 "value" : "0xffffffff"
9511 }
9512 }
9513 }
9514 }
9515 ],
9516 "source_info" : {
9517 "filename" : "include/int_transit.p4",
9518 "line" : 71,
9519 "column" : 8,
9520 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9521 }
9522 },
9523 {
9524 "op" : "add_header",
9525 "parameters" : [
9526 {
9527 "type" : "header",
9528 "value" : "int_ingress_tstamp"
9529 }
9530 ],
9531 "source_info" : {
9532 "filename" : "include/int_transit.p4",
9533 "line" : 65,
9534 "column" : 8,
9535 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9536 }
9537 },
9538 {
9539 "op" : "assign",
9540 "parameters" : [
9541 {
9542 "type" : "field",
9543 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9544 },
9545 {
9546 "type" : "field",
9547 "value" : ["standard_metadata", "enq_timestamp"]
9548 }
9549 ],
9550 "source_info" : {
9551 "filename" : "include/int_transit.p4",
9552 "line" : 66,
9553 "column" : 8,
9554 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9555 }
9556 }
9557 ]
9558 },
9559 {
9560 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009561 "id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009562 "runtime_data" : [],
9563 "primitives" : [
9564 {
9565 "op" : "add_header",
9566 "parameters" : [
9567 {
9568 "type" : "header",
9569 "value" : "int_q_congestion"
9570 }
9571 ],
9572 "source_info" : {
9573 "filename" : "include/int_transit.p4",
9574 "line" : 78,
9575 "column" : 8,
9576 "source_fragment" : "hdr.int_q_congestion.setValid()"
9577 }
9578 },
9579 {
9580 "op" : "assign",
9581 "parameters" : [
9582 {
9583 "type" : "field",
9584 "value" : ["int_q_congestion", "q_id"]
9585 },
9586 {
9587 "type" : "hexstr",
9588 "value" : "0x00"
9589 }
9590 ],
9591 "source_info" : {
9592 "filename" : "include/int_transit.p4",
9593 "line" : 79,
9594 "column" : 8,
9595 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9596 }
9597 },
9598 {
9599 "op" : "assign",
9600 "parameters" : [
9601 {
9602 "type" : "field",
9603 "value" : ["int_q_congestion", "q_congestion"]
9604 },
9605 {
9606 "type" : "hexstr",
9607 "value" : "0x000000"
9608 }
9609 ],
9610 "source_info" : {
9611 "filename" : "include/int_transit.p4",
9612 "line" : 82,
9613 "column" : 8,
9614 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9615 }
9616 },
9617 {
9618 "op" : "add_header",
9619 "parameters" : [
9620 {
9621 "type" : "header",
9622 "value" : "int_egress_tstamp"
9623 }
9624 ],
9625 "source_info" : {
9626 "filename" : "include/int_transit.p4",
9627 "line" : 70,
9628 "column" : 8,
9629 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9630 }
9631 },
9632 {
9633 "op" : "assign",
9634 "parameters" : [
9635 {
9636 "type" : "field",
9637 "value" : ["int_egress_tstamp", "egress_tstamp"]
9638 },
9639 {
9640 "type" : "expression",
9641 "value" : {
9642 "type" : "expression",
9643 "value" : {
9644 "op" : "&",
9645 "left" : {
9646 "type" : "expression",
9647 "value" : {
9648 "op" : "+",
9649 "left" : {
9650 "type" : "field",
9651 "value" : ["standard_metadata", "enq_timestamp"]
9652 },
9653 "right" : {
9654 "type" : "field",
9655 "value" : ["standard_metadata", "deq_timedelta"]
9656 }
9657 }
9658 },
9659 "right" : {
9660 "type" : "hexstr",
9661 "value" : "0xffffffff"
9662 }
9663 }
9664 }
9665 }
9666 ],
9667 "source_info" : {
9668 "filename" : "include/int_transit.p4",
9669 "line" : 71,
9670 "column" : 8,
9671 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9672 }
9673 },
9674 {
9675 "op" : "add_header",
9676 "parameters" : [
9677 {
9678 "type" : "header",
9679 "value" : "int_ingress_tstamp"
9680 }
9681 ],
9682 "source_info" : {
9683 "filename" : "include/int_transit.p4",
9684 "line" : 65,
9685 "column" : 8,
9686 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9687 }
9688 },
9689 {
9690 "op" : "assign",
9691 "parameters" : [
9692 {
9693 "type" : "field",
9694 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9695 },
9696 {
9697 "type" : "field",
9698 "value" : ["standard_metadata", "enq_timestamp"]
9699 }
9700 ],
9701 "source_info" : {
9702 "filename" : "include/int_transit.p4",
9703 "line" : 66,
9704 "column" : 8,
9705 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9706 }
9707 }
9708 ]
9709 },
9710 {
9711 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009712 "id" : 121,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009713 "runtime_data" : [],
9714 "primitives" : [
9715 {
9716 "op" : "add_header",
9717 "parameters" : [
9718 {
9719 "type" : "header",
9720 "value" : "int_egress_tx_util"
9721 }
9722 ],
9723 "source_info" : {
9724 "filename" : "include/int_transit.p4",
9725 "line" : 88,
9726 "column" : 8,
9727 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9728 }
9729 },
9730 {
9731 "op" : "assign",
9732 "parameters" : [
9733 {
9734 "type" : "field",
9735 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9736 },
9737 {
9738 "type" : "hexstr",
9739 "value" : "0x00000000"
9740 }
9741 ],
9742 "source_info" : {
9743 "filename" : "include/int_transit.p4",
9744 "line" : 89,
9745 "column" : 8,
9746 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9747 }
9748 },
9749 {
9750 "op" : "add_header",
9751 "parameters" : [
9752 {
9753 "type" : "header",
9754 "value" : "int_q_congestion"
9755 }
9756 ],
9757 "source_info" : {
9758 "filename" : "include/int_transit.p4",
9759 "line" : 78,
9760 "column" : 8,
9761 "source_fragment" : "hdr.int_q_congestion.setValid()"
9762 }
9763 },
9764 {
9765 "op" : "assign",
9766 "parameters" : [
9767 {
9768 "type" : "field",
9769 "value" : ["int_q_congestion", "q_id"]
9770 },
9771 {
9772 "type" : "hexstr",
9773 "value" : "0x00"
9774 }
9775 ],
9776 "source_info" : {
9777 "filename" : "include/int_transit.p4",
9778 "line" : 79,
9779 "column" : 8,
9780 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9781 }
9782 },
9783 {
9784 "op" : "assign",
9785 "parameters" : [
9786 {
9787 "type" : "field",
9788 "value" : ["int_q_congestion", "q_congestion"]
9789 },
9790 {
9791 "type" : "hexstr",
9792 "value" : "0x000000"
9793 }
9794 ],
9795 "source_info" : {
9796 "filename" : "include/int_transit.p4",
9797 "line" : 82,
9798 "column" : 8,
9799 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9800 }
9801 },
9802 {
9803 "op" : "add_header",
9804 "parameters" : [
9805 {
9806 "type" : "header",
9807 "value" : "int_egress_tstamp"
9808 }
9809 ],
9810 "source_info" : {
9811 "filename" : "include/int_transit.p4",
9812 "line" : 70,
9813 "column" : 8,
9814 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9815 }
9816 },
9817 {
9818 "op" : "assign",
9819 "parameters" : [
9820 {
9821 "type" : "field",
9822 "value" : ["int_egress_tstamp", "egress_tstamp"]
9823 },
9824 {
9825 "type" : "expression",
9826 "value" : {
9827 "type" : "expression",
9828 "value" : {
9829 "op" : "&",
9830 "left" : {
9831 "type" : "expression",
9832 "value" : {
9833 "op" : "+",
9834 "left" : {
9835 "type" : "field",
9836 "value" : ["standard_metadata", "enq_timestamp"]
9837 },
9838 "right" : {
9839 "type" : "field",
9840 "value" : ["standard_metadata", "deq_timedelta"]
9841 }
9842 }
9843 },
9844 "right" : {
9845 "type" : "hexstr",
9846 "value" : "0xffffffff"
9847 }
9848 }
9849 }
9850 }
9851 ],
9852 "source_info" : {
9853 "filename" : "include/int_transit.p4",
9854 "line" : 71,
9855 "column" : 8,
9856 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9857 }
9858 },
9859 {
9860 "op" : "add_header",
9861 "parameters" : [
9862 {
9863 "type" : "header",
9864 "value" : "int_ingress_tstamp"
9865 }
9866 ],
9867 "source_info" : {
9868 "filename" : "include/int_transit.p4",
9869 "line" : 65,
9870 "column" : 8,
9871 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9872 }
9873 },
9874 {
9875 "op" : "assign",
9876 "parameters" : [
9877 {
9878 "type" : "field",
9879 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9880 },
9881 {
9882 "type" : "field",
9883 "value" : ["standard_metadata", "enq_timestamp"]
9884 }
9885 ],
9886 "source_info" : {
9887 "filename" : "include/int_transit.p4",
9888 "line" : 66,
9889 "column" : 8,
9890 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9891 }
9892 }
9893 ]
9894 },
9895 {
9896 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009897 "id" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009898 "runtime_data" : [],
9899 "primitives" : [
9900 {
9901 "op" : "assign",
9902 "parameters" : [
9903 {
9904 "type" : "field",
9905 "value" : ["ipv4", "total_len"]
9906 },
9907 {
9908 "type" : "expression",
9909 "value" : {
9910 "type" : "expression",
9911 "value" : {
9912 "op" : "&",
9913 "left" : {
9914 "type" : "expression",
9915 "value" : {
9916 "op" : "+",
9917 "left" : {
9918 "type" : "field",
9919 "value" : ["ipv4", "total_len"]
9920 },
9921 "right" : {
9922 "type" : "field",
9923 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9924 }
9925 }
9926 },
9927 "right" : {
9928 "type" : "hexstr",
9929 "value" : "0xffff"
9930 }
9931 }
9932 }
9933 }
9934 ],
9935 "source_info" : {
9936 "filename" : "include/int_transit.p4",
9937 "line" : 304,
9938 "column" : 8,
9939 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
9940 }
9941 }
9942 ]
9943 },
9944 {
9945 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009946 "id" : 123,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009947 "runtime_data" : [],
9948 "primitives" : [
9949 {
9950 "op" : "assign",
9951 "parameters" : [
9952 {
9953 "type" : "field",
9954 "value" : ["udp", "len"]
9955 },
9956 {
9957 "type" : "expression",
9958 "value" : {
9959 "type" : "expression",
9960 "value" : {
9961 "op" : "&",
9962 "left" : {
9963 "type" : "expression",
9964 "value" : {
9965 "op" : "+",
9966 "left" : {
9967 "type" : "field",
9968 "value" : ["udp", "len"]
9969 },
9970 "right" : {
9971 "type" : "field",
9972 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9973 }
9974 }
9975 },
9976 "right" : {
9977 "type" : "hexstr",
9978 "value" : "0xffff"
9979 }
9980 }
9981 }
9982 }
9983 ],
9984 "source_info" : {
9985 "filename" : "include/int_transit.p4",
9986 "line" : 307,
9987 "column" : 8,
9988 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
9989 }
9990 }
9991 ]
9992 },
9993 {
9994 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009995 "id" : 124,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009996 "runtime_data" : [],
9997 "primitives" : [
9998 {
9999 "op" : "assign",
10000 "parameters" : [
10001 {
10002 "type" : "field",
10003 "value" : ["intl4_shim", "len"]
10004 },
10005 {
10006 "type" : "expression",
10007 "value" : {
10008 "type" : "expression",
10009 "value" : {
10010 "op" : "&",
10011 "left" : {
10012 "type" : "expression",
10013 "value" : {
10014 "op" : "+",
10015 "left" : {
10016 "type" : "field",
10017 "value" : ["intl4_shim", "len"]
10018 },
10019 "right" : {
10020 "type" : "expression",
10021 "value" : {
10022 "op" : "&",
10023 "left" : {
10024 "type" : "field",
10025 "value" : ["int_header", "ins_cnt"]
10026 },
10027 "right" : {
10028 "type" : "hexstr",
10029 "value" : "0xff"
10030 }
10031 }
10032 }
10033 }
10034 },
10035 "right" : {
10036 "type" : "hexstr",
10037 "value" : "0xff"
10038 }
10039 }
10040 }
10041 }
10042 ],
10043 "source_info" : {
10044 "filename" : "include/int_transit.p4",
10045 "line" : 310,
10046 "column" : 8,
10047 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
10048 }
10049 }
10050 ]
10051 },
10052 {
10053 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010054 "id" : 125,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010055 "runtime_data" : [
10056 {
10057 "name" : "src_mac",
10058 "bitwidth" : 48
10059 },
10060 {
10061 "name" : "mon_mac",
10062 "bitwidth" : 48
10063 },
10064 {
10065 "name" : "src_ip",
10066 "bitwidth" : 32
10067 },
10068 {
10069 "name" : "mon_ip",
10070 "bitwidth" : 32
10071 },
10072 {
10073 "name" : "mon_port",
10074 "bitwidth" : 16
10075 }
10076 ],
10077 "primitives" : [
10078 {
10079 "op" : "add_header",
10080 "parameters" : [
10081 {
10082 "type" : "header",
10083 "value" : "report_ethernet"
10084 }
10085 ],
10086 "source_info" : {
10087 "filename" : "include/int_report.p4",
10088 "line" : 50,
10089 "column" : 8,
10090 "source_fragment" : "hdr.report_ethernet.setValid()"
10091 }
10092 },
10093 {
10094 "op" : "assign",
10095 "parameters" : [
10096 {
10097 "type" : "field",
10098 "value" : ["report_ethernet", "dst_addr"]
10099 },
10100 {
10101 "type" : "runtime_data",
10102 "value" : 1
10103 }
10104 ],
10105 "source_info" : {
10106 "filename" : "include/int_report.p4",
10107 "line" : 51,
10108 "column" : 8,
10109 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
10110 }
10111 },
10112 {
10113 "op" : "assign",
10114 "parameters" : [
10115 {
10116 "type" : "field",
10117 "value" : ["report_ethernet", "src_addr"]
10118 },
10119 {
10120 "type" : "runtime_data",
10121 "value" : 0
10122 }
10123 ],
10124 "source_info" : {
10125 "filename" : "include/int_report.p4",
10126 "line" : 52,
10127 "column" : 8,
10128 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
10129 }
10130 },
10131 {
10132 "op" : "assign",
10133 "parameters" : [
10134 {
10135 "type" : "field",
10136 "value" : ["report_ethernet", "ether_type"]
10137 },
10138 {
10139 "type" : "hexstr",
10140 "value" : "0x0800"
10141 }
10142 ],
10143 "source_info" : {
10144 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010145 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010146 "column" : 31,
10147 "source_fragment" : "0x0800; ..."
10148 }
10149 },
10150 {
10151 "op" : "add_header",
10152 "parameters" : [
10153 {
10154 "type" : "header",
10155 "value" : "report_ipv4"
10156 }
10157 ],
10158 "source_info" : {
10159 "filename" : "include/int_report.p4",
10160 "line" : 56,
10161 "column" : 8,
10162 "source_fragment" : "hdr.report_ipv4.setValid()"
10163 }
10164 },
10165 {
10166 "op" : "assign",
10167 "parameters" : [
10168 {
10169 "type" : "field",
10170 "value" : ["report_ipv4", "version"]
10171 },
10172 {
10173 "type" : "hexstr",
10174 "value" : "0x04"
10175 }
10176 ],
10177 "source_info" : {
10178 "filename" : "include/int_report.p4",
10179 "line" : 57,
10180 "column" : 8,
10181 "source_fragment" : "hdr.report_ipv4.version = 4w4"
10182 }
10183 },
10184 {
10185 "op" : "assign",
10186 "parameters" : [
10187 {
10188 "type" : "field",
10189 "value" : ["report_ipv4", "ihl"]
10190 },
10191 {
10192 "type" : "hexstr",
10193 "value" : "0x05"
10194 }
10195 ],
10196 "source_info" : {
10197 "filename" : "include/int_report.p4",
10198 "line" : 58,
10199 "column" : 8,
10200 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
10201 }
10202 },
10203 {
10204 "op" : "assign",
10205 "parameters" : [
10206 {
10207 "type" : "field",
10208 "value" : ["report_ipv4", "dscp"]
10209 },
10210 {
10211 "type" : "hexstr",
10212 "value" : "0x00"
10213 }
10214 ],
10215 "source_info" : {
10216 "filename" : "include/int_report.p4",
10217 "line" : 59,
10218 "column" : 8,
10219 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
10220 }
10221 },
10222 {
10223 "op" : "assign",
10224 "parameters" : [
10225 {
10226 "type" : "field",
10227 "value" : ["report_ipv4", "ecn"]
10228 },
10229 {
10230 "type" : "hexstr",
10231 "value" : "0x00"
10232 }
10233 ],
10234 "source_info" : {
10235 "filename" : "include/int_report.p4",
10236 "line" : 60,
10237 "column" : 8,
10238 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
10239 }
10240 },
10241 {
10242 "op" : "assign",
10243 "parameters" : [
10244 {
10245 "type" : "field",
10246 "value" : ["report_ipv4", "total_len"]
10247 },
10248 {
10249 "type" : "expression",
10250 "value" : {
10251 "type" : "expression",
10252 "value" : {
10253 "op" : "&",
10254 "left" : {
10255 "type" : "expression",
10256 "value" : {
10257 "op" : "+",
10258 "left" : {
10259 "type" : "hexstr",
10260 "value" : "0x0036"
10261 },
10262 "right" : {
10263 "type" : "field",
10264 "value" : ["ipv4", "total_len"]
10265 }
10266 }
10267 },
10268 "right" : {
10269 "type" : "hexstr",
10270 "value" : "0xffff"
10271 }
10272 }
10273 }
10274 }
10275 ],
10276 "source_info" : {
10277 "filename" : "include/int_report.p4",
10278 "line" : 62,
10279 "column" : 8,
10280 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
10281 }
10282 },
10283 {
10284 "op" : "assign",
10285 "parameters" : [
10286 {
10287 "type" : "field",
10288 "value" : ["report_ipv4", "identification"]
10289 },
10290 {
10291 "type" : "hexstr",
10292 "value" : "0x0000"
10293 }
10294 ],
10295 "source_info" : {
10296 "filename" : "include/int_report.p4",
10297 "line" : 65,
10298 "column" : 8,
10299 "source_fragment" : "hdr.report_ipv4.identification = 0"
10300 }
10301 },
10302 {
10303 "op" : "assign",
10304 "parameters" : [
10305 {
10306 "type" : "field",
10307 "value" : ["report_ipv4", "flags"]
10308 },
10309 {
10310 "type" : "hexstr",
10311 "value" : "0x00"
10312 }
10313 ],
10314 "source_info" : {
10315 "filename" : "include/int_report.p4",
10316 "line" : 66,
10317 "column" : 8,
10318 "source_fragment" : "hdr.report_ipv4.flags = 0"
10319 }
10320 },
10321 {
10322 "op" : "assign",
10323 "parameters" : [
10324 {
10325 "type" : "field",
10326 "value" : ["report_ipv4", "frag_offset"]
10327 },
10328 {
10329 "type" : "hexstr",
10330 "value" : "0x0000"
10331 }
10332 ],
10333 "source_info" : {
10334 "filename" : "include/int_report.p4",
10335 "line" : 67,
10336 "column" : 8,
10337 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
10338 }
10339 },
10340 {
10341 "op" : "assign",
10342 "parameters" : [
10343 {
10344 "type" : "field",
10345 "value" : ["report_ipv4", "ttl"]
10346 },
10347 {
10348 "type" : "hexstr",
10349 "value" : "0xff"
10350 }
10351 ],
10352 "source_info" : {
10353 "filename" : "include/int_report.p4",
10354 "line" : 68,
10355 "column" : 8,
10356 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
10357 }
10358 },
10359 {
10360 "op" : "assign",
10361 "parameters" : [
10362 {
10363 "type" : "field",
10364 "value" : ["report_ipv4", "protocol"]
10365 },
10366 {
10367 "type" : "hexstr",
10368 "value" : "0x11"
10369 }
10370 ],
10371 "source_info" : {
10372 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010373 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010374 "column" : 25,
10375 "source_fragment" : "17; ..."
10376 }
10377 },
10378 {
10379 "op" : "assign",
10380 "parameters" : [
10381 {
10382 "type" : "field",
10383 "value" : ["report_ipv4", "src_addr"]
10384 },
10385 {
10386 "type" : "runtime_data",
10387 "value" : 2
10388 }
10389 ],
10390 "source_info" : {
10391 "filename" : "include/int_report.p4",
10392 "line" : 70,
10393 "column" : 8,
10394 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
10395 }
10396 },
10397 {
10398 "op" : "assign",
10399 "parameters" : [
10400 {
10401 "type" : "field",
10402 "value" : ["report_ipv4", "dst_addr"]
10403 },
10404 {
10405 "type" : "runtime_data",
10406 "value" : 3
10407 }
10408 ],
10409 "source_info" : {
10410 "filename" : "include/int_report.p4",
10411 "line" : 71,
10412 "column" : 8,
10413 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
10414 }
10415 },
10416 {
10417 "op" : "add_header",
10418 "parameters" : [
10419 {
10420 "type" : "header",
10421 "value" : "report_udp"
10422 }
10423 ],
10424 "source_info" : {
10425 "filename" : "include/int_report.p4",
10426 "line" : 74,
10427 "column" : 8,
10428 "source_fragment" : "hdr.report_udp.setValid()"
10429 }
10430 },
10431 {
10432 "op" : "assign",
10433 "parameters" : [
10434 {
10435 "type" : "field",
10436 "value" : ["report_udp", "src_port"]
10437 },
10438 {
10439 "type" : "hexstr",
10440 "value" : "0x0000"
10441 }
10442 ],
10443 "source_info" : {
10444 "filename" : "include/int_report.p4",
10445 "line" : 75,
10446 "column" : 8,
10447 "source_fragment" : "hdr.report_udp.src_port = 0"
10448 }
10449 },
10450 {
10451 "op" : "assign",
10452 "parameters" : [
10453 {
10454 "type" : "field",
10455 "value" : ["report_udp", "dst_port"]
10456 },
10457 {
10458 "type" : "runtime_data",
10459 "value" : 4
10460 }
10461 ],
10462 "source_info" : {
10463 "filename" : "include/int_report.p4",
10464 "line" : 76,
10465 "column" : 8,
10466 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
10467 }
10468 },
10469 {
10470 "op" : "assign",
10471 "parameters" : [
10472 {
10473 "type" : "field",
10474 "value" : ["report_udp", "len"]
10475 },
10476 {
10477 "type" : "expression",
10478 "value" : {
10479 "type" : "expression",
10480 "value" : {
10481 "op" : "&",
10482 "left" : {
10483 "type" : "expression",
10484 "value" : {
10485 "op" : "+",
10486 "left" : {
10487 "type" : "hexstr",
10488 "value" : "0x0022"
10489 },
10490 "right" : {
10491 "type" : "field",
10492 "value" : ["ipv4", "total_len"]
10493 }
10494 }
10495 },
10496 "right" : {
10497 "type" : "hexstr",
10498 "value" : "0xffff"
10499 }
10500 }
10501 }
10502 }
10503 ],
10504 "source_info" : {
10505 "filename" : "include/int_report.p4",
10506 "line" : 77,
10507 "column" : 8,
10508 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
10509 }
10510 },
10511 {
10512 "op" : "assign",
10513 "parameters" : [
10514 {
10515 "type" : "field",
10516 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
10517 },
10518 {
10519 "type" : "expression",
10520 "value" : {
10521 "type" : "expression",
10522 "value" : {
10523 "op" : "b2d",
10524 "left" : null,
10525 "right" : {
10526 "type" : "bool",
10527 "value" : true
10528 }
10529 }
10530 }
10531 }
10532 ],
10533 "source_info" : {
10534 "filename" : "include/int_report.p4",
10535 "line" : 80,
10536 "column" : 8,
10537 "source_fragment" : "fabric_metadata.compute_checksum = true"
10538 }
10539 },
10540 {
10541 "op" : "add_header",
10542 "parameters" : [
10543 {
10544 "type" : "header",
10545 "value" : "report_fixed_header"
10546 }
10547 ],
10548 "source_info" : {
10549 "filename" : "include/int_report.p4",
10550 "line" : 30,
10551 "column" : 8,
10552 "source_fragment" : "hdr.report_fixed_header.setValid()"
10553 }
10554 },
10555 {
10556 "op" : "assign",
10557 "parameters" : [
10558 {
10559 "type" : "field",
10560 "value" : ["report_fixed_header", "ver"]
10561 },
10562 {
10563 "type" : "hexstr",
10564 "value" : "0x00"
10565 }
10566 ],
10567 "source_info" : {
10568 "filename" : "include/int_report.p4",
10569 "line" : 31,
10570 "column" : 8,
10571 "source_fragment" : "hdr.report_fixed_header.ver = 0"
10572 }
10573 },
10574 {
10575 "op" : "assign",
10576 "parameters" : [
10577 {
10578 "type" : "field",
10579 "value" : ["report_fixed_header", "nproto"]
10580 },
10581 {
10582 "type" : "hexstr",
10583 "value" : "0x00"
10584 }
10585 ],
10586 "source_info" : {
10587 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010588 "line" : 132,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010589 "column" : 31,
10590 "source_fragment" : "0; ..."
10591 }
10592 },
10593 {
10594 "op" : "assign",
10595 "parameters" : [
10596 {
10597 "type" : "field",
10598 "value" : ["report_fixed_header", "d"]
10599 },
10600 {
10601 "type" : "hexstr",
10602 "value" : "0x00"
10603 }
10604 ],
10605 "source_info" : {
10606 "filename" : "include/int_report.p4",
10607 "line" : 34,
10608 "column" : 8,
10609 "source_fragment" : "hdr.report_fixed_header.d = 0"
10610 }
10611 },
10612 {
10613 "op" : "assign",
10614 "parameters" : [
10615 {
10616 "type" : "field",
10617 "value" : ["report_fixed_header", "q"]
10618 },
10619 {
10620 "type" : "hexstr",
10621 "value" : "0x00"
10622 }
10623 ],
10624 "source_info" : {
10625 "filename" : "include/int_report.p4",
10626 "line" : 35,
10627 "column" : 8,
10628 "source_fragment" : "hdr.report_fixed_header.q = 0"
10629 }
10630 },
10631 {
10632 "op" : "assign",
10633 "parameters" : [
10634 {
10635 "type" : "field",
10636 "value" : ["report_fixed_header", "f"]
10637 },
10638 {
10639 "type" : "hexstr",
10640 "value" : "0x01"
10641 }
10642 ],
10643 "source_info" : {
10644 "filename" : "include/int_report.p4",
10645 "line" : 36,
10646 "column" : 8,
10647 "source_fragment" : "hdr.report_fixed_header.f = 1"
10648 }
10649 },
10650 {
10651 "op" : "assign",
10652 "parameters" : [
10653 {
10654 "type" : "field",
10655 "value" : ["report_fixed_header", "rsvd"]
10656 },
10657 {
10658 "type" : "hexstr",
10659 "value" : "0x0000"
10660 }
10661 ],
10662 "source_info" : {
10663 "filename" : "include/int_report.p4",
10664 "line" : 37,
10665 "column" : 8,
10666 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
10667 }
10668 },
10669 {
10670 "op" : "assign",
10671 "parameters" : [
10672 {
10673 "type" : "field",
10674 "value" : ["report_fixed_header", "hw_id"]
10675 },
10676 {
10677 "type" : "hexstr",
10678 "value" : "0x01"
10679 }
10680 ],
10681 "source_info" : {
10682 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010683 "line" : 136,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010684 "column" : 21,
10685 "source_fragment" : "1; ..."
10686 }
10687 },
10688 {
10689 "op" : "assign",
10690 "parameters" : [
10691 {
10692 "type" : "field",
10693 "value" : ["report_fixed_header", "seq_no"]
10694 },
10695 {
10696 "type" : "hexstr",
10697 "value" : "0x00000000"
10698 }
10699 ],
10700 "source_info" : {
10701 "filename" : "include/int_report.p4",
10702 "line" : 41,
10703 "column" : 8,
10704 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
10705 }
10706 },
10707 {
10708 "op" : "assign",
10709 "parameters" : [
10710 {
10711 "type" : "field",
10712 "value" : ["report_fixed_header", "ingress_tstamp"]
10713 },
10714 {
10715 "type" : "field",
10716 "value" : ["standard_metadata", "enq_timestamp"]
10717 }
10718 ],
10719 "source_info" : {
10720 "filename" : "include/int_report.p4",
10721 "line" : 43,
10722 "column" : 8,
10723 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
10724 }
10725 }
10726 ]
10727 },
10728 {
10729 "name" : "FabricEgress.process_int_sink.restore_header",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010730 "id" : 126,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010731 "runtime_data" : [],
10732 "primitives" : [
10733 {
10734 "op" : "assign",
10735 "parameters" : [
10736 {
10737 "type" : "field",
10738 "value" : ["udp", "dst_port"]
10739 },
10740 {
10741 "type" : "field",
10742 "value" : ["intl4_tail", "dest_port"]
10743 }
10744 ],
10745 "source_info" : {
10746 "filename" : "include/int_sink.p4",
10747 "line" : 26,
10748 "column" : 8,
10749 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
10750 }
10751 },
10752 {
10753 "op" : "assign",
10754 "parameters" : [
10755 {
10756 "type" : "field",
10757 "value" : ["ipv4", "dscp"]
10758 },
10759 {
10760 "type" : "expression",
10761 "value" : {
10762 "type" : "expression",
10763 "value" : {
10764 "op" : "&",
10765 "left" : {
10766 "type" : "field",
10767 "value" : ["intl4_tail", "dscp"]
10768 },
10769 "right" : {
10770 "type" : "hexstr",
10771 "value" : "0x3f"
10772 }
10773 }
10774 }
10775 }
10776 ],
10777 "source_info" : {
10778 "filename" : "include/int_sink.p4",
10779 "line" : 27,
10780 "column" : 8,
10781 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
10782 }
10783 }
10784 ]
10785 },
10786 {
10787 "name" : "FabricEgress.process_int_sink.int_sink",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010788 "id" : 127,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010789 "runtime_data" : [],
10790 "primitives" : [
10791 {
10792 "op" : "assign",
10793 "parameters" : [
10794 {
10795 "type" : "field",
10796 "value" : ["ipv4", "total_len"]
10797 },
10798 {
10799 "type" : "expression",
10800 "value" : {
10801 "type" : "expression",
10802 "value" : {
10803 "op" : "&",
10804 "left" : {
10805 "type" : "expression",
10806 "value" : {
10807 "op" : "-",
10808 "left" : {
10809 "type" : "field",
10810 "value" : ["ipv4", "total_len"]
10811 },
10812 "right" : {
10813 "type" : "expression",
10814 "value" : {
10815 "op" : "&",
10816 "left" : {
10817 "type" : "expression",
10818 "value" : {
10819 "op" : "&",
10820 "left" : {
10821 "type" : "expression",
10822 "value" : {
10823 "op" : "<<",
10824 "left" : {
10825 "type" : "field",
10826 "value" : ["intl4_shim", "len"]
10827 },
10828 "right" : {
10829 "type" : "hexstr",
10830 "value" : "0x2"
10831 }
10832 }
10833 },
10834 "right" : {
10835 "type" : "hexstr",
10836 "value" : "0xff"
10837 }
10838 }
10839 },
10840 "right" : {
10841 "type" : "hexstr",
10842 "value" : "0xffff"
10843 }
10844 }
10845 }
10846 }
10847 },
10848 "right" : {
10849 "type" : "hexstr",
10850 "value" : "0xffff"
10851 }
10852 }
10853 }
10854 }
10855 ],
10856 "source_info" : {
10857 "filename" : "include/int_sink.p4",
10858 "line" : 32,
10859 "column" : 8,
10860 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
10861 }
10862 },
10863 {
10864 "op" : "assign",
10865 "parameters" : [
10866 {
10867 "type" : "field",
10868 "value" : ["udp", "len"]
10869 },
10870 {
10871 "type" : "expression",
10872 "value" : {
10873 "type" : "expression",
10874 "value" : {
10875 "op" : "&",
10876 "left" : {
10877 "type" : "expression",
10878 "value" : {
10879 "op" : "-",
10880 "left" : {
10881 "type" : "field",
10882 "value" : ["udp", "len"]
10883 },
10884 "right" : {
10885 "type" : "expression",
10886 "value" : {
10887 "op" : "&",
10888 "left" : {
10889 "type" : "expression",
10890 "value" : {
10891 "op" : "&",
10892 "left" : {
10893 "type" : "expression",
10894 "value" : {
10895 "op" : "<<",
10896 "left" : {
10897 "type" : "field",
10898 "value" : ["intl4_shim", "len"]
10899 },
10900 "right" : {
10901 "type" : "hexstr",
10902 "value" : "0x2"
10903 }
10904 }
10905 },
10906 "right" : {
10907 "type" : "hexstr",
10908 "value" : "0xff"
10909 }
10910 }
10911 },
10912 "right" : {
10913 "type" : "hexstr",
10914 "value" : "0xffff"
10915 }
10916 }
10917 }
10918 }
10919 },
10920 "right" : {
10921 "type" : "hexstr",
10922 "value" : "0xffff"
10923 }
10924 }
10925 }
10926 }
10927 ],
10928 "source_info" : {
10929 "filename" : "include/int_sink.p4",
10930 "line" : 33,
10931 "column" : 8,
10932 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
10933 }
10934 },
10935 {
10936 "op" : "remove_header",
10937 "parameters" : [
10938 {
10939 "type" : "header",
10940 "value" : "int_header"
10941 }
10942 ],
10943 "source_info" : {
10944 "filename" : "include/int_sink.p4",
10945 "line" : 35,
10946 "column" : 8,
10947 "source_fragment" : "hdr.int_header.setInvalid()"
10948 }
10949 },
10950 {
10951 "op" : "remove_header",
10952 "parameters" : [
10953 {
10954 "type" : "header",
10955 "value" : "int_data"
10956 }
10957 ],
10958 "source_info" : {
10959 "filename" : "include/int_sink.p4",
10960 "line" : 36,
10961 "column" : 8,
10962 "source_fragment" : "hdr.int_data.setInvalid()"
10963 }
10964 },
10965 {
10966 "op" : "remove_header",
10967 "parameters" : [
10968 {
10969 "type" : "header",
10970 "value" : "intl4_shim"
10971 }
10972 ],
10973 "source_info" : {
10974 "filename" : "include/int_sink.p4",
10975 "line" : 37,
10976 "column" : 8,
10977 "source_fragment" : "hdr.intl4_shim.setInvalid()"
10978 }
10979 },
10980 {
10981 "op" : "remove_header",
10982 "parameters" : [
10983 {
10984 "type" : "header",
10985 "value" : "intl4_tail"
10986 }
10987 ],
10988 "source_info" : {
10989 "filename" : "include/int_sink.p4",
10990 "line" : 38,
10991 "column" : 8,
10992 "source_fragment" : "hdr.intl4_tail.setInvalid()"
10993 }
10994 },
10995 {
10996 "op" : "remove_header",
10997 "parameters" : [
10998 {
10999 "type" : "header",
11000 "value" : "int_switch_id"
11001 }
11002 ],
11003 "source_info" : {
11004 "filename" : "include/int_sink.p4",
11005 "line" : 39,
11006 "column" : 8,
11007 "source_fragment" : "hdr.int_switch_id.setInvalid()"
11008 }
11009 },
11010 {
11011 "op" : "remove_header",
11012 "parameters" : [
11013 {
11014 "type" : "header",
11015 "value" : "int_port_ids"
11016 }
11017 ],
11018 "source_info" : {
11019 "filename" : "include/int_sink.p4",
11020 "line" : 40,
11021 "column" : 8,
11022 "source_fragment" : "hdr.int_port_ids.setInvalid()"
11023 }
11024 },
11025 {
11026 "op" : "remove_header",
11027 "parameters" : [
11028 {
11029 "type" : "header",
11030 "value" : "int_hop_latency"
11031 }
11032 ],
11033 "source_info" : {
11034 "filename" : "include/int_sink.p4",
11035 "line" : 41,
11036 "column" : 8,
11037 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
11038 }
11039 },
11040 {
11041 "op" : "remove_header",
11042 "parameters" : [
11043 {
11044 "type" : "header",
11045 "value" : "int_q_occupancy"
11046 }
11047 ],
11048 "source_info" : {
11049 "filename" : "include/int_sink.p4",
11050 "line" : 42,
11051 "column" : 8,
11052 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
11053 }
11054 },
11055 {
11056 "op" : "remove_header",
11057 "parameters" : [
11058 {
11059 "type" : "header",
11060 "value" : "int_ingress_tstamp"
11061 }
11062 ],
11063 "source_info" : {
11064 "filename" : "include/int_sink.p4",
11065 "line" : 43,
11066 "column" : 8,
11067 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
11068 }
11069 },
11070 {
11071 "op" : "remove_header",
11072 "parameters" : [
11073 {
11074 "type" : "header",
11075 "value" : "int_egress_tstamp"
11076 }
11077 ],
11078 "source_info" : {
11079 "filename" : "include/int_sink.p4",
11080 "line" : 44,
11081 "column" : 8,
11082 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
11083 }
11084 },
11085 {
11086 "op" : "remove_header",
11087 "parameters" : [
11088 {
11089 "type" : "header",
11090 "value" : "int_q_congestion"
11091 }
11092 ],
11093 "source_info" : {
11094 "filename" : "include/int_sink.p4",
11095 "line" : 45,
11096 "column" : 8,
11097 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
11098 }
11099 },
11100 {
11101 "op" : "remove_header",
11102 "parameters" : [
11103 {
11104 "type" : "header",
11105 "value" : "int_egress_tx_util"
11106 }
11107 ],
11108 "source_info" : {
11109 "filename" : "include/int_sink.p4",
11110 "line" : 46,
11111 "column" : 8,
11112 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
11113 }
11114 }
11115 ]
11116 },
11117 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011118 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011119 "id" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011120 "runtime_data" : [],
11121 "primitives" : [
11122 {
11123 "op" : "assign",
11124 "parameters" : [
11125 {
11126 "type" : "field",
11127 "value" : ["ethernet", "ether_type"]
11128 },
11129 {
11130 "type" : "field",
11131 "value" : ["vlan_tag", "ether_type"]
11132 }
11133 ],
11134 "source_info" : {
11135 "filename" : "include/control/packetio.p4",
11136 "line" : 38,
11137 "column" : 8,
11138 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11139 }
11140 },
11141 {
11142 "op" : "remove_header",
11143 "parameters" : [
11144 {
11145 "type" : "header",
11146 "value" : "vlan_tag"
11147 }
11148 ],
11149 "source_info" : {
11150 "filename" : "include/control/packetio.p4",
11151 "line" : 39,
11152 "column" : 8,
11153 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11154 }
11155 }
11156 ]
11157 },
11158 {
11159 "name" : "FabricEgress.egress_next.pop_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011160 "id" : 129,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011161 "runtime_data" : [],
11162 "primitives" : [
11163 {
11164 "op" : "assign",
11165 "parameters" : [
11166 {
11167 "type" : "field",
11168 "value" : ["ethernet", "ether_type"]
11169 },
11170 {
11171 "type" : "field",
11172 "value" : ["vlan_tag", "ether_type"]
11173 }
11174 ],
11175 "source_info" : {
11176 "filename" : "include/control/next.p4",
11177 "line" : 253,
11178 "column" : 8,
11179 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11180 }
11181 },
11182 {
11183 "op" : "remove_header",
11184 "parameters" : [
11185 {
11186 "type" : "header",
11187 "value" : "vlan_tag"
11188 }
11189 ],
11190 "source_info" : {
11191 "filename" : "include/control/next.p4",
11192 "line" : 254,
11193 "column" : 8,
11194 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11195 }
11196 }
11197 ]
11198 },
11199 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011200 "name" : "act_31",
11201 "id" : 130,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011202 "runtime_data" : [],
11203 "primitives" : [
11204 {
11205 "op" : "add_header",
11206 "parameters" : [
11207 {
11208 "type" : "header",
11209 "value" : "packet_in"
11210 }
11211 ],
11212 "source_info" : {
11213 "filename" : "include/control/packetio.p4",
11214 "line" : 51,
11215 "column" : 12,
11216 "source_fragment" : "hdr.packet_in.setValid()"
11217 }
11218 },
11219 {
11220 "op" : "assign",
11221 "parameters" : [
11222 {
11223 "type" : "field",
11224 "value" : ["packet_in", "ingress_port"]
11225 },
11226 {
11227 "type" : "field",
11228 "value" : ["standard_metadata", "ingress_port"]
11229 }
11230 ],
11231 "source_info" : {
11232 "filename" : "include/control/packetio.p4",
11233 "line" : 52,
11234 "column" : 12,
11235 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11236 }
11237 }
11238 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011239 }
11240 ],
11241 "pipelines" : [
11242 {
11243 "name" : "ingress",
11244 "id" : 0,
11245 "source_info" : {
11246 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011247 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011248 "column" : 8,
11249 "source_fragment" : "FabricIngress"
11250 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011251 "init_table" : "tbl_act",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011252 "tables" : [
11253 {
11254 "name" : "tbl_act",
11255 "id" : 0,
11256 "key" : [],
11257 "match_type" : "exact",
11258 "type" : "simple",
11259 "max_size" : 1024,
11260 "with_counters" : false,
11261 "support_timeout" : false,
11262 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011263 "action_ids" : [47],
11264 "actions" : ["act_0"],
11265 "base_default_next" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011266 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011267 "act_0" : "node_3"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011268 },
11269 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011270 "action_id" : 47,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011271 "action_const" : true,
11272 "action_data" : [],
11273 "action_entry_const" : true
11274 }
11275 },
11276 {
11277 "name" : "tbl_act_0",
11278 "id" : 1,
11279 "key" : [],
11280 "match_type" : "exact",
11281 "type" : "simple",
11282 "max_size" : 1024,
11283 "with_counters" : false,
11284 "support_timeout" : false,
11285 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011286 "action_ids" : [46],
11287 "actions" : ["act"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011288 "base_default_next" : "node_5",
11289 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011290 "act" : "node_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011291 },
11292 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011293 "action_id" : 46,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011294 "action_const" : true,
11295 "action_data" : [],
11296 "action_entry_const" : true
11297 }
11298 },
11299 {
11300 "name" : "tbl_act_1",
11301 "id" : 2,
11302 "key" : [],
11303 "match_type" : "exact",
11304 "type" : "simple",
11305 "max_size" : 1024,
11306 "with_counters" : false,
11307 "support_timeout" : false,
11308 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011309 "action_ids" : [50],
11310 "actions" : ["act_3"],
11311 "base_default_next" : "node_7",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011312 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011313 "act_3" : "node_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011314 },
11315 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011316 "action_id" : 50,
11317 "action_const" : true,
11318 "action_data" : [],
11319 "action_entry_const" : true
11320 }
11321 },
11322 {
11323 "name" : "tbl_act_2",
11324 "id" : 3,
11325 "key" : [],
11326 "match_type" : "exact",
11327 "type" : "simple",
11328 "max_size" : 1024,
11329 "with_counters" : false,
11330 "support_timeout" : false,
11331 "direct_meters" : null,
11332 "action_ids" : [48],
11333 "actions" : ["act_1"],
11334 "base_default_next" : "node_10",
11335 "next_tables" : {
11336 "act_1" : "node_10"
11337 },
11338 "default_entry" : {
11339 "action_id" : 48,
11340 "action_const" : true,
11341 "action_data" : [],
11342 "action_entry_const" : true
11343 }
11344 },
11345 {
11346 "name" : "tbl_act_3",
11347 "id" : 4,
11348 "key" : [],
11349 "match_type" : "exact",
11350 "type" : "simple",
11351 "max_size" : 1024,
11352 "with_counters" : false,
11353 "support_timeout" : false,
11354 "direct_meters" : null,
11355 "action_ids" : [49],
11356 "actions" : ["act_2"],
11357 "base_default_next" : "node_10",
11358 "next_tables" : {
11359 "act_2" : "node_10"
11360 },
11361 "default_entry" : {
11362 "action_id" : 49,
11363 "action_const" : true,
11364 "action_data" : [],
11365 "action_entry_const" : true
11366 }
11367 },
11368 {
11369 "name" : "tbl_act_4",
11370 "id" : 5,
11371 "key" : [],
11372 "match_type" : "exact",
11373 "type" : "simple",
11374 "max_size" : 1024,
11375 "with_counters" : false,
11376 "support_timeout" : false,
11377 "direct_meters" : null,
11378 "action_ids" : [51],
11379 "actions" : ["act_4"],
11380 "base_default_next" : null,
11381 "next_tables" : {
11382 "act_4" : null
11383 },
11384 "default_entry" : {
11385 "action_id" : 51,
11386 "action_const" : true,
11387 "action_data" : [],
11388 "action_entry_const" : true
11389 }
11390 },
11391 {
11392 "name" : "tbl_act_5",
11393 "id" : 6,
11394 "key" : [],
11395 "match_type" : "exact",
11396 "type" : "simple",
11397 "max_size" : 1024,
11398 "with_counters" : false,
11399 "support_timeout" : false,
11400 "direct_meters" : null,
11401 "action_ids" : [59],
11402 "actions" : ["act_12"],
11403 "base_default_next" : "node_13",
11404 "next_tables" : {
11405 "act_12" : "node_13"
11406 },
11407 "default_entry" : {
11408 "action_id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011409 "action_const" : true,
11410 "action_data" : [],
11411 "action_entry_const" : true
11412 }
11413 },
11414 {
11415 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011416 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011417 "source_info" : {
11418 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011419 "line" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011420 "column" : 10,
11421 "source_fragment" : "s1u_filter_table"
11422 },
11423 "key" : [
11424 {
11425 "match_type" : "exact",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011426 "name" : "gtpu_ipv4.dst_addr",
11427 "target" : ["gtpu_ipv4", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011428 "mask" : null
11429 }
11430 ],
11431 "match_type" : "exact",
11432 "type" : "simple",
11433 "max_size" : 1024,
11434 "with_counters" : false,
11435 "support_timeout" : false,
11436 "direct_meters" : null,
11437 "action_ids" : [1],
11438 "actions" : ["NoAction"],
11439 "base_default_next" : null,
11440 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011441 "__HIT__" : "tbl_act_6",
11442 "__MISS__" : "tbl_act_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011443 },
11444 "default_entry" : {
11445 "action_id" : 1,
11446 "action_const" : false,
11447 "action_data" : [],
11448 "action_entry_const" : false
11449 }
11450 },
11451 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011452 "name" : "tbl_act_6",
11453 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011454 "key" : [],
11455 "match_type" : "exact",
11456 "type" : "simple",
11457 "max_size" : 1024,
11458 "with_counters" : false,
11459 "support_timeout" : false,
11460 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011461 "action_ids" : [52],
11462 "actions" : ["act_5"],
11463 "base_default_next" : "node_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011464 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011465 "act_5" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011466 },
11467 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011468 "action_id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011469 "action_const" : true,
11470 "action_data" : [],
11471 "action_entry_const" : true
11472 }
11473 },
11474 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011475 "name" : "tbl_act_7",
11476 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011477 "key" : [],
11478 "match_type" : "exact",
11479 "type" : "simple",
11480 "max_size" : 1024,
11481 "with_counters" : false,
11482 "support_timeout" : false,
11483 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011484 "action_ids" : [53],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011485 "actions" : ["act_6"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011486 "base_default_next" : "node_17",
11487 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011488 "act_6" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011489 },
11490 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011491 "action_id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011492 "action_const" : true,
11493 "action_data" : [],
11494 "action_entry_const" : true
11495 }
11496 },
11497 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011498 "name" : "tbl_drop_now",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011499 "id" : 10,
11500 "key" : [],
11501 "match_type" : "exact",
11502 "type" : "simple",
11503 "max_size" : 1024,
11504 "with_counters" : false,
11505 "support_timeout" : false,
11506 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011507 "action_ids" : [14],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011508 "actions" : ["drop_now"],
11509 "base_default_next" : "tbl_act_8",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011510 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011511 "drop_now" : "tbl_act_8"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011512 },
11513 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011514 "action_id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011515 "action_const" : true,
11516 "action_data" : [],
11517 "action_entry_const" : true
11518 }
11519 },
11520 {
11521 "name" : "tbl_act_8",
11522 "id" : 11,
11523 "key" : [],
11524 "match_type" : "exact",
11525 "type" : "simple",
11526 "max_size" : 1024,
11527 "with_counters" : false,
11528 "support_timeout" : false,
11529 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011530 "action_ids" : [54],
11531 "actions" : ["act_7"],
11532 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011533 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011534 "act_7" : "tbl_spgw_ingress_gtpu_decap"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011535 },
11536 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011537 "action_id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011538 "action_const" : true,
11539 "action_data" : [],
11540 "action_entry_const" : true
11541 }
11542 },
11543 {
11544 "name" : "tbl_spgw_ingress_gtpu_decap",
11545 "id" : 12,
11546 "key" : [],
11547 "match_type" : "exact",
11548 "type" : "simple",
11549 "max_size" : 1024,
11550 "with_counters" : false,
11551 "support_timeout" : false,
11552 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011553 "action_ids" : [15],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011554 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011555 "base_default_next" : "node_27",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011556 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011557 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011558 },
11559 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011560 "action_id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011561 "action_const" : true,
11562 "action_data" : [],
11563 "action_entry_const" : true
11564 }
11565 },
11566 {
11567 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
11568 "id" : 13,
11569 "source_info" : {
11570 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011571 "line" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011572 "column" : 10,
11573 "source_fragment" : "dl_sess_lookup"
11574 },
11575 "key" : [
11576 {
11577 "match_type" : "exact",
11578 "name" : "ipv4.dst_addr",
11579 "target" : ["ipv4", "dst_addr"],
11580 "mask" : null
11581 }
11582 ],
11583 "match_type" : "exact",
11584 "type" : "simple",
11585 "max_size" : 1024,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011586 "with_counters" : true,
11587 "support_timeout" : false,
11588 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011589 "action_ids" : [16, 0],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011590 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
11591 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011592 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011593 "__HIT__" : "tbl_act_9",
11594 "__MISS__" : "tbl_act_10"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011595 },
11596 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011597 "action_id" : 0,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011598 "action_const" : false,
11599 "action_data" : [],
11600 "action_entry_const" : false
11601 }
11602 },
11603 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011604 "name" : "tbl_act_9",
11605 "id" : 14,
11606 "key" : [],
11607 "match_type" : "exact",
11608 "type" : "simple",
11609 "max_size" : 1024,
11610 "with_counters" : false,
11611 "support_timeout" : false,
11612 "direct_meters" : null,
11613 "action_ids" : [55],
11614 "actions" : ["act_8"],
11615 "base_default_next" : "node_24",
11616 "next_tables" : {
11617 "act_8" : "node_24"
11618 },
11619 "default_entry" : {
11620 "action_id" : 55,
11621 "action_const" : true,
11622 "action_data" : [],
11623 "action_entry_const" : true
11624 }
11625 },
11626 {
11627 "name" : "tbl_act_10",
11628 "id" : 15,
11629 "key" : [],
11630 "match_type" : "exact",
11631 "type" : "simple",
11632 "max_size" : 1024,
11633 "with_counters" : false,
11634 "support_timeout" : false,
11635 "direct_meters" : null,
11636 "action_ids" : [56],
11637 "actions" : ["act_9"],
11638 "base_default_next" : "node_24",
11639 "next_tables" : {
11640 "act_9" : "node_24"
11641 },
11642 "default_entry" : {
11643 "action_id" : 56,
11644 "action_const" : true,
11645 "action_data" : [],
11646 "action_entry_const" : true
11647 }
11648 },
11649 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011650 "name" : "tbl_act_11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011651 "id" : 16,
11652 "key" : [],
11653 "match_type" : "exact",
11654 "type" : "simple",
11655 "max_size" : 1024,
11656 "with_counters" : false,
11657 "support_timeout" : false,
11658 "direct_meters" : null,
11659 "action_ids" : [57],
11660 "actions" : ["act_10"],
11661 "base_default_next" : "node_27",
11662 "next_tables" : {
11663 "act_10" : "node_27"
11664 },
11665 "default_entry" : {
11666 "action_id" : 57,
11667 "action_const" : true,
11668 "action_data" : [],
11669 "action_entry_const" : true
11670 }
11671 },
11672 {
11673 "name" : "tbl_act_12",
11674 "id" : 17,
11675 "key" : [],
11676 "match_type" : "exact",
11677 "type" : "simple",
11678 "max_size" : 1024,
11679 "with_counters" : false,
11680 "support_timeout" : false,
11681 "direct_meters" : null,
11682 "action_ids" : [58],
11683 "actions" : ["act_11"],
11684 "base_default_next" : "node_27",
11685 "next_tables" : {
11686 "act_11" : "node_27"
11687 },
11688 "default_entry" : {
11689 "action_id" : 58,
11690 "action_const" : true,
11691 "action_data" : [],
11692 "action_entry_const" : true
11693 }
11694 },
11695 {
11696 "name" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011697 "id" : 18,
11698 "key" : [],
11699 "match_type" : "exact",
11700 "type" : "simple",
11701 "max_size" : 1024,
11702 "with_counters" : false,
11703 "support_timeout" : false,
11704 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011705 "action_ids" : [60],
11706 "actions" : ["act_13"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011707 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
11708 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011709 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011710 },
11711 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011712 "action_id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011713 "action_const" : true,
11714 "action_data" : [],
11715 "action_entry_const" : true
11716 }
11717 },
11718 {
11719 "name" : "FabricIngress.filtering.ingress_port_vlan",
11720 "id" : 19,
11721 "source_info" : {
11722 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011723 "line" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011724 "column" : 10,
11725 "source_fragment" : "ingress_port_vlan"
11726 },
11727 "key" : [
11728 {
11729 "match_type" : "exact",
11730 "name" : "standard_metadata.ingress_port",
11731 "target" : ["standard_metadata", "ingress_port"],
11732 "mask" : null
11733 },
11734 {
11735 "match_type" : "exact",
11736 "name" : "hdr.vlan_tag.is_valid",
11737 "target" : ["vlan_tag", "$valid$"],
11738 "mask" : null
11739 },
11740 {
11741 "match_type" : "ternary",
11742 "name" : "hdr.vlan_tag.vlan_id",
11743 "target" : ["vlan_tag", "vlan_id"],
11744 "mask" : null
11745 }
11746 ],
11747 "match_type" : "ternary",
11748 "type" : "simple",
11749 "max_size" : 1024,
11750 "with_counters" : true,
11751 "support_timeout" : false,
11752 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011753 "action_ids" : [21, 20, 19, 22],
11754 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
11755 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011756 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011757 "__HIT__" : "tbl_act_14",
11758 "__MISS__" : "tbl_act_15"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011759 },
11760 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011761 "action_id" : 21,
11762 "action_const" : true,
11763 "action_data" : ["0xffe"],
11764 "action_entry_const" : true
11765 }
11766 },
11767 {
11768 "name" : "tbl_act_14",
11769 "id" : 20,
11770 "key" : [],
11771 "match_type" : "exact",
11772 "type" : "simple",
11773 "max_size" : 1024,
11774 "with_counters" : false,
11775 "support_timeout" : false,
11776 "direct_meters" : null,
11777 "action_ids" : [61],
11778 "actions" : ["act_14"],
11779 "base_default_next" : "node_32",
11780 "next_tables" : {
11781 "act_14" : "node_32"
11782 },
11783 "default_entry" : {
11784 "action_id" : 61,
11785 "action_const" : true,
11786 "action_data" : [],
11787 "action_entry_const" : true
11788 }
11789 },
11790 {
11791 "name" : "tbl_act_15",
11792 "id" : 21,
11793 "key" : [],
11794 "match_type" : "exact",
11795 "type" : "simple",
11796 "max_size" : 1024,
11797 "with_counters" : false,
11798 "support_timeout" : false,
11799 "direct_meters" : null,
11800 "action_ids" : [62],
11801 "actions" : ["act_15"],
11802 "base_default_next" : "node_32",
11803 "next_tables" : {
11804 "act_15" : "node_32"
11805 },
11806 "default_entry" : {
11807 "action_id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011808 "action_const" : true,
11809 "action_data" : [],
11810 "action_entry_const" : true
11811 }
11812 },
11813 {
11814 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011815 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011816 "source_info" : {
11817 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011818 "line" : 103,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011819 "column" : 10,
11820 "source_fragment" : "fwd_classifier"
11821 },
11822 "key" : [
11823 {
11824 "match_type" : "exact",
11825 "name" : "standard_metadata.ingress_port",
11826 "target" : ["standard_metadata", "ingress_port"],
11827 "mask" : null
11828 },
11829 {
11830 "match_type" : "exact",
11831 "name" : "hdr.ethernet.dst_addr",
11832 "target" : ["ethernet", "dst_addr"],
11833 "mask" : null
11834 },
11835 {
11836 "match_type" : "exact",
Yi Tseng8235a1a2018-07-24 20:57:28 +080011837 "name" : "hdr.vlan_tag.ether_type",
11838 "target" : ["vlan_tag", "ether_type"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011839 "mask" : null
11840 }
11841 ],
11842 "match_type" : "exact",
11843 "type" : "simple",
11844 "max_size" : 1024,
11845 "with_counters" : true,
11846 "support_timeout" : false,
11847 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011848 "action_ids" : [23],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011849 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011850 "base_default_next" : "node_35",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011851 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011852 "FabricIngress.filtering.set_forwarding_type" : "node_35"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011853 },
11854 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -070011855 "action_id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011856 "action_const" : true,
11857 "action_data" : ["0x0"],
11858 "action_entry_const" : true
11859 }
11860 },
11861 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011862 "name" : "tbl_act_16",
11863 "id" : 23,
11864 "key" : [],
11865 "match_type" : "exact",
11866 "type" : "simple",
11867 "max_size" : 1024,
11868 "with_counters" : false,
11869 "support_timeout" : false,
11870 "direct_meters" : null,
11871 "action_ids" : [63],
11872 "actions" : ["act_16"],
11873 "base_default_next" : "node_35",
11874 "next_tables" : {
11875 "act_16" : "node_35"
11876 },
11877 "default_entry" : {
11878 "action_id" : 63,
11879 "action_const" : true,
11880 "action_data" : [],
11881 "action_entry_const" : true
11882 }
11883 },
11884 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011885 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011886 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011887 "source_info" : {
11888 "filename" : "include/control/forwarding.p4",
11889 "line" : 41,
11890 "column" : 10,
11891 "source_fragment" : "bridging"
11892 },
11893 "key" : [
11894 {
11895 "match_type" : "exact",
11896 "name" : "hdr.vlan_tag.vlan_id",
11897 "target" : ["vlan_tag", "vlan_id"],
11898 "mask" : null
11899 },
11900 {
11901 "match_type" : "ternary",
11902 "name" : "hdr.ethernet.dst_addr",
11903 "target" : ["ethernet", "dst_addr"],
11904 "mask" : null
11905 }
11906 ],
11907 "match_type" : "ternary",
11908 "type" : "simple",
11909 "max_size" : 1024,
11910 "with_counters" : true,
11911 "support_timeout" : false,
11912 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011913 "action_ids" : [24, 4],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011914 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
11915 "base_default_next" : "FabricIngress.forwarding.acl",
11916 "next_tables" : {
11917 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
11918 "NoAction" : "FabricIngress.forwarding.acl"
11919 },
11920 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011921 "action_id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011922 "action_const" : false,
11923 "action_data" : [],
11924 "action_entry_const" : false
11925 }
11926 },
11927 {
11928 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011929 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011930 "source_info" : {
11931 "filename" : "include/control/forwarding.p4",
11932 "line" : 65,
11933 "column" : 10,
11934 "source_fragment" : "mpls"
11935 },
11936 "key" : [
11937 {
11938 "match_type" : "exact",
11939 "name" : "hdr.mpls.label",
11940 "target" : ["mpls", "label"],
11941 "mask" : null
11942 }
11943 ],
11944 "match_type" : "exact",
11945 "type" : "simple",
11946 "max_size" : 1024,
11947 "with_counters" : true,
11948 "support_timeout" : false,
11949 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011950 "action_ids" : [25, 5],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011951 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011952 "base_default_next" : "tbl_act_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011953 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011954 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_17",
11955 "NoAction" : "tbl_act_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011956 },
11957 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011958 "action_id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011959 "action_const" : false,
11960 "action_data" : [],
11961 "action_entry_const" : false
11962 }
11963 },
11964 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011965 "name" : "tbl_act_17",
11966 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011967 "key" : [],
11968 "match_type" : "exact",
11969 "type" : "simple",
11970 "max_size" : 1024,
11971 "with_counters" : false,
11972 "support_timeout" : false,
11973 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011974 "action_ids" : [64],
11975 "actions" : ["act_17"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011976 "base_default_next" : "FabricIngress.forwarding.acl",
11977 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011978 "act_17" : "FabricIngress.forwarding.acl"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011979 },
11980 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011981 "action_id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011982 "action_const" : true,
11983 "action_data" : [],
11984 "action_entry_const" : true
11985 }
11986 },
11987 {
11988 "name" : "FabricIngress.forwarding.unicast_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011989 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011990 "source_info" : {
11991 "filename" : "include/control/forwarding.p4",
11992 "line" : 87,
11993 "column" : 10,
11994 "source_fragment" : "unicast_v4"
11995 },
11996 "key" : [
11997 {
11998 "match_type" : "lpm",
11999 "name" : "hdr.ipv4.dst_addr",
12000 "target" : ["ipv4", "dst_addr"],
12001 "mask" : null
12002 }
12003 ],
12004 "match_type" : "lpm",
12005 "type" : "simple",
12006 "max_size" : 1024,
12007 "with_counters" : true,
12008 "support_timeout" : false,
12009 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070012010 "action_ids" : [26, 6],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012011 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v4", "NoAction"],
12012 "base_default_next" : "FabricIngress.forwarding.acl",
12013 "next_tables" : {
12014 "FabricIngress.forwarding.set_next_id_unicast_v4" : "FabricIngress.forwarding.acl",
12015 "NoAction" : "FabricIngress.forwarding.acl"
12016 },
12017 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012018 "action_id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012019 "action_const" : false,
12020 "action_data" : [],
12021 "action_entry_const" : false
12022 }
12023 },
12024 {
12025 "name" : "FabricIngress.forwarding.multicast_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012026 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012027 "source_info" : {
12028 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012029 "line" : 172,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012030 "column" : 10,
12031 "source_fragment" : "multicast_v4"
12032 },
12033 "key" : [
12034 {
12035 "match_type" : "exact",
12036 "name" : "hdr.vlan_tag.vlan_id",
12037 "target" : ["vlan_tag", "vlan_id"],
12038 "mask" : null
12039 },
12040 {
12041 "match_type" : "lpm",
12042 "name" : "hdr.ipv4.dst_addr",
12043 "target" : ["ipv4", "dst_addr"],
12044 "mask" : null
12045 }
12046 ],
12047 "match_type" : "lpm",
12048 "type" : "simple",
12049 "max_size" : 1024,
12050 "with_counters" : true,
12051 "support_timeout" : false,
12052 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012053 "action_ids" : [32, 7],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012054 "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v4", "NoAction"],
12055 "base_default_next" : "FabricIngress.forwarding.acl",
12056 "next_tables" : {
12057 "FabricIngress.forwarding.set_next_id_multicast_v4" : "FabricIngress.forwarding.acl",
12058 "NoAction" : "FabricIngress.forwarding.acl"
12059 },
12060 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012061 "action_id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012062 "action_const" : false,
12063 "action_data" : [],
12064 "action_entry_const" : false
12065 }
12066 },
12067 {
12068 "name" : "FabricIngress.forwarding.unicast_v6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012069 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012070 "source_info" : {
12071 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012072 "line" : 197,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012073 "column" : 10,
12074 "source_fragment" : "unicast_v6"
12075 },
12076 "key" : [
12077 {
12078 "match_type" : "lpm",
12079 "name" : "hdr.ipv6.dst_addr",
12080 "target" : ["ipv6", "dst_addr"],
12081 "mask" : null
12082 }
12083 ],
12084 "match_type" : "lpm",
12085 "type" : "simple",
12086 "max_size" : 1024,
12087 "with_counters" : true,
12088 "support_timeout" : false,
12089 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012090 "action_ids" : [33, 8],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012091 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v6", "NoAction"],
12092 "base_default_next" : "FabricIngress.forwarding.acl",
12093 "next_tables" : {
12094 "FabricIngress.forwarding.set_next_id_unicast_v6" : "FabricIngress.forwarding.acl",
12095 "NoAction" : "FabricIngress.forwarding.acl"
12096 },
12097 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012098 "action_id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012099 "action_const" : false,
12100 "action_data" : [],
12101 "action_entry_const" : false
12102 }
12103 },
12104 {
12105 "name" : "FabricIngress.forwarding.multicast_v6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012106 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012107 "source_info" : {
12108 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012109 "line" : 220,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012110 "column" : 10,
12111 "source_fragment" : "multicast_v6"
12112 },
12113 "key" : [
12114 {
12115 "match_type" : "exact",
12116 "name" : "hdr.vlan_tag.vlan_id",
12117 "target" : ["vlan_tag", "vlan_id"],
12118 "mask" : null
12119 },
12120 {
12121 "match_type" : "lpm",
12122 "name" : "hdr.ipv6.dst_addr",
12123 "target" : ["ipv6", "dst_addr"],
12124 "mask" : null
12125 }
12126 ],
12127 "match_type" : "lpm",
12128 "type" : "simple",
12129 "max_size" : 1024,
12130 "with_counters" : true,
12131 "support_timeout" : false,
12132 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012133 "action_ids" : [34, 9],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012134 "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v6", "NoAction"],
12135 "base_default_next" : "FabricIngress.forwarding.acl",
12136 "next_tables" : {
12137 "FabricIngress.forwarding.set_next_id_multicast_v6" : "FabricIngress.forwarding.acl",
12138 "NoAction" : "FabricIngress.forwarding.acl"
12139 },
12140 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012141 "action_id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012142 "action_const" : false,
12143 "action_data" : [],
12144 "action_entry_const" : false
12145 }
12146 },
12147 {
12148 "name" : "FabricIngress.forwarding.acl",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012149 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012150 "source_info" : {
12151 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012152 "line" : 131,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012153 "column" : 10,
12154 "source_fragment" : "acl"
12155 },
12156 "key" : [
12157 {
12158 "match_type" : "ternary",
12159 "name" : "standard_metadata.ingress_port",
12160 "target" : ["standard_metadata", "ingress_port"],
12161 "mask" : null
12162 },
12163 {
12164 "match_type" : "ternary",
12165 "name" : "fabric_metadata.ip_proto",
12166 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
12167 "mask" : null
12168 },
12169 {
12170 "match_type" : "ternary",
12171 "name" : "fabric_metadata.l4_src_port",
12172 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
12173 "mask" : null
12174 },
12175 {
12176 "match_type" : "ternary",
12177 "name" : "fabric_metadata.l4_dst_port",
12178 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12179 "mask" : null
12180 },
12181 {
12182 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012183 "name" : "hdr.ethernet.dst_addr",
12184 "target" : ["ethernet", "dst_addr"],
12185 "mask" : null
12186 },
12187 {
12188 "match_type" : "ternary",
12189 "name" : "hdr.ethernet.src_addr",
12190 "target" : ["ethernet", "src_addr"],
12191 "mask" : null
12192 },
12193 {
12194 "match_type" : "ternary",
12195 "name" : "hdr.vlan_tag.vlan_id",
12196 "target" : ["vlan_tag", "vlan_id"],
12197 "mask" : null
12198 },
12199 {
12200 "match_type" : "ternary",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012201 "name" : "hdr.vlan_tag.ether_type",
12202 "target" : ["vlan_tag", "ether_type"],
12203 "mask" : null
12204 },
12205 {
12206 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012207 "name" : "hdr.ipv4.src_addr",
12208 "target" : ["ipv4", "src_addr"],
12209 "mask" : null
12210 },
12211 {
12212 "match_type" : "ternary",
12213 "name" : "hdr.ipv4.dst_addr",
12214 "target" : ["ipv4", "dst_addr"],
12215 "mask" : null
12216 },
12217 {
12218 "match_type" : "ternary",
12219 "name" : "hdr.icmp.icmp_type",
12220 "target" : ["icmp", "icmp_type"],
12221 "mask" : null
12222 },
12223 {
12224 "match_type" : "ternary",
12225 "name" : "hdr.icmp.icmp_code",
12226 "target" : ["icmp", "icmp_code"],
12227 "mask" : null
12228 }
12229 ],
12230 "match_type" : "ternary",
12231 "type" : "simple",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012232 "max_size" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012233 "with_counters" : true,
12234 "support_timeout" : false,
12235 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070012236 "action_ids" : [27, 28, 29, 30, 31],
12237 "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 -070012238 "base_default_next" : "tbl_act_18",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012239 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012240 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_18",
12241 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_18",
12242 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_18",
12243 "FabricIngress.forwarding.drop" : "tbl_act_18",
12244 "FabricIngress.forwarding.nop_acl" : "tbl_act_18"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012245 },
12246 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -070012247 "action_id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012248 "action_const" : true,
12249 "action_data" : [],
12250 "action_entry_const" : true
12251 }
12252 },
12253 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012254 "name" : "tbl_act_18",
12255 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012256 "key" : [],
12257 "match_type" : "exact",
12258 "type" : "simple",
12259 "max_size" : 1024,
12260 "with_counters" : false,
12261 "support_timeout" : false,
12262 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012263 "action_ids" : [65],
12264 "actions" : ["act_18"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012265 "base_default_next" : "FabricIngress.next.vlan_meta",
12266 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012267 "act_18" : "FabricIngress.next.vlan_meta"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012268 },
12269 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012270 "action_id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012271 "action_const" : true,
12272 "action_data" : [],
12273 "action_entry_const" : true
12274 }
12275 },
12276 {
12277 "name" : "FabricIngress.next.vlan_meta",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012278 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012279 "source_info" : {
12280 "filename" : "include/control/next.p4",
12281 "line" : 65,
12282 "column" : 10,
12283 "source_fragment" : "vlan_meta"
12284 },
12285 "key" : [
12286 {
12287 "match_type" : "exact",
12288 "name" : "fabric_metadata.next_id",
12289 "target" : ["scalars", "fabric_metadata_t.next_id"],
12290 "mask" : null
12291 }
12292 ],
12293 "match_type" : "exact",
12294 "type" : "simple",
12295 "max_size" : 1024,
12296 "with_counters" : true,
12297 "support_timeout" : false,
12298 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012299 "action_ids" : [35, 13],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012300 "actions" : ["FabricIngress.next.set_vlan", "nop"],
12301 "base_default_next" : "FabricIngress.next.simple",
12302 "next_tables" : {
12303 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
12304 "nop" : "FabricIngress.next.simple"
12305 },
12306 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012307 "action_id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012308 "action_const" : false,
12309 "action_data" : [],
12310 "action_entry_const" : false
12311 }
12312 },
12313 {
12314 "name" : "FabricIngress.next.simple",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012315 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012316 "source_info" : {
12317 "filename" : "include/control/next.p4",
12318 "line" : 122,
12319 "column" : 10,
12320 "source_fragment" : "simple"
12321 },
12322 "key" : [
12323 {
12324 "match_type" : "exact",
12325 "name" : "fabric_metadata.next_id",
12326 "target" : ["scalars", "fabric_metadata_t.next_id"],
12327 "mask" : null
12328 }
12329 ],
12330 "match_type" : "exact",
12331 "type" : "simple",
12332 "max_size" : 1024,
12333 "with_counters" : true,
12334 "support_timeout" : false,
12335 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012336 "action_ids" : [36, 37, 38, 39, 40, 41, 10],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012337 "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"],
12338 "base_default_next" : null,
12339 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012340 "__HIT__" : "tbl_act_19",
12341 "__MISS__" : "tbl_act_20"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012342 },
12343 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012344 "action_id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012345 "action_const" : false,
12346 "action_data" : [],
12347 "action_entry_const" : false
12348 }
12349 },
12350 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012351 "name" : "tbl_act_19",
12352 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012353 "key" : [],
12354 "match_type" : "exact",
12355 "type" : "simple",
12356 "max_size" : 1024,
12357 "with_counters" : false,
12358 "support_timeout" : false,
12359 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012360 "action_ids" : [66],
12361 "actions" : ["act_19"],
12362 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012363 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012364 "act_19" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012365 },
12366 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012367 "action_id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012368 "action_const" : true,
12369 "action_data" : [],
12370 "action_entry_const" : true
12371 }
12372 },
12373 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012374 "name" : "tbl_act_20",
12375 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012376 "key" : [],
12377 "match_type" : "exact",
12378 "type" : "simple",
12379 "max_size" : 1024,
12380 "with_counters" : false,
12381 "support_timeout" : false,
12382 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012383 "action_ids" : [67],
12384 "actions" : ["act_20"],
12385 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012386 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012387 "act_20" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012388 },
12389 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012390 "action_id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012391 "action_const" : true,
12392 "action_data" : [],
12393 "action_entry_const" : true
12394 }
12395 },
12396 {
12397 "name" : "FabricIngress.next.hashed",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012398 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012399 "source_info" : {
12400 "filename" : "include/control/next.p4",
12401 "line" : 175,
12402 "column" : 10,
12403 "source_fragment" : "hashed"
12404 },
12405 "key" : [
12406 {
12407 "match_type" : "exact",
12408 "name" : "fabric_metadata.next_id",
12409 "target" : ["scalars", "fabric_metadata_t.next_id"],
12410 "mask" : null
12411 }
12412 ],
12413 "match_type" : "exact",
12414 "type" : "indirect_ws",
12415 "action_profile" : "FabricIngress.next.ecmp_selector",
12416 "max_size" : 1024,
12417 "with_counters" : true,
12418 "support_timeout" : false,
12419 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012420 "action_ids" : [42, 43, 44, 11],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012421 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
12422 "base_default_next" : null,
12423 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012424 "__HIT__" : "tbl_act_21",
12425 "__MISS__" : "tbl_act_22"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012426 }
12427 },
12428 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012429 "name" : "tbl_act_21",
12430 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012431 "key" : [],
12432 "match_type" : "exact",
12433 "type" : "simple",
12434 "max_size" : 1024,
12435 "with_counters" : false,
12436 "support_timeout" : false,
12437 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012438 "action_ids" : [68],
12439 "actions" : ["act_21"],
12440 "base_default_next" : "node_58",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012441 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012442 "act_21" : "node_58"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012443 },
12444 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012445 "action_id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012446 "action_const" : true,
12447 "action_data" : [],
12448 "action_entry_const" : true
12449 }
12450 },
12451 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012452 "name" : "tbl_act_22",
12453 "id" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012454 "key" : [],
12455 "match_type" : "exact",
12456 "type" : "simple",
12457 "max_size" : 1024,
12458 "with_counters" : false,
12459 "support_timeout" : false,
12460 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012461 "action_ids" : [69],
12462 "actions" : ["act_22"],
12463 "base_default_next" : "node_58",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012464 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012465 "act_22" : "node_58"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012466 },
12467 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012468 "action_id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012469 "action_const" : true,
12470 "action_data" : [],
12471 "action_entry_const" : true
12472 }
12473 },
12474 {
12475 "name" : "FabricIngress.next.multicast",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012476 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012477 "source_info" : {
12478 "filename" : "include/control/next.p4",
12479 "line" : 207,
12480 "column" : 10,
12481 "source_fragment" : "multicast"
12482 },
12483 "key" : [
12484 {
12485 "match_type" : "exact",
12486 "name" : "fabric_metadata.next_id",
12487 "target" : ["scalars", "fabric_metadata_t.next_id"],
12488 "mask" : null
12489 }
12490 ],
12491 "match_type" : "exact",
12492 "type" : "simple",
12493 "max_size" : 1024,
12494 "with_counters" : true,
12495 "support_timeout" : false,
12496 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012497 "action_ids" : [45, 12],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012498 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
12499 "base_default_next" : null,
12500 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012501 "__HIT__" : "tbl_act_23",
12502 "__MISS__" : "tbl_act_24"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012503 },
12504 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012505 "action_id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012506 "action_const" : false,
12507 "action_data" : [],
12508 "action_entry_const" : false
12509 }
12510 },
12511 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012512 "name" : "tbl_act_23",
12513 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012514 "key" : [],
12515 "match_type" : "exact",
12516 "type" : "simple",
12517 "max_size" : 1024,
12518 "with_counters" : false,
12519 "support_timeout" : false,
12520 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012521 "action_ids" : [70],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012522 "actions" : ["act_23"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012523 "base_default_next" : "node_62",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012524 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012525 "act_23" : "node_62"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012526 },
12527 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012528 "action_id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012529 "action_const" : true,
12530 "action_data" : [],
12531 "action_entry_const" : true
12532 }
12533 },
12534 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012535 "name" : "tbl_act_24",
12536 "id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012537 "key" : [],
12538 "match_type" : "exact",
12539 "type" : "simple",
12540 "max_size" : 1024,
12541 "with_counters" : false,
12542 "support_timeout" : false,
12543 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012544 "action_ids" : [71],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012545 "actions" : ["act_24"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012546 "base_default_next" : "node_62",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012547 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012548 "act_24" : "node_62"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012549 },
12550 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012551 "action_id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012552 "action_const" : true,
12553 "action_data" : [],
12554 "action_entry_const" : true
12555 }
12556 },
12557 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012558 "name" : "tbl_act_25",
12559 "id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012560 "key" : [],
12561 "match_type" : "exact",
12562 "type" : "simple",
12563 "max_size" : 1024,
12564 "with_counters" : false,
12565 "support_timeout" : false,
12566 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012567 "action_ids" : [72],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012568 "actions" : ["act_25"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012569 "base_default_next" : "node_64",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012570 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012571 "act_25" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012572 },
12573 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012574 "action_id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012575 "action_const" : true,
12576 "action_data" : [],
12577 "action_entry_const" : true
12578 }
12579 },
12580 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012581 "name" : "tbl_act_26",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012582 "id" : 44,
12583 "key" : [],
12584 "match_type" : "exact",
12585 "type" : "simple",
12586 "max_size" : 1024,
12587 "with_counters" : false,
12588 "support_timeout" : false,
12589 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012590 "action_ids" : [73],
12591 "actions" : ["act_26"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012592 "base_default_next" : "node_70",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012593 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012594 "act_26" : "node_70"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012595 },
12596 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012597 "action_id" : 73,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012598 "action_const" : true,
12599 "action_data" : [],
12600 "action_entry_const" : true
12601 }
12602 },
12603 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012604 "name" : "tbl_act_27",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012605 "id" : 45,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012606 "key" : [],
12607 "match_type" : "exact",
12608 "type" : "simple",
12609 "max_size" : 1024,
12610 "with_counters" : false,
12611 "support_timeout" : false,
12612 "direct_meters" : null,
12613 "action_ids" : [74],
12614 "actions" : ["act_27"],
12615 "base_default_next" : "node_70",
12616 "next_tables" : {
12617 "act_27" : "node_70"
12618 },
12619 "default_entry" : {
12620 "action_id" : 74,
12621 "action_const" : true,
12622 "action_data" : [],
12623 "action_entry_const" : true
12624 }
12625 },
12626 {
12627 "name" : "tbl_act_28",
12628 "id" : 46,
12629 "key" : [],
12630 "match_type" : "exact",
12631 "type" : "simple",
12632 "max_size" : 1024,
12633 "with_counters" : false,
12634 "support_timeout" : false,
12635 "direct_meters" : null,
12636 "action_ids" : [75],
12637 "actions" : ["act_28"],
12638 "base_default_next" : "node_72",
12639 "next_tables" : {
12640 "act_28" : "node_72"
12641 },
12642 "default_entry" : {
12643 "action_id" : 75,
12644 "action_const" : true,
12645 "action_data" : [],
12646 "action_entry_const" : true
12647 }
12648 },
12649 {
12650 "name" : "tbl_act_29",
12651 "id" : 47,
12652 "key" : [],
12653 "match_type" : "exact",
12654 "type" : "simple",
12655 "max_size" : 1024,
12656 "with_counters" : false,
12657 "support_timeout" : false,
12658 "direct_meters" : null,
12659 "action_ids" : [76],
12660 "actions" : ["act_29"],
12661 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
12662 "next_tables" : {
12663 "act_29" : "FabricIngress.process_set_source_sink.tb_set_source"
12664 },
12665 "default_entry" : {
12666 "action_id" : 76,
12667 "action_const" : true,
12668 "action_data" : [],
12669 "action_entry_const" : true
12670 }
12671 },
12672 {
12673 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
12674 "id" : 48,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012675 "source_info" : {
12676 "filename" : "include/int_source.p4",
12677 "line" : 101,
12678 "column" : 10,
12679 "source_fragment" : "tb_set_source"
12680 },
12681 "key" : [
12682 {
12683 "match_type" : "exact",
12684 "name" : "standard_metadata.ingress_port",
12685 "target" : ["standard_metadata", "ingress_port"],
12686 "mask" : null
12687 }
12688 ],
12689 "match_type" : "exact",
12690 "type" : "simple",
12691 "max_size" : 256,
12692 "with_counters" : true,
12693 "support_timeout" : false,
12694 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012695 "action_ids" : [17, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012696 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
12697 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
12698 "next_tables" : {
12699 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
12700 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
12701 },
12702 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012703 "action_id" : 2,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012704 "action_const" : false,
12705 "action_data" : [],
12706 "action_entry_const" : false
12707 }
12708 },
12709 {
12710 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012711 "id" : 49,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012712 "source_info" : {
12713 "filename" : "include/int_source.p4",
12714 "line" : 111,
12715 "column" : 10,
12716 "source_fragment" : "tb_set_sink"
12717 },
12718 "key" : [
12719 {
12720 "match_type" : "exact",
12721 "name" : "standard_metadata.egress_spec",
12722 "target" : ["standard_metadata", "egress_spec"],
12723 "mask" : null
12724 }
12725 ],
12726 "match_type" : "exact",
12727 "type" : "simple",
12728 "max_size" : 256,
12729 "with_counters" : true,
12730 "support_timeout" : false,
12731 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012732 "action_ids" : [18, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012733 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012734 "base_default_next" : "node_76",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012735 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012736 "FabricIngress.process_set_source_sink.int_set_sink" : "node_76",
12737 "NoAction" : "node_76"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012738 },
12739 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012740 "action_id" : 3,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012741 "action_const" : false,
12742 "action_data" : [],
12743 "action_entry_const" : false
12744 }
12745 },
12746 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012747 "name" : "tbl_act_30",
12748 "id" : 50,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012749 "key" : [],
12750 "match_type" : "exact",
12751 "type" : "simple",
12752 "max_size" : 1024,
12753 "with_counters" : false,
12754 "support_timeout" : false,
12755 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012756 "action_ids" : [77],
12757 "actions" : ["act_30"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012758 "base_default_next" : null,
12759 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012760 "act_30" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012761 },
12762 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012763 "action_id" : 77,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012764 "action_const" : true,
12765 "action_data" : [],
12766 "action_entry_const" : true
12767 }
12768 }
12769 ],
12770 "action_profiles" : [
12771 {
12772 "name" : "FabricIngress.next.ecmp_selector",
12773 "id" : 0,
12774 "max_size" : 64,
12775 "selector" : {
12776 "algo" : "crc16",
12777 "input" : [
12778 {
12779 "type" : "field",
12780 "value" : ["ipv4", "dst_addr"]
12781 },
12782 {
12783 "type" : "field",
12784 "value" : ["ipv4", "src_addr"]
12785 },
12786 {
12787 "type" : "field",
12788 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
12789 },
12790 {
12791 "type" : "field",
12792 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
12793 },
12794 {
12795 "type" : "field",
12796 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
12797 }
12798 ]
12799 }
12800 }
12801 ],
12802 "conditionals" : [
12803 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012804 "name" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012805 "id" : 0,
12806 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012807 "filename" : "include/spgw.p4",
12808 "line" : 30,
12809 "column" : 12,
12810 "source_fragment" : "! is_gtpu_encapped"
12811 },
12812 "expression" : {
12813 "type" : "expression",
12814 "value" : {
12815 "op" : "not",
12816 "left" : null,
12817 "right" : {
12818 "type" : "expression",
12819 "value" : {
12820 "op" : "d2b",
12821 "left" : null,
12822 "right" : {
12823 "type" : "field",
12824 "value" : ["gtpu", "$valid$"]
12825 }
12826 }
12827 }
12828 }
12829 },
12830 "true_next" : "tbl_act_0",
12831 "false_next" : "node_5"
12832 },
12833 {
12834 "name" : "node_5",
12835 "id" : 1,
12836 "expression" : {
12837 "type" : "expression",
12838 "value" : {
12839 "op" : "not",
12840 "left" : null,
12841 "right" : {
12842 "type" : "expression",
12843 "value" : {
12844 "op" : "d2b",
12845 "left" : null,
12846 "right" : {
12847 "type" : "field",
12848 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
12849 }
12850 }
12851 }
12852 }
12853 },
12854 "true_next" : "tbl_act_1",
12855 "false_next" : "node_10"
12856 },
12857 {
12858 "name" : "node_7",
12859 "id" : 2,
12860 "source_info" : {
12861 "filename" : "include/spgw.p4",
12862 "line" : 34,
12863 "column" : 12,
12864 "source_fragment" : "inner_udp.isValid()"
12865 },
12866 "expression" : {
12867 "type" : "expression",
12868 "value" : {
12869 "op" : "d2b",
12870 "left" : null,
12871 "right" : {
12872 "type" : "field",
12873 "value" : ["inner_udp", "$valid$"]
12874 }
12875 }
12876 },
12877 "true_next" : "tbl_act_2",
12878 "false_next" : "tbl_act_3"
12879 },
12880 {
12881 "name" : "node_10",
12882 "id" : 3,
12883 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012884 "filename" : "include/control/packetio.p4",
12885 "line" : 25,
12886 "column" : 12,
12887 "source_fragment" : "hdr.packet_out.isValid()"
12888 },
12889 "expression" : {
12890 "type" : "expression",
12891 "value" : {
12892 "op" : "d2b",
12893 "left" : null,
12894 "right" : {
12895 "type" : "field",
12896 "value" : ["packet_out", "$valid$"]
12897 }
12898 }
12899 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012900 "true_next" : "tbl_act_4",
12901 "false_next" : "tbl_act_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012902 },
12903 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012904 "name" : "node_13",
12905 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012906 "source_info" : {
12907 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012908 "line" : 139,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012909 "column" : 12,
12910 "source_fragment" : "gtpu.isValid()"
12911 },
12912 "expression" : {
12913 "type" : "expression",
12914 "value" : {
12915 "op" : "d2b",
12916 "left" : null,
12917 "right" : {
12918 "type" : "field",
12919 "value" : ["gtpu", "$valid$"]
12920 }
12921 }
12922 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012923 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
12924 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012925 },
12926 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012927 "name" : "node_17",
12928 "id" : 5,
12929 "source_info" : {
12930 "filename" : "include/spgw.p4",
12931 "line" : 143,
12932 "column" : 16,
12933 "source_fragment" : "!s1u_filter_table.apply().hit"
12934 },
12935 "expression" : {
12936 "type" : "expression",
12937 "value" : {
12938 "op" : "not",
12939 "left" : null,
12940 "right" : {
12941 "type" : "expression",
12942 "value" : {
12943 "op" : "d2b",
12944 "left" : null,
12945 "right" : {
12946 "type" : "field",
12947 "value" : ["scalars", "spgw_ingress_tmp_1"]
12948 }
12949 }
12950 }
12951 }
12952 },
12953 "true_next" : "tbl_drop_now",
12954 "false_next" : "tbl_act_8"
12955 },
12956 {
12957 "name" : "node_24",
12958 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012959 "expression" : {
12960 "type" : "expression",
12961 "value" : {
12962 "op" : "d2b",
12963 "left" : null,
12964 "right" : {
12965 "type" : "field",
12966 "value" : ["scalars", "spgw_ingress_tmp_2"]
12967 }
12968 }
12969 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012970 "true_next" : "tbl_act_11",
12971 "false_next" : "tbl_act_12"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012972 },
12973 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012974 "name" : "node_27",
12975 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012976 "expression" : {
12977 "type" : "expression",
12978 "value" : {
12979 "op" : "not",
12980 "left" : null,
12981 "right" : {
12982 "type" : "expression",
12983 "value" : {
12984 "op" : "d2b",
12985 "left" : null,
12986 "right" : {
12987 "type" : "field",
12988 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
12989 }
12990 }
12991 }
12992 }
12993 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012994 "true_next" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012995 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
12996 },
12997 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012998 "name" : "node_32",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012999 "id" : 8,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013000 "expression" : {
13001 "type" : "expression",
13002 "value" : {
13003 "op" : "d2b",
13004 "left" : null,
13005 "right" : {
13006 "type" : "field",
13007 "value" : ["scalars", "filtering_tmp_0"]
13008 }
13009 }
13010 },
13011 "true_next" : "FabricIngress.filtering.fwd_classifier",
13012 "false_next" : "tbl_act_16"
13013 },
13014 {
13015 "name" : "node_35",
13016 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013017 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013018 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013019 "line" : 235,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013020 "column" : 11,
13021 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
13022 },
13023 "expression" : {
13024 "type" : "expression",
13025 "value" : {
13026 "op" : "==",
13027 "left" : {
13028 "type" : "field",
13029 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13030 },
13031 "right" : {
13032 "type" : "hexstr",
13033 "value" : "0x00"
13034 }
13035 }
13036 },
13037 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013038 "false_next" : "node_37"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013039 },
13040 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013041 "name" : "node_37",
13042 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013043 "source_info" : {
13044 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013045 "line" : 236,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013046 "column" : 17,
13047 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
13048 },
13049 "expression" : {
13050 "type" : "expression",
13051 "value" : {
13052 "op" : "==",
13053 "left" : {
13054 "type" : "field",
13055 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13056 },
13057 "right" : {
13058 "type" : "hexstr",
13059 "value" : "0x01"
13060 }
13061 }
13062 },
13063 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013064 "false_next" : "node_40"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013065 },
13066 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013067 "name" : "node_40",
13068 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013069 "source_info" : {
13070 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013071 "line" : 242,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013072 "column" : 17,
13073 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
13074 },
13075 "expression" : {
13076 "type" : "expression",
13077 "value" : {
13078 "op" : "==",
13079 "left" : {
13080 "type" : "field",
13081 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13082 },
13083 "right" : {
13084 "type" : "hexstr",
13085 "value" : "0x02"
13086 }
13087 }
13088 },
13089 "true_next" : "FabricIngress.forwarding.unicast_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013090 "false_next" : "node_42"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013091 },
13092 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013093 "name" : "node_42",
13094 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013095 "source_info" : {
13096 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013097 "line" : 244,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013098 "column" : 17,
13099 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_MULTICAST"
13100 },
13101 "expression" : {
13102 "type" : "expression",
13103 "value" : {
13104 "op" : "==",
13105 "left" : {
13106 "type" : "field",
13107 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13108 },
13109 "right" : {
13110 "type" : "hexstr",
13111 "value" : "0x03"
13112 }
13113 }
13114 },
13115 "true_next" : "FabricIngress.forwarding.multicast_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013116 "false_next" : "node_44"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013117 },
13118 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013119 "name" : "node_44",
13120 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013121 "source_info" : {
13122 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013123 "line" : 247,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013124 "column" : 17,
13125 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
13126 },
13127 "expression" : {
13128 "type" : "expression",
13129 "value" : {
13130 "op" : "==",
13131 "left" : {
13132 "type" : "field",
13133 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13134 },
13135 "right" : {
13136 "type" : "hexstr",
13137 "value" : "0x04"
13138 }
13139 }
13140 },
13141 "true_next" : "FabricIngress.forwarding.unicast_v6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013142 "false_next" : "node_46"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013143 },
13144 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013145 "name" : "node_46",
13146 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013147 "source_info" : {
13148 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013149 "line" : 249,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013150 "column" : 17,
13151 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_MULTICAST"
13152 },
13153 "expression" : {
13154 "type" : "expression",
13155 "value" : {
13156 "op" : "==",
13157 "left" : {
13158 "type" : "field",
13159 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13160 },
13161 "right" : {
13162 "type" : "hexstr",
13163 "value" : "0x05"
13164 }
13165 }
13166 },
13167 "true_next" : "FabricIngress.forwarding.multicast_v6",
13168 "false_next" : "FabricIngress.forwarding.acl"
13169 },
13170 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013171 "name" : "node_54",
13172 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013173 "source_info" : {
13174 "filename" : "include/control/next.p4",
13175 "line" : 219,
13176 "column" : 12,
13177 "source_fragment" : "!simple.apply().hit"
13178 },
13179 "expression" : {
13180 "type" : "expression",
13181 "value" : {
13182 "op" : "not",
13183 "left" : null,
13184 "right" : {
13185 "type" : "expression",
13186 "value" : {
13187 "op" : "d2b",
13188 "left" : null,
13189 "right" : {
13190 "type" : "field",
13191 "value" : ["scalars", "next_tmp_4"]
13192 }
13193 }
13194 }
13195 }
13196 },
13197 "true_next" : "FabricIngress.next.hashed",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013198 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013199 },
13200 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013201 "name" : "node_58",
13202 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013203 "source_info" : {
13204 "filename" : "include/control/next.p4",
13205 "line" : 220,
13206 "column" : 16,
13207 "source_fragment" : "!hashed.apply().hit"
13208 },
13209 "expression" : {
13210 "type" : "expression",
13211 "value" : {
13212 "op" : "not",
13213 "left" : null,
13214 "right" : {
13215 "type" : "expression",
13216 "value" : {
13217 "op" : "d2b",
13218 "left" : null,
13219 "right" : {
13220 "type" : "field",
13221 "value" : ["scalars", "next_tmp_3"]
13222 }
13223 }
13224 }
13225 }
13226 },
13227 "true_next" : "FabricIngress.next.multicast",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013228 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013229 },
13230 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013231 "name" : "node_62",
13232 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013233 "source_info" : {
13234 "filename" : "include/control/next.p4",
13235 "line" : 221,
13236 "column" : 20,
13237 "source_fragment" : "!multicast.apply().hit"
13238 },
13239 "expression" : {
13240 "type" : "expression",
13241 "value" : {
13242 "op" : "not",
13243 "left" : null,
13244 "right" : {
13245 "type" : "expression",
13246 "value" : {
13247 "op" : "d2b",
13248 "left" : null,
13249 "right" : {
13250 "type" : "field",
13251 "value" : ["scalars", "next_tmp_2"]
13252 }
13253 }
13254 }
13255 }
13256 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013257 "true_next" : "tbl_act_25",
13258 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013259 },
13260 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013261 "name" : "node_64",
13262 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013263 "expression" : {
13264 "type" : "expression",
13265 "value" : {
13266 "op" : "not",
13267 "left" : null,
13268 "right" : {
13269 "type" : "expression",
13270 "value" : {
13271 "op" : "d2b",
13272 "left" : null,
13273 "right" : {
13274 "type" : "field",
13275 "value" : ["scalars", "next_hasReturned_0"]
13276 }
13277 }
13278 }
13279 }
13280 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013281 "true_next" : "node_65",
13282 "false_next" : "node_70"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013283 },
13284 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013285 "name" : "node_65",
13286 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013287 "source_info" : {
13288 "filename" : "include/control/next.p4",
13289 "line" : 228,
13290 "column" : 12,
13291 "source_fragment" : "!hdr.mpls.isValid()"
13292 },
13293 "expression" : {
13294 "type" : "expression",
13295 "value" : {
13296 "op" : "not",
13297 "left" : null,
13298 "right" : {
13299 "type" : "expression",
13300 "value" : {
13301 "op" : "d2b",
13302 "left" : null,
13303 "right" : {
13304 "type" : "field",
13305 "value" : ["mpls", "$valid$"]
13306 }
13307 }
13308 }
13309 }
13310 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013311 "true_next" : "node_66",
13312 "false_next" : "node_70"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013313 },
13314 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013315 "name" : "node_66",
13316 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013317 "source_info" : {
13318 "filename" : "include/control/next.p4",
13319 "line" : 229,
13320 "column" : 15,
13321 "source_fragment" : "hdr.ipv4.isValid()"
13322 },
13323 "expression" : {
13324 "type" : "expression",
13325 "value" : {
13326 "op" : "d2b",
13327 "left" : null,
13328 "right" : {
13329 "type" : "field",
13330 "value" : ["ipv4", "$valid$"]
13331 }
13332 }
13333 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013334 "true_next" : "tbl_act_26",
13335 "false_next" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013336 },
13337 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013338 "name" : "node_68",
13339 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013340 "source_info" : {
13341 "filename" : "include/control/next.p4",
13342 "line" : 233,
13343 "column" : 21,
13344 "source_fragment" : "hdr.ipv6.isValid()"
13345 },
13346 "expression" : {
13347 "type" : "expression",
13348 "value" : {
13349 "op" : "d2b",
13350 "left" : null,
13351 "right" : {
13352 "type" : "field",
13353 "value" : ["ipv6", "$valid$"]
13354 }
13355 }
13356 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013357 "true_next" : "tbl_act_27",
13358 "false_next" : "node_70"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013359 },
13360 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013361 "name" : "node_70",
13362 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013363 "source_info" : {
13364 "filename" : "include/control/port_counter.p4",
13365 "line" : 27,
13366 "column" : 12,
13367 "source_fragment" : "standard_metadata.egress_spec < 511"
13368 },
13369 "expression" : {
13370 "type" : "expression",
13371 "value" : {
13372 "op" : "<",
13373 "left" : {
13374 "type" : "field",
13375 "value" : ["standard_metadata", "egress_spec"]
13376 },
13377 "right" : {
13378 "type" : "hexstr",
13379 "value" : "0x01ff"
13380 }
13381 }
13382 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013383 "true_next" : "tbl_act_28",
13384 "false_next" : "node_72"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013385 },
13386 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013387 "name" : "node_72",
13388 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013389 "source_info" : {
13390 "filename" : "include/control/port_counter.p4",
13391 "line" : 30,
13392 "column" : 12,
13393 "source_fragment" : "standard_metadata.ingress_port < 511"
13394 },
13395 "expression" : {
13396 "type" : "expression",
13397 "value" : {
13398 "op" : "<",
13399 "left" : {
13400 "type" : "field",
13401 "value" : ["standard_metadata", "ingress_port"]
13402 },
13403 "right" : {
13404 "type" : "hexstr",
13405 "value" : "0x01ff"
13406 }
13407 }
13408 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013409 "true_next" : "tbl_act_29",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013410 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
13411 },
13412 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013413 "name" : "node_76",
13414 "id" : 24,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013415 "source_info" : {
13416 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013417 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013418 "column" : 11,
13419 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
13420 },
13421 "expression" : {
13422 "type" : "expression",
13423 "value" : {
13424 "op" : "==",
13425 "left" : {
13426 "type" : "field",
13427 "value" : ["userMetadata.int_meta", "sink"]
13428 },
13429 "right" : {
13430 "type" : "hexstr",
13431 "value" : "0x01"
13432 }
13433 }
13434 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013435 "false_next" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013436 "true_next" : "tbl_act_30"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013437 }
13438 ]
13439 },
13440 {
13441 "name" : "egress",
13442 "id" : 1,
13443 "source_info" : {
13444 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013445 "line" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013446 "column" : 8,
13447 "source_fragment" : "FabricEgress"
13448 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013449 "init_table" : "node_80",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013450 "tables" : [
13451 {
13452 "name" : "tbl_drop_now_0",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013453 "id" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013454 "key" : [],
13455 "match_type" : "exact",
13456 "type" : "simple",
13457 "max_size" : 1024,
13458 "with_counters" : false,
13459 "support_timeout" : false,
13460 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013461 "action_ids" : [84],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013462 "actions" : ["drop_now"],
13463 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
13464 "next_tables" : {
13465 "drop_now" : "FabricEgress.egress_next.egress_vlan"
13466 },
13467 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013468 "action_id" : 84,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013469 "action_const" : true,
13470 "action_data" : [],
13471 "action_entry_const" : true
13472 }
13473 },
13474 {
13475 "name" : "FabricEgress.egress_next.egress_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013476 "id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013477 "source_info" : {
13478 "filename" : "include/control/next.p4",
13479 "line" : 258,
13480 "column" : 10,
13481 "source_fragment" : "egress_vlan"
13482 },
13483 "key" : [
13484 {
13485 "match_type" : "exact",
13486 "name" : "hdr.vlan_tag.vlan_id",
13487 "target" : ["vlan_tag", "vlan_id"],
13488 "mask" : null
13489 },
13490 {
13491 "match_type" : "exact",
13492 "name" : "standard_metadata.egress_port",
13493 "target" : ["standard_metadata", "egress_port"],
13494 "mask" : null
13495 }
13496 ],
13497 "match_type" : "exact",
13498 "type" : "simple",
13499 "max_size" : 1024,
13500 "with_counters" : true,
13501 "support_timeout" : false,
13502 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013503 "action_ids" : [129, 83],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013504 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013505 "base_default_next" : "node_83",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013506 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013507 "FabricEgress.egress_next.pop_vlan" : "node_83",
13508 "nop" : "node_83"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013509 },
13510 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013511 "action_id" : 83,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013512 "action_const" : false,
13513 "action_data" : [],
13514 "action_entry_const" : false
13515 }
13516 },
13517 {
13518 "name" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013519 "id" : 53,
13520 "key" : [],
13521 "match_type" : "exact",
13522 "type" : "simple",
13523 "max_size" : 1024,
13524 "with_counters" : false,
13525 "support_timeout" : false,
13526 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013527 "action_ids" : [128],
13528 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
13529 "base_default_next" : "node_86",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013530 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013531 "FabricEgress.pkt_io_egress.pop_vlan" : "node_86"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013532 },
13533 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013534 "action_id" : 128,
13535 "action_const" : true,
13536 "action_data" : [],
13537 "action_entry_const" : true
13538 }
13539 },
13540 {
13541 "name" : "tbl_drop_now_1",
13542 "id" : 54,
13543 "key" : [],
13544 "match_type" : "exact",
13545 "type" : "simple",
13546 "max_size" : 1024,
13547 "with_counters" : false,
13548 "support_timeout" : false,
13549 "direct_meters" : null,
13550 "action_ids" : [85],
13551 "actions" : ["drop_now"],
13552 "base_default_next" : "tbl_act_31",
13553 "next_tables" : {
13554 "drop_now" : "tbl_act_31"
13555 },
13556 "default_entry" : {
13557 "action_id" : 85,
13558 "action_const" : true,
13559 "action_data" : [],
13560 "action_entry_const" : true
13561 }
13562 },
13563 {
13564 "name" : "tbl_act_31",
13565 "id" : 55,
13566 "key" : [],
13567 "match_type" : "exact",
13568 "type" : "simple",
13569 "max_size" : 1024,
13570 "with_counters" : false,
13571 "support_timeout" : false,
13572 "direct_meters" : null,
13573 "action_ids" : [130],
13574 "actions" : ["act_31"],
13575 "base_default_next" : "node_89",
13576 "next_tables" : {
13577 "act_31" : "node_89"
13578 },
13579 "default_entry" : {
13580 "action_id" : 130,
13581 "action_const" : true,
13582 "action_data" : [],
13583 "action_entry_const" : true
13584 }
13585 },
13586 {
13587 "name" : "tbl_spgw_egress_gtpu_encap",
13588 "id" : 56,
13589 "key" : [],
13590 "match_type" : "exact",
13591 "type" : "simple",
13592 "max_size" : 1024,
13593 "with_counters" : false,
13594 "support_timeout" : false,
13595 "direct_meters" : null,
13596 "action_ids" : [86],
13597 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
13598 "base_default_next" : "node_91",
13599 "next_tables" : {
13600 "FabricEgress.spgw_egress.gtpu_encap" : "node_91"
13601 },
13602 "default_entry" : {
13603 "action_id" : 86,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013604 "action_const" : true,
13605 "action_data" : [],
13606 "action_entry_const" : true
13607 }
13608 },
13609 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013610 "name" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013611 "id" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013612 "source_info" : {
13613 "filename" : "include/int_source.p4",
13614 "line" : 66,
13615 "column" : 10,
13616 "source_fragment" : "tb_int_source"
13617 },
13618 "key" : [
13619 {
13620 "match_type" : "ternary",
13621 "name" : "hdr.ipv4.src_addr",
13622 "target" : ["ipv4", "src_addr"],
13623 "mask" : null
13624 },
13625 {
13626 "match_type" : "ternary",
13627 "name" : "hdr.ipv4.dst_addr",
13628 "target" : ["ipv4", "dst_addr"],
13629 "mask" : null
13630 },
13631 {
13632 "match_type" : "ternary",
13633 "name" : "fabric_metadata.l4_src_port",
13634 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
13635 "mask" : null
13636 },
13637 {
13638 "match_type" : "ternary",
13639 "name" : "fabric_metadata.l4_dst_port",
13640 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
13641 "mask" : null
13642 }
13643 ],
13644 "match_type" : "ternary",
13645 "type" : "simple",
13646 "max_size" : 1024,
13647 "with_counters" : true,
13648 "support_timeout" : false,
13649 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013650 "action_ids" : [87, 78],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013651 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013652 "base_default_next" : "node_94",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013653 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013654 "FabricEgress.process_int_source.int_source_dscp" : "node_94",
13655 "NoAction" : "node_94"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013656 },
13657 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013658 "action_id" : 78,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013659 "action_const" : false,
13660 "action_data" : [],
13661 "action_entry_const" : false
13662 }
13663 },
13664 {
13665 "name" : "FabricEgress.process_int_transit.tb_int_insert",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013666 "id" : 58,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013667 "source_info" : {
13668 "filename" : "include/int_transit.p4",
13669 "line" : 227,
13670 "column" : 10,
13671 "source_fragment" : "tb_int_insert"
13672 },
13673 "key" : [],
13674 "match_type" : "exact",
13675 "type" : "simple",
13676 "max_size" : 2,
13677 "with_counters" : true,
13678 "support_timeout" : false,
13679 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013680 "action_ids" : [89, 79],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013681 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
13682 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13683 "next_tables" : {
13684 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13685 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
13686 },
13687 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013688 "action_id" : 79,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013689 "action_const" : false,
13690 "action_data" : [],
13691 "action_entry_const" : false
13692 }
13693 },
13694 {
13695 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013696 "id" : 59,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013697 "source_info" : {
13698 "filename" : "include/int_transit.p4",
13699 "line" : 237,
13700 "column" : 10,
13701 "source_fragment" : "tb_int_inst_0003"
13702 },
13703 "key" : [
13704 {
13705 "match_type" : "exact",
13706 "name" : "hdr.int_header.instruction_mask_0003",
13707 "target" : ["int_header", "instruction_mask_0003"],
13708 "mask" : null
13709 }
13710 ],
13711 "match_type" : "exact",
13712 "type" : "simple",
13713 "max_size" : 16,
13714 "with_counters" : true,
13715 "support_timeout" : false,
13716 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013717 "action_ids" : [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 80],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013718 "actions" : ["FabricEgress.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_transit.int_set_header_0003_i15", "NoAction"],
13719 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13720 "next_tables" : {
13721 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13722 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13723 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13724 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13725 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13726 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13727 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13728 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13729 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13730 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13731 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13732 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13733 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13734 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13735 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13736 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13737 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
13738 },
13739 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013740 "action_id" : 80,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013741 "action_const" : false,
13742 "action_data" : [],
13743 "action_entry_const" : false
13744 }
13745 },
13746 {
13747 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013748 "id" : 60,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013749 "source_info" : {
13750 "filename" : "include/int_transit.p4",
13751 "line" : 264,
13752 "column" : 10,
13753 "source_fragment" : "tb_int_inst_0407"
13754 },
13755 "key" : [
13756 {
13757 "match_type" : "exact",
13758 "name" : "hdr.int_header.instruction_mask_0407",
13759 "target" : ["int_header", "instruction_mask_0407"],
13760 "mask" : null
13761 }
13762 ],
13763 "match_type" : "exact",
13764 "type" : "simple",
13765 "max_size" : 16,
13766 "with_counters" : true,
13767 "support_timeout" : false,
13768 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013769 "action_ids" : [106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 81],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013770 "actions" : ["FabricEgress.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_transit.int_set_header_0407_i15", "NoAction"],
13771 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
13772 "next_tables" : {
13773 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
13774 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
13775 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
13776 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
13777 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
13778 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
13779 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
13780 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
13781 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
13782 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
13783 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
13784 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
13785 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
13786 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
13787 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
13788 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
13789 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
13790 },
13791 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013792 "action_id" : 81,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013793 "action_const" : false,
13794 "action_data" : [],
13795 "action_entry_const" : false
13796 }
13797 },
13798 {
13799 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013800 "id" : 61,
13801 "key" : [],
13802 "match_type" : "exact",
13803 "type" : "simple",
13804 "max_size" : 1024,
13805 "with_counters" : false,
13806 "support_timeout" : false,
13807 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013808 "action_ids" : [88],
13809 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
13810 "base_default_next" : "node_99",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013811 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013812 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_99"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013813 },
13814 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013815 "action_id" : 88,
13816 "action_const" : true,
13817 "action_data" : [],
13818 "action_entry_const" : true
13819 }
13820 },
13821 {
13822 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
13823 "id" : 62,
13824 "key" : [],
13825 "match_type" : "exact",
13826 "type" : "simple",
13827 "max_size" : 1024,
13828 "with_counters" : false,
13829 "support_timeout" : false,
13830 "direct_meters" : null,
13831 "action_ids" : [122],
13832 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
13833 "base_default_next" : "node_101",
13834 "next_tables" : {
13835 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_101"
13836 },
13837 "default_entry" : {
13838 "action_id" : 122,
13839 "action_const" : true,
13840 "action_data" : [],
13841 "action_entry_const" : true
13842 }
13843 },
13844 {
13845 "name" : "tbl_process_int_outer_encap_int_update_udp",
13846 "id" : 63,
13847 "key" : [],
13848 "match_type" : "exact",
13849 "type" : "simple",
13850 "max_size" : 1024,
13851 "with_counters" : false,
13852 "support_timeout" : false,
13853 "direct_meters" : null,
13854 "action_ids" : [123],
13855 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
13856 "base_default_next" : "node_103",
13857 "next_tables" : {
13858 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_103"
13859 },
13860 "default_entry" : {
13861 "action_id" : 123,
13862 "action_const" : true,
13863 "action_data" : [],
13864 "action_entry_const" : true
13865 }
13866 },
13867 {
13868 "name" : "tbl_process_int_outer_encap_int_update_shim",
13869 "id" : 64,
13870 "key" : [],
13871 "match_type" : "exact",
13872 "type" : "simple",
13873 "max_size" : 1024,
13874 "with_counters" : false,
13875 "support_timeout" : false,
13876 "direct_meters" : null,
13877 "action_ids" : [124],
13878 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
13879 "base_default_next" : "node_105",
13880 "next_tables" : {
13881 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_105"
13882 },
13883 "default_entry" : {
13884 "action_id" : 124,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013885 "action_const" : true,
13886 "action_data" : [],
13887 "action_entry_const" : true
13888 }
13889 },
13890 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013891 "name" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013892 "id" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013893 "source_info" : {
13894 "filename" : "include/int_report.p4",
13895 "line" : 87,
13896 "column" : 10,
13897 "source_fragment" : "tb_generate_report"
13898 },
13899 "key" : [],
13900 "match_type" : "exact",
13901 "type" : "simple",
13902 "max_size" : 1024,
13903 "with_counters" : false,
13904 "support_timeout" : false,
13905 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013906 "action_ids" : [125, 82],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013907 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013908 "base_default_next" : "node_107",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013909 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013910 "FabricEgress.process_int_report.do_report_encapsulation" : "node_107",
13911 "NoAction" : "node_107"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013912 },
13913 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013914 "action_id" : 82,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013915 "action_const" : false,
13916 "action_data" : [],
13917 "action_entry_const" : false
13918 }
13919 },
13920 {
13921 "name" : "tbl_process_int_sink_restore_header",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013922 "id" : 66,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013923 "key" : [],
13924 "match_type" : "exact",
13925 "type" : "simple",
13926 "max_size" : 1024,
13927 "with_counters" : false,
13928 "support_timeout" : false,
13929 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013930 "action_ids" : [126],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013931 "actions" : ["FabricEgress.process_int_sink.restore_header"],
13932 "base_default_next" : "tbl_process_int_sink_int_sink",
13933 "next_tables" : {
13934 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
13935 },
13936 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013937 "action_id" : 126,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013938 "action_const" : true,
13939 "action_data" : [],
13940 "action_entry_const" : true
13941 }
13942 },
13943 {
13944 "name" : "tbl_process_int_sink_int_sink",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013945 "id" : 67,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013946 "key" : [],
13947 "match_type" : "exact",
13948 "type" : "simple",
13949 "max_size" : 1024,
13950 "with_counters" : false,
13951 "support_timeout" : false,
13952 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013953 "action_ids" : [127],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013954 "actions" : ["FabricEgress.process_int_sink.int_sink"],
13955 "base_default_next" : null,
13956 "next_tables" : {
13957 "FabricEgress.process_int_sink.int_sink" : null
13958 },
13959 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013960 "action_id" : 127,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013961 "action_const" : true,
13962 "action_data" : [],
13963 "action_entry_const" : true
13964 }
13965 }
13966 ],
13967 "action_profiles" : [],
13968 "conditionals" : [
13969 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013970 "name" : "node_80",
13971 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013972 "source_info" : {
13973 "filename" : "include/control/next.p4",
13974 "line" : 272,
13975 "column" : 12,
13976 "source_fragment" : "fabric_metadata.is_multicast == true ..."
13977 },
13978 "expression" : {
13979 "type" : "expression",
13980 "value" : {
13981 "op" : "and",
13982 "left" : {
13983 "type" : "expression",
13984 "value" : {
13985 "op" : "==",
13986 "left" : {
13987 "type" : "expression",
13988 "value" : {
13989 "op" : "d2b",
13990 "left" : null,
13991 "right" : {
13992 "type" : "field",
13993 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13994 }
13995 }
13996 },
13997 "right" : {
13998 "type" : "bool",
13999 "value" : true
14000 }
14001 }
14002 },
14003 "right" : {
14004 "type" : "expression",
14005 "value" : {
14006 "op" : "==",
14007 "left" : {
14008 "type" : "field",
14009 "value" : ["standard_metadata", "ingress_port"]
14010 },
14011 "right" : {
14012 "type" : "field",
14013 "value" : ["standard_metadata", "egress_port"]
14014 }
14015 }
14016 }
14017 }
14018 },
14019 "true_next" : "tbl_drop_now_0",
14020 "false_next" : "FabricEgress.egress_next.egress_vlan"
14021 },
14022 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014023 "name" : "node_83",
14024 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014025 "source_info" : {
14026 "filename" : "include/control/packetio.p4",
14027 "line" : 42,
14028 "column" : 12,
14029 "source_fragment" : "standard_metadata.egress_port == 255"
14030 },
14031 "expression" : {
14032 "type" : "expression",
14033 "value" : {
14034 "op" : "==",
14035 "left" : {
14036 "type" : "field",
14037 "value" : ["standard_metadata", "egress_port"]
14038 },
14039 "right" : {
14040 "type" : "hexstr",
14041 "value" : "0x00ff"
14042 }
14043 }
14044 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014045 "true_next" : "node_84",
14046 "false_next" : "node_89"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014047 },
14048 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014049 "name" : "node_84",
14050 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014051 "source_info" : {
14052 "filename" : "include/control/packetio.p4",
14053 "line" : 43,
14054 "column" : 16,
14055 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
14056 },
14057 "expression" : {
14058 "type" : "expression",
14059 "value" : {
14060 "op" : "and",
14061 "left" : {
14062 "type" : "expression",
14063 "value" : {
14064 "op" : "d2b",
14065 "left" : null,
14066 "right" : {
14067 "type" : "field",
14068 "value" : ["vlan_tag", "$valid$"]
14069 }
14070 }
14071 },
14072 "right" : {
14073 "type" : "expression",
14074 "value" : {
14075 "op" : "==",
14076 "left" : {
14077 "type" : "expression",
14078 "value" : {
14079 "op" : "d2b",
14080 "left" : null,
14081 "right" : {
14082 "type" : "field",
14083 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
14084 }
14085 }
14086 },
14087 "right" : {
14088 "type" : "bool",
14089 "value" : true
14090 }
14091 }
14092 }
14093 }
14094 },
14095 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014096 "false_next" : "node_86"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014097 },
14098 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014099 "name" : "node_86",
14100 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014101 "source_info" : {
14102 "filename" : "include/control/packetio.p4",
14103 "line" : 46,
14104 "column" : 16,
14105 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
14106 },
14107 "expression" : {
14108 "type" : "expression",
14109 "value" : {
14110 "op" : "and",
14111 "left" : {
14112 "type" : "expression",
14113 "value" : {
14114 "op" : "==",
14115 "left" : {
14116 "type" : "expression",
14117 "value" : {
14118 "op" : "d2b",
14119 "left" : null,
14120 "right" : {
14121 "type" : "field",
14122 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
14123 }
14124 }
14125 },
14126 "right" : {
14127 "type" : "bool",
14128 "value" : true
14129 }
14130 }
14131 },
14132 "right" : {
14133 "type" : "expression",
14134 "value" : {
14135 "op" : "==",
14136 "left" : {
14137 "type" : "expression",
14138 "value" : {
14139 "op" : "d2b",
14140 "left" : null,
14141 "right" : {
14142 "type" : "field",
14143 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
14144 }
14145 }
14146 },
14147 "right" : {
14148 "type" : "bool",
14149 "value" : false
14150 }
14151 }
14152 }
14153 }
14154 },
14155 "true_next" : "tbl_drop_now_1",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014156 "false_next" : "tbl_act_31"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014157 },
14158 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014159 "name" : "node_89",
14160 "id" : 29,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014161 "source_info" : {
14162 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014163 "line" : 221,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014164 "column" : 12,
14165 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
14166 },
14167 "expression" : {
14168 "type" : "expression",
14169 "value" : {
14170 "op" : "==",
14171 "left" : {
14172 "type" : "field",
14173 "value" : ["userMetadata.spgw", "direction"]
14174 },
14175 "right" : {
14176 "type" : "hexstr",
14177 "value" : "0x02"
14178 }
14179 }
14180 },
14181 "true_next" : "tbl_spgw_egress_gtpu_encap",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014182 "false_next" : "node_91"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014183 },
14184 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014185 "name" : "node_91",
14186 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014187 "source_info" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014188 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014189 "line" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014190 "column" : 12,
14191 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
14192 },
14193 "expression" : {
14194 "type" : "expression",
14195 "value" : {
14196 "op" : "and",
14197 "left" : {
14198 "type" : "expression",
14199 "value" : {
14200 "op" : "and",
14201 "left" : {
14202 "type" : "expression",
14203 "value" : {
14204 "op" : "!=",
14205 "left" : {
14206 "type" : "field",
14207 "value" : ["standard_metadata", "ingress_port"]
14208 },
14209 "right" : {
14210 "type" : "hexstr",
14211 "value" : "0x00ff"
14212 }
14213 }
14214 },
14215 "right" : {
14216 "type" : "expression",
14217 "value" : {
14218 "op" : "!=",
14219 "left" : {
14220 "type" : "field",
14221 "value" : ["standard_metadata", "egress_port"]
14222 },
14223 "right" : {
14224 "type" : "hexstr",
14225 "value" : "0x00ff"
14226 }
14227 }
14228 }
14229 }
14230 },
14231 "right" : {
14232 "type" : "expression",
14233 "value" : {
14234 "op" : "or",
14235 "left" : {
14236 "type" : "expression",
14237 "value" : {
14238 "op" : "d2b",
14239 "left" : null,
14240 "right" : {
14241 "type" : "field",
14242 "value" : ["udp", "$valid$"]
14243 }
14244 }
14245 },
14246 "right" : {
14247 "type" : "expression",
14248 "value" : {
14249 "op" : "d2b",
14250 "left" : null,
14251 "right" : {
14252 "type" : "field",
14253 "value" : ["tcp", "$valid$"]
14254 }
14255 }
14256 }
14257 }
14258 }
14259 }
14260 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014261 "false_next" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014262 "true_next" : "node_92"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014263 },
14264 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014265 "name" : "node_92",
14266 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014267 "source_info" : {
14268 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014269 "line" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014270 "column" : 16,
14271 "source_fragment" : "fabric_metadata.int_meta.source == 1"
14272 },
14273 "expression" : {
14274 "type" : "expression",
14275 "value" : {
14276 "op" : "==",
14277 "left" : {
14278 "type" : "field",
14279 "value" : ["userMetadata.int_meta", "source"]
14280 },
14281 "right" : {
14282 "type" : "hexstr",
14283 "value" : "0x01"
14284 }
14285 }
14286 },
14287 "true_next" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014288 "false_next" : "node_94"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014289 },
14290 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014291 "name" : "node_94",
14292 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014293 "source_info" : {
14294 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014295 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014296 "column" : 15,
14297 "source_fragment" : "hdr.int_header.isValid()"
14298 },
14299 "expression" : {
14300 "type" : "expression",
14301 "value" : {
14302 "op" : "d2b",
14303 "left" : null,
14304 "right" : {
14305 "type" : "field",
14306 "value" : ["int_header", "$valid$"]
14307 }
14308 }
14309 },
14310 "false_next" : null,
14311 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
14312 },
14313 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014314 "name" : "node_99",
14315 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014316 "source_info" : {
14317 "filename" : "include/int_transit.p4",
14318 "line" : 314,
14319 "column" : 12,
14320 "source_fragment" : "hdr.ipv4.isValid()"
14321 },
14322 "expression" : {
14323 "type" : "expression",
14324 "value" : {
14325 "op" : "d2b",
14326 "left" : null,
14327 "right" : {
14328 "type" : "field",
14329 "value" : ["ipv4", "$valid$"]
14330 }
14331 }
14332 },
14333 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014334 "false_next" : "node_101"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014335 },
14336 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014337 "name" : "node_101",
14338 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014339 "source_info" : {
14340 "filename" : "include/int_transit.p4",
14341 "line" : 317,
14342 "column" : 12,
14343 "source_fragment" : "hdr.udp.isValid()"
14344 },
14345 "expression" : {
14346 "type" : "expression",
14347 "value" : {
14348 "op" : "d2b",
14349 "left" : null,
14350 "right" : {
14351 "type" : "field",
14352 "value" : ["udp", "$valid$"]
14353 }
14354 }
14355 },
14356 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014357 "false_next" : "node_103"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014358 },
14359 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014360 "name" : "node_103",
14361 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014362 "source_info" : {
14363 "filename" : "include/int_transit.p4",
14364 "line" : 320,
14365 "column" : 12,
14366 "source_fragment" : "hdr.intl4_shim.isValid()"
14367 },
14368 "expression" : {
14369 "type" : "expression",
14370 "value" : {
14371 "op" : "d2b",
14372 "left" : null,
14373 "right" : {
14374 "type" : "field",
14375 "value" : ["intl4_shim", "$valid$"]
14376 }
14377 }
14378 },
14379 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014380 "false_next" : "node_105"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014381 },
14382 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014383 "name" : "node_105",
14384 "id" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014385 "source_info" : {
14386 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014387 "line" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014388 "column" : 20,
14389 "source_fragment" : "standard_metadata.instance_type == 1"
14390 },
14391 "expression" : {
14392 "type" : "expression",
14393 "value" : {
14394 "op" : "==",
14395 "left" : {
14396 "type" : "field",
14397 "value" : ["standard_metadata", "instance_type"]
14398 },
14399 "right" : {
14400 "type" : "hexstr",
14401 "value" : "0x00000001"
14402 }
14403 }
14404 },
14405 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014406 "false_next" : "node_107"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014407 },
14408 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070014409 "name" : "node_107",
14410 "id" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014411 "source_info" : {
14412 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014413 "line" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014414 "column" : 20,
14415 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
14416 },
14417 "expression" : {
14418 "type" : "expression",
14419 "value" : {
14420 "op" : "==",
14421 "left" : {
14422 "type" : "field",
14423 "value" : ["userMetadata.int_meta", "sink"]
14424 },
14425 "right" : {
14426 "type" : "hexstr",
14427 "value" : "0x01"
14428 }
14429 }
14430 },
14431 "false_next" : null,
14432 "true_next" : "tbl_process_int_sink_restore_header"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014433 }
14434 ]
14435 }
14436 ],
14437 "checksums" : [
14438 {
14439 "name" : "cksum",
14440 "id" : 0,
14441 "target" : ["ipv4", "hdr_checksum"],
14442 "type" : "generic",
14443 "calculation" : "calc",
14444 "if_cond" : {
14445 "type" : "expression",
14446 "value" : {
14447 "op" : "d2b",
14448 "left" : null,
14449 "right" : {
14450 "type" : "field",
14451 "value" : ["ipv4", "$valid$"]
14452 }
14453 }
14454 }
14455 },
14456 {
14457 "name" : "cksum_0",
14458 "id" : 1,
14459 "target" : ["gtpu_ipv4", "hdr_checksum"],
14460 "type" : "generic",
14461 "calculation" : "calc_0",
14462 "if_cond" : {
14463 "type" : "expression",
14464 "value" : {
14465 "op" : "d2b",
14466 "left" : null,
14467 "right" : {
14468 "type" : "field",
14469 "value" : ["gtpu_ipv4", "$valid$"]
14470 }
14471 }
14472 }
14473 },
14474 {
14475 "name" : "cksum_1",
14476 "id" : 2,
14477 "target" : ["ipv4", "hdr_checksum"],
14478 "type" : "generic",
14479 "calculation" : "calc_1",
14480 "if_cond" : {
14481 "type" : "expression",
14482 "value" : {
14483 "op" : "d2b",
14484 "left" : null,
14485 "right" : {
14486 "type" : "field",
14487 "value" : ["ipv4", "$valid$"]
14488 }
14489 }
14490 }
14491 }
14492 ],
14493 "force_arith" : [],
14494 "extern_instances" : [],
14495 "field_aliases" : [
14496 [
14497 "queueing_metadata.enq_timestamp",
14498 ["standard_metadata", "enq_timestamp"]
14499 ],
14500 [
14501 "queueing_metadata.enq_qdepth",
14502 ["standard_metadata", "enq_qdepth"]
14503 ],
14504 [
14505 "queueing_metadata.deq_timedelta",
14506 ["standard_metadata", "deq_timedelta"]
14507 ],
14508 [
14509 "queueing_metadata.deq_qdepth",
14510 ["standard_metadata", "deq_qdepth"]
14511 ],
14512 [
14513 "intrinsic_metadata.ingress_global_timestamp",
14514 ["standard_metadata", "ingress_global_timestamp"]
14515 ],
14516 [
14517 "intrinsic_metadata.egress_global_timestamp",
14518 ["standard_metadata", "egress_global_timestamp"]
14519 ],
14520 [
14521 "intrinsic_metadata.lf_field_list",
14522 ["standard_metadata", "lf_field_list"]
14523 ],
14524 [
14525 "intrinsic_metadata.mcast_grp",
14526 ["standard_metadata", "mcast_grp"]
14527 ],
14528 [
14529 "intrinsic_metadata.resubmit_flag",
14530 ["standard_metadata", "resubmit_flag"]
14531 ],
14532 [
14533 "intrinsic_metadata.egress_rid",
14534 ["standard_metadata", "egress_rid"]
14535 ],
14536 [
14537 "intrinsic_metadata.recirculate_flag",
14538 ["standard_metadata", "recirculate_flag"]
14539 ]
14540 ],
14541 "program" : "fabric.p4",
14542 "__meta__" : {
14543 "version" : [2, 18],
14544 "compiler" : "https://github.com/p4lang/p4c"
14545 }
14546}