blob: 24977af55ef49e2a3950b7f99ba5982904e24cf0 [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],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070027 ["fabric_metadata_t.is_controller_packet_out", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020028 ["fabric_metadata_t.clone_to_cpu", 1, false],
29 ["fabric_metadata_t.ip_proto", 8, false],
30 ["fabric_metadata_t.l4_src_port", 16, false],
31 ["fabric_metadata_t.l4_dst_port", 16, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090032 ["fabric_metadata_t.compute_checksum", 1, false],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070033 ["_padding_2", 1, false]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020034 ]
35 },
36 {
37 "name" : "standard_metadata",
38 "id" : 1,
39 "fields" : [
40 ["ingress_port", 9, false],
41 ["egress_spec", 9, false],
42 ["egress_port", 9, false],
43 ["clone_spec", 32, false],
44 ["instance_type", 32, false],
45 ["drop", 1, false],
46 ["recirculate_port", 16, false],
47 ["packet_length", 32, false],
48 ["enq_timestamp", 32, false],
49 ["enq_qdepth", 19, false],
50 ["deq_timedelta", 32, false],
51 ["deq_qdepth", 19, false],
52 ["ingress_global_timestamp", 48, false],
53 ["egress_global_timestamp", 48, false],
54 ["lf_field_list", 32, false],
55 ["mcast_grp", 16, false],
56 ["resubmit_flag", 32, false],
57 ["egress_rid", 16, false],
58 ["checksum_error", 1, false],
59 ["recirculate_flag", 32, false],
60 ["_padding", 5, false]
61 ]
62 },
63 {
64 "name" : "ethernet_t",
65 "id" : 2,
66 "fields" : [
67 ["dst_addr", 48, false],
68 ["src_addr", 48, false],
69 ["ether_type", 16, false]
70 ]
71 },
72 {
73 "name" : "vlan_tag_t",
74 "id" : 3,
75 "fields" : [
76 ["pri", 3, false],
77 ["cfi", 1, false],
78 ["vlan_id", 12, false],
79 ["ether_type", 16, false]
80 ]
81 },
82 {
83 "name" : "mpls_t",
84 "id" : 4,
85 "fields" : [
86 ["label", 20, false],
87 ["tc", 3, false],
88 ["bos", 1, false],
89 ["ttl", 8, false]
90 ]
91 },
92 {
93 "name" : "ipv4_t",
94 "id" : 5,
95 "fields" : [
96 ["version", 4, false],
97 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090098 ["dscp", 6, false],
99 ["ecn", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200100 ["total_len", 16, false],
101 ["identification", 16, false],
102 ["flags", 3, false],
103 ["frag_offset", 13, false],
104 ["ttl", 8, false],
105 ["protocol", 8, false],
106 ["hdr_checksum", 16, false],
107 ["src_addr", 32, false],
108 ["dst_addr", 32, false]
109 ]
110 },
111 {
112 "name" : "udp_t",
113 "id" : 6,
114 "fields" : [
115 ["src_port", 16, false],
116 ["dst_port", 16, false],
117 ["len", 16, false],
118 ["checksum", 16, false]
119 ]
120 },
121 {
122 "name" : "gtpu_t",
123 "id" : 7,
124 "fields" : [
125 ["version", 3, false],
126 ["pt", 1, false],
127 ["spare", 1, false],
128 ["ex_flag", 1, false],
129 ["seq_flag", 1, false],
130 ["npdu_flag", 1, false],
131 ["msgtype", 8, false],
132 ["msglen", 16, false],
133 ["teid", 32, false]
134 ]
135 },
136 {
137 "name" : "ipv6_t",
138 "id" : 8,
139 "fields" : [
140 ["version", 4, false],
141 ["traffic_class", 8, false],
142 ["flow_label", 20, false],
143 ["payload_len", 16, false],
144 ["next_hdr", 8, false],
145 ["hop_limit", 8, false],
146 ["src_addr", 128, false],
147 ["dst_addr", 128, false]
148 ]
149 },
150 {
151 "name" : "arp_t",
152 "id" : 9,
153 "fields" : [
154 ["hw_type", 16, false],
155 ["proto_type", 16, false],
156 ["hw_addr_len", 8, false],
157 ["proto_addr_len", 8, false],
158 ["opcode", 16, false]
159 ]
160 },
161 {
162 "name" : "tcp_t",
163 "id" : 10,
164 "fields" : [
165 ["src_port", 16, false],
166 ["dst_port", 16, false],
167 ["seq_no", 32, false],
168 ["ack_no", 32, false],
169 ["data_offset", 4, false],
170 ["res", 3, false],
171 ["ecn", 3, false],
172 ["ctrl", 6, false],
173 ["window", 16, false],
174 ["checksum", 16, false],
175 ["urgent_ptr", 16, false]
176 ]
177 },
178 {
179 "name" : "icmp_t",
180 "id" : 11,
181 "fields" : [
182 ["icmp_type", 8, false],
183 ["icmp_code", 8, false],
184 ["checksum", 16, false],
185 ["identifier", 16, false],
186 ["sequence_number", 16, false],
187 ["timestamp", 64, false]
188 ]
189 },
190 {
191 "name" : "packet_out_header_t",
192 "id" : 12,
193 "fields" : [
194 ["egress_port", 9, false],
195 ["_pad", 7, false]
196 ]
197 },
198 {
199 "name" : "packet_in_header_t",
200 "id" : 13,
201 "fields" : [
202 ["ingress_port", 9, false],
203 ["_pad", 7, false]
204 ]
205 },
206 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900207 "name" : "report_fixed_header_t",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200208 "id" : 14,
209 "fields" : [
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900210 ["ver", 4, false],
211 ["nproto", 4, false],
212 ["d", 1, false],
213 ["q", 1, false],
214 ["f", 1, false],
215 ["rsvd", 15, false],
216 ["hw_id", 6, false],
217 ["seq_no", 32, false],
218 ["ingress_tstamp", 32, false]
219 ]
220 },
221 {
222 "name" : "drop_report_header_t",
223 "id" : 15,
224 "fields" : [
225 ["switch_id", 32, false],
226 ["ingress_port_id", 16, false],
227 ["egress_port_id", 16, false],
228 ["queue_id", 8, false],
229 ["drop_reason", 8, false],
230 ["pad", 16, false]
231 ]
232 },
233 {
234 "name" : "local_report_header_t",
235 "id" : 16,
236 "fields" : [
237 ["switch_id", 32, false],
238 ["ingress_port_id", 16, false],
239 ["egress_port_id", 16, false],
240 ["queue_id", 8, false],
241 ["queue_occupancy", 24, false],
242 ["egress_tstamp", 32, false]
243 ]
244 },
245 {
246 "name" : "intl4_shim_t",
247 "id" : 17,
248 "fields" : [
249 ["int_type", 8, false],
250 ["rsvd1", 8, false],
251 ["len", 8, false],
252 ["rsvd2", 8, false]
253 ]
254 },
255 {
256 "name" : "int_header_t",
257 "id" : 18,
258 "fields" : [
259 ["ver", 2, false],
260 ["rep", 2, false],
261 ["c", 1, false],
262 ["e", 1, false],
263 ["rsvd1", 5, false],
264 ["ins_cnt", 5, false],
265 ["max_hop_cnt", 8, false],
266 ["total_hop_cnt", 8, false],
267 ["instruction_mask_0003", 4, false],
268 ["instruction_mask_0407", 4, false],
269 ["instruction_mask_0811", 4, false],
270 ["instruction_mask_1215", 4, false],
271 ["rsvd2", 16, false]
272 ]
273 },
274 {
275 "name" : "int_data_t",
276 "id" : 19,
277 "fields" : [
278 ["data", "*"]
279 ],
280 "max_length" : 1004
281 },
282 {
283 "name" : "int_switch_id_t",
284 "id" : 20,
285 "fields" : [
286 ["switch_id", 32, false]
287 ]
288 },
289 {
290 "name" : "int_port_ids_t",
291 "id" : 21,
292 "fields" : [
293 ["ingress_port_id", 16, false],
294 ["egress_port_id", 16, false]
295 ]
296 },
297 {
298 "name" : "int_hop_latency_t",
299 "id" : 22,
300 "fields" : [
301 ["hop_latency", 32, false]
302 ]
303 },
304 {
305 "name" : "int_q_occupancy_t",
306 "id" : 23,
307 "fields" : [
308 ["q_id", 8, false],
309 ["q_occupancy", 24, false]
310 ]
311 },
312 {
313 "name" : "int_ingress_tstamp_t",
314 "id" : 24,
315 "fields" : [
316 ["ingress_tstamp", 32, false]
317 ]
318 },
319 {
320 "name" : "int_egress_tstamp_t",
321 "id" : 25,
322 "fields" : [
323 ["egress_tstamp", 32, false]
324 ]
325 },
326 {
327 "name" : "int_q_congestion_t",
328 "id" : 26,
329 "fields" : [
330 ["q_id", 8, false],
331 ["q_congestion", 24, false]
332 ]
333 },
334 {
335 "name" : "int_egress_port_tx_util_t",
336 "id" : 27,
337 "fields" : [
338 ["egress_port_tx_util", 32, false]
339 ]
340 },
341 {
342 "name" : "intl4_tail_t",
343 "id" : 28,
344 "fields" : [
345 ["next_proto", 8, false],
346 ["dest_port", 16, false],
347 ["dscp", 8, false]
348 ]
349 },
350 {
351 "name" : "spgw_meta_t",
352 "id" : 29,
353 "fields" : [
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700354 ["direction", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200355 ["ipv4_len", 16, false],
356 ["teid", 32, false],
357 ["s1u_enb_addr", 32, false],
358 ["s1u_sgw_addr", 32, false],
359 ["_padding_0", 6, false]
360 ]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900361 },
362 {
363 "name" : "int_metadata_t",
364 "id" : 30,
365 "fields" : [
366 ["switch_id", 32, false],
367 ["insert_byte_cnt", 16, false],
368 ["source", 1, false],
369 ["sink", 1, false],
370 ["mirror_id", 8, false],
371 ["flow_id", 16, false],
372 ["metadata_len", 8, false],
373 ["_padding_1", 6, false]
374 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200375 }
376 ],
377 "headers" : [
378 {
379 "name" : "scalars",
380 "id" : 0,
381 "header_type" : "scalars_0",
382 "metadata" : true,
383 "pi_omit" : true
384 },
385 {
386 "name" : "standard_metadata",
387 "id" : 1,
388 "header_type" : "standard_metadata",
389 "metadata" : true,
390 "pi_omit" : true
391 },
392 {
393 "name" : "ethernet",
394 "id" : 2,
395 "header_type" : "ethernet_t",
396 "metadata" : false,
397 "pi_omit" : true
398 },
399 {
400 "name" : "vlan_tag",
401 "id" : 3,
402 "header_type" : "vlan_tag_t",
403 "metadata" : false,
404 "pi_omit" : true
405 },
406 {
407 "name" : "mpls",
408 "id" : 4,
409 "header_type" : "mpls_t",
410 "metadata" : false,
411 "pi_omit" : true
412 },
413 {
414 "name" : "gtpu_ipv4",
415 "id" : 5,
416 "header_type" : "ipv4_t",
417 "metadata" : false,
418 "pi_omit" : true
419 },
420 {
421 "name" : "gtpu_udp",
422 "id" : 6,
423 "header_type" : "udp_t",
424 "metadata" : false,
425 "pi_omit" : true
426 },
427 {
428 "name" : "gtpu",
429 "id" : 7,
430 "header_type" : "gtpu_t",
431 "metadata" : false,
432 "pi_omit" : true
433 },
434 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700435 "name" : "inner_ipv4",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200436 "id" : 8,
437 "header_type" : "ipv4_t",
438 "metadata" : false,
439 "pi_omit" : true
440 },
441 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700442 "name" : "inner_udp",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200443 "id" : 9,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700444 "header_type" : "udp_t",
445 "metadata" : false,
446 "pi_omit" : true
447 },
448 {
449 "name" : "ipv4",
450 "id" : 10,
451 "header_type" : "ipv4_t",
452 "metadata" : false,
453 "pi_omit" : true
454 },
455 {
456 "name" : "ipv6",
457 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200458 "header_type" : "ipv6_t",
459 "metadata" : false,
460 "pi_omit" : true
461 },
462 {
463 "name" : "arp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700464 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200465 "header_type" : "arp_t",
466 "metadata" : false,
467 "pi_omit" : true
468 },
469 {
470 "name" : "tcp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700471 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200472 "header_type" : "tcp_t",
473 "metadata" : false,
474 "pi_omit" : true
475 },
476 {
477 "name" : "udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700478 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200479 "header_type" : "udp_t",
480 "metadata" : false,
481 "pi_omit" : true
482 },
483 {
484 "name" : "icmp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700485 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200486 "header_type" : "icmp_t",
487 "metadata" : false,
488 "pi_omit" : true
489 },
490 {
491 "name" : "packet_out",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700492 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200493 "header_type" : "packet_out_header_t",
494 "metadata" : false,
495 "pi_omit" : true
496 },
497 {
498 "name" : "packet_in",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700499 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200500 "header_type" : "packet_in_header_t",
501 "metadata" : false,
502 "pi_omit" : true
503 },
504 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900505 "name" : "report_ethernet",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700506 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900507 "header_type" : "ethernet_t",
508 "metadata" : false,
509 "pi_omit" : true
510 },
511 {
512 "name" : "report_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700513 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900514 "header_type" : "ipv4_t",
515 "metadata" : false,
516 "pi_omit" : true
517 },
518 {
519 "name" : "report_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700520 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900521 "header_type" : "udp_t",
522 "metadata" : false,
523 "pi_omit" : true
524 },
525 {
526 "name" : "report_fixed_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700527 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900528 "header_type" : "report_fixed_header_t",
529 "metadata" : false,
530 "pi_omit" : true
531 },
532 {
533 "name" : "report_local.drop_report_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700534 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900535 "header_type" : "drop_report_header_t",
536 "metadata" : false,
537 "pi_omit" : true
538 },
539 {
540 "name" : "report_local.local_report_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700541 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900542 "header_type" : "local_report_header_t",
543 "metadata" : false,
544 "pi_omit" : true
545 },
546 {
547 "name" : "intl4_shim",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700548 "id" : 24,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900549 "header_type" : "intl4_shim_t",
550 "metadata" : false,
551 "pi_omit" : true
552 },
553 {
554 "name" : "int_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700555 "id" : 25,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900556 "header_type" : "int_header_t",
557 "metadata" : false,
558 "pi_omit" : true
559 },
560 {
561 "name" : "int_data",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700562 "id" : 26,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900563 "header_type" : "int_data_t",
564 "metadata" : false,
565 "pi_omit" : true
566 },
567 {
568 "name" : "int_switch_id",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700569 "id" : 27,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900570 "header_type" : "int_switch_id_t",
571 "metadata" : false,
572 "pi_omit" : true
573 },
574 {
575 "name" : "int_port_ids",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700576 "id" : 28,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900577 "header_type" : "int_port_ids_t",
578 "metadata" : false,
579 "pi_omit" : true
580 },
581 {
582 "name" : "int_hop_latency",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700583 "id" : 29,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900584 "header_type" : "int_hop_latency_t",
585 "metadata" : false,
586 "pi_omit" : true
587 },
588 {
589 "name" : "int_q_occupancy",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700590 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900591 "header_type" : "int_q_occupancy_t",
592 "metadata" : false,
593 "pi_omit" : true
594 },
595 {
596 "name" : "int_ingress_tstamp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700597 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900598 "header_type" : "int_ingress_tstamp_t",
599 "metadata" : false,
600 "pi_omit" : true
601 },
602 {
603 "name" : "int_egress_tstamp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700604 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900605 "header_type" : "int_egress_tstamp_t",
606 "metadata" : false,
607 "pi_omit" : true
608 },
609 {
610 "name" : "int_q_congestion",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700611 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900612 "header_type" : "int_q_congestion_t",
613 "metadata" : false,
614 "pi_omit" : true
615 },
616 {
617 "name" : "int_egress_tx_util",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700618 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900619 "header_type" : "int_egress_port_tx_util_t",
620 "metadata" : false,
621 "pi_omit" : true
622 },
623 {
624 "name" : "intl4_tail",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700625 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900626 "header_type" : "intl4_tail_t",
627 "metadata" : false,
628 "pi_omit" : true
629 },
630 {
631 "name" : "userMetadata.spgw",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700632 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200633 "header_type" : "spgw_meta_t",
634 "metadata" : true,
635 "pi_omit" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900636 },
637 {
638 "name" : "userMetadata.int_meta",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700639 "id" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900640 "header_type" : "int_metadata_t",
641 "metadata" : true,
642 "pi_omit" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200643 }
644 ],
645 "header_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900646 "header_union_types" : [
647 {
648 "name" : "local_report_t",
649 "id" : 0,
650 "headers" : [
651 ["drop_report_header", "drop_report_header_t"],
652 ["local_report_header", "local_report_header_t"]
653 ]
654 }
655 ],
656 "header_unions" : [
657 {
658 "name" : "report_local",
659 "id" : 0,
660 "union_type" : "local_report_t",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700661 "header_ids" : [22, 23],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900662 "pi_omit" : true
663 }
664 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200665 "header_union_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900666 "field_lists" : [
667 {
668 "id" : 1,
669 "name" : "fl",
670 "elements" : []
671 }
672 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200673 "errors" : [],
674 "enums" : [],
675 "parsers" : [
676 {
677 "name" : "parser",
678 "id" : 0,
679 "init_state" : "start",
680 "parse_states" : [
681 {
682 "name" : "start",
683 "id" : 0,
684 "parser_ops" : [],
685 "transitions" : [
686 {
687 "type" : "hexstr",
688 "value" : "0x00ff",
689 "mask" : null,
690 "next_state" : "parse_packet_out"
691 },
692 {
693 "value" : "default",
694 "mask" : null,
695 "next_state" : "parse_ethernet"
696 }
697 ],
698 "transition_key" : [
699 {
700 "type" : "field",
701 "value" : ["standard_metadata", "ingress_port"]
702 }
703 ]
704 },
705 {
706 "name" : "parse_packet_out",
707 "id" : 1,
708 "parser_ops" : [
709 {
710 "parameters" : [
711 {
712 "type" : "regular",
713 "value" : "packet_out"
714 }
715 ],
716 "op" : "extract"
717 }
718 ],
719 "transitions" : [
720 {
721 "value" : "default",
722 "mask" : null,
723 "next_state" : "parse_ethernet"
724 }
725 ],
726 "transition_key" : []
727 },
728 {
729 "name" : "parse_ethernet",
730 "id" : 2,
731 "parser_ops" : [
732 {
733 "parameters" : [
734 {
735 "type" : "regular",
736 "value" : "ethernet"
737 }
738 ],
739 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200740 }
741 ],
742 "transitions" : [
743 {
744 "type" : "hexstr",
745 "value" : "0x8100",
746 "mask" : null,
747 "next_state" : "parse_vlan_tag"
748 },
749 {
750 "type" : "hexstr",
751 "value" : "0x8847",
752 "mask" : null,
753 "next_state" : "parse_mpls"
754 },
755 {
756 "type" : "hexstr",
757 "value" : "0x0806",
758 "mask" : null,
759 "next_state" : "parse_arp"
760 },
761 {
762 "type" : "hexstr",
763 "value" : "0x0800",
764 "mask" : null,
765 "next_state" : "parse_ipv4"
766 },
767 {
768 "type" : "hexstr",
769 "value" : "0x86dd",
770 "mask" : null,
771 "next_state" : "parse_ipv6"
772 },
773 {
774 "value" : "default",
775 "mask" : null,
776 "next_state" : null
777 }
778 ],
779 "transition_key" : [
780 {
781 "type" : "field",
782 "value" : ["ethernet", "ether_type"]
783 }
784 ]
785 },
786 {
787 "name" : "parse_vlan_tag",
788 "id" : 3,
789 "parser_ops" : [
790 {
791 "parameters" : [
792 {
793 "type" : "regular",
794 "value" : "vlan_tag"
795 }
796 ],
797 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200798 }
799 ],
800 "transitions" : [
801 {
802 "type" : "hexstr",
803 "value" : "0x0806",
804 "mask" : null,
805 "next_state" : "parse_arp"
806 },
807 {
808 "type" : "hexstr",
809 "value" : "0x0800",
810 "mask" : null,
811 "next_state" : "parse_ipv4"
812 },
813 {
814 "type" : "hexstr",
815 "value" : "0x86dd",
816 "mask" : null,
817 "next_state" : "parse_ipv6"
818 },
819 {
820 "type" : "hexstr",
821 "value" : "0x8847",
822 "mask" : null,
823 "next_state" : "parse_mpls"
824 },
825 {
826 "value" : "default",
827 "mask" : null,
828 "next_state" : null
829 }
830 ],
831 "transition_key" : [
832 {
833 "type" : "field",
834 "value" : ["vlan_tag", "ether_type"]
835 }
836 ]
837 },
838 {
839 "name" : "parse_mpls",
840 "id" : 4,
841 "parser_ops" : [
842 {
843 "parameters" : [
844 {
845 "type" : "regular",
846 "value" : "mpls"
847 }
848 ],
849 "op" : "extract"
850 },
851 {
852 "parameters" : [
853 {
854 "type" : "field",
855 "value" : ["scalars", "tmp"]
856 },
857 {
858 "type" : "lookahead",
859 "value" : [0, 4]
860 }
861 ],
862 "op" : "set"
863 }
864 ],
865 "transitions" : [
866 {
867 "type" : "hexstr",
868 "value" : "0x04",
869 "mask" : null,
870 "next_state" : "parse_ipv4"
871 },
872 {
873 "type" : "hexstr",
874 "value" : "0x06",
875 "mask" : null,
876 "next_state" : "parse_ipv6"
877 },
878 {
879 "value" : "default",
880 "mask" : null,
881 "next_state" : "parse_ethernet"
882 }
883 ],
884 "transition_key" : [
885 {
886 "type" : "field",
887 "value" : ["scalars", "tmp"]
888 }
889 ]
890 },
891 {
892 "name" : "parse_ipv4",
893 "id" : 5,
894 "parser_ops" : [
895 {
896 "parameters" : [
897 {
898 "type" : "regular",
899 "value" : "ipv4"
900 }
901 ],
902 "op" : "extract"
903 },
904 {
905 "parameters" : [
906 {
907 "type" : "field",
908 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
909 },
910 {
911 "type" : "field",
912 "value" : ["ipv4", "protocol"]
913 }
914 ],
915 "op" : "set"
916 }
917 ],
918 "transitions" : [
919 {
920 "type" : "hexstr",
921 "value" : "0x06",
922 "mask" : null,
923 "next_state" : "parse_tcp"
924 },
925 {
926 "type" : "hexstr",
927 "value" : "0x11",
928 "mask" : null,
929 "next_state" : "parse_udp"
930 },
931 {
932 "type" : "hexstr",
933 "value" : "0x01",
934 "mask" : null,
935 "next_state" : "parse_icmp"
936 },
937 {
938 "value" : "default",
939 "mask" : null,
940 "next_state" : null
941 }
942 ],
943 "transition_key" : [
944 {
945 "type" : "field",
946 "value" : ["ipv4", "protocol"]
947 }
948 ]
949 },
950 {
951 "name" : "parse_ipv6",
952 "id" : 6,
953 "parser_ops" : [
954 {
955 "parameters" : [
956 {
957 "type" : "regular",
958 "value" : "ipv6"
959 }
960 ],
961 "op" : "extract"
962 },
963 {
964 "parameters" : [
965 {
966 "type" : "field",
967 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
968 },
969 {
970 "type" : "field",
971 "value" : ["ipv6", "next_hdr"]
972 }
973 ],
974 "op" : "set"
975 }
976 ],
977 "transitions" : [
978 {
979 "type" : "hexstr",
980 "value" : "0x06",
981 "mask" : null,
982 "next_state" : "parse_tcp"
983 },
984 {
985 "type" : "hexstr",
986 "value" : "0x11",
987 "mask" : null,
988 "next_state" : "parse_udp"
989 },
990 {
991 "type" : "hexstr",
992 "value" : "0x3a",
993 "mask" : null,
994 "next_state" : "parse_icmp"
995 },
996 {
997 "value" : "default",
998 "mask" : null,
999 "next_state" : null
1000 }
1001 ],
1002 "transition_key" : [
1003 {
1004 "type" : "field",
1005 "value" : ["ipv6", "next_hdr"]
1006 }
1007 ]
1008 },
1009 {
1010 "name" : "parse_arp",
1011 "id" : 7,
1012 "parser_ops" : [
1013 {
1014 "parameters" : [
1015 {
1016 "type" : "regular",
1017 "value" : "arp"
1018 }
1019 ],
1020 "op" : "extract"
1021 }
1022 ],
1023 "transitions" : [
1024 {
1025 "value" : "default",
1026 "mask" : null,
1027 "next_state" : null
1028 }
1029 ],
1030 "transition_key" : []
1031 },
1032 {
1033 "name" : "parse_tcp",
1034 "id" : 8,
1035 "parser_ops" : [
1036 {
1037 "parameters" : [
1038 {
1039 "type" : "regular",
1040 "value" : "tcp"
1041 }
1042 ],
1043 "op" : "extract"
1044 },
1045 {
1046 "parameters" : [
1047 {
1048 "type" : "field",
1049 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1050 },
1051 {
1052 "type" : "field",
1053 "value" : ["tcp", "src_port"]
1054 }
1055 ],
1056 "op" : "set"
1057 },
1058 {
1059 "parameters" : [
1060 {
1061 "type" : "field",
1062 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1063 },
1064 {
1065 "type" : "field",
1066 "value" : ["tcp", "dst_port"]
1067 }
1068 ],
1069 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001070 },
1071 {
1072 "parameters" : [
1073 {
1074 "type" : "field",
1075 "value" : ["scalars", "tmp_0"]
1076 },
1077 {
1078 "type" : "expression",
1079 "value" : {
1080 "type" : "expression",
1081 "value" : {
1082 "op" : "?",
1083 "left" : {
1084 "type" : "hexstr",
1085 "value" : "0x01"
1086 },
1087 "right" : {
1088 "type" : "hexstr",
1089 "value" : "0x00"
1090 },
1091 "cond" : {
1092 "type" : "expression",
1093 "value" : {
1094 "op" : "and",
1095 "left" : {
1096 "type" : "expression",
1097 "value" : {
1098 "op" : "d2b",
1099 "left" : null,
1100 "right" : {
1101 "type" : "field",
1102 "value" : ["ipv4", "$valid$"]
1103 }
1104 }
1105 },
1106 "right" : {
1107 "type" : "expression",
1108 "value" : {
1109 "op" : "==",
1110 "left" : {
1111 "type" : "expression",
1112 "value" : {
1113 "op" : "&",
1114 "left" : {
1115 "type" : "field",
1116 "value" : ["ipv4", "dscp"]
1117 },
1118 "right" : {
1119 "type" : "hexstr",
1120 "value" : "0x01"
1121 }
1122 }
1123 },
1124 "right" : {
1125 "type" : "hexstr",
1126 "value" : "0x01"
1127 }
1128 }
1129 }
1130 }
1131 }
1132 }
1133 }
1134 }
1135 ],
1136 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001137 }
1138 ],
1139 "transitions" : [
1140 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001141 "type" : "hexstr",
1142 "value" : "0x01",
1143 "mask" : null,
1144 "next_state" : "parse_intl4_shim"
1145 },
1146 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001147 "value" : "default",
1148 "mask" : null,
1149 "next_state" : null
1150 }
1151 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001152 "transition_key" : [
1153 {
1154 "type" : "field",
1155 "value" : ["scalars", "tmp_0"]
1156 }
1157 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001158 },
1159 {
1160 "name" : "parse_udp",
1161 "id" : 9,
1162 "parser_ops" : [
1163 {
1164 "parameters" : [
1165 {
1166 "type" : "regular",
1167 "value" : "udp"
1168 }
1169 ],
1170 "op" : "extract"
1171 },
1172 {
1173 "parameters" : [
1174 {
1175 "type" : "field",
1176 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1177 },
1178 {
1179 "type" : "field",
1180 "value" : ["udp", "src_port"]
1181 }
1182 ],
1183 "op" : "set"
1184 },
1185 {
1186 "parameters" : [
1187 {
1188 "type" : "field",
1189 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1190 },
1191 {
1192 "type" : "field",
1193 "value" : ["udp", "dst_port"]
1194 }
1195 ],
1196 "op" : "set"
1197 }
1198 ],
1199 "transitions" : [
1200 {
1201 "type" : "hexstr",
1202 "value" : "0x0868",
1203 "mask" : null,
1204 "next_state" : "parse_gtpu"
1205 },
1206 {
1207 "value" : "default",
1208 "mask" : null,
1209 "next_state" : null
1210 }
1211 ],
1212 "transition_key" : [
1213 {
1214 "type" : "field",
1215 "value" : ["udp", "dst_port"]
1216 }
1217 ]
1218 },
1219 {
1220 "name" : "parse_icmp",
1221 "id" : 10,
1222 "parser_ops" : [
1223 {
1224 "parameters" : [
1225 {
1226 "type" : "regular",
1227 "value" : "icmp"
1228 }
1229 ],
1230 "op" : "extract"
1231 }
1232 ],
1233 "transitions" : [
1234 {
1235 "value" : "default",
1236 "mask" : null,
1237 "next_state" : null
1238 }
1239 ],
1240 "transition_key" : []
1241 },
1242 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001243 "name" : "parse_intl4_shim",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001244 "id" : 11,
1245 "parser_ops" : [
1246 {
1247 "parameters" : [
1248 {
1249 "type" : "regular",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001250 "value" : "intl4_shim"
1251 }
1252 ],
1253 "op" : "extract"
1254 },
1255 {
1256 "parameters" : [
1257 {
1258 "type" : "regular",
1259 "value" : "int_header"
1260 }
1261 ],
1262 "op" : "extract"
1263 },
1264 {
1265 "parameters" : [
1266 {
1267 "type" : "field",
1268 "value" : ["userMetadata.int_meta", "metadata_len"]
1269 },
1270 {
1271 "type" : "expression",
1272 "value" : {
1273 "type" : "expression",
1274 "value" : {
1275 "op" : "&",
1276 "left" : {
1277 "type" : "expression",
1278 "value" : {
1279 "op" : "+",
1280 "left" : {
1281 "type" : "field",
1282 "value" : ["intl4_shim", "len"]
1283 },
1284 "right" : {
1285 "type" : "hexstr",
1286 "value" : "0xfc"
1287 }
1288 }
1289 },
1290 "right" : {
1291 "type" : "hexstr",
1292 "value" : "0xff"
1293 }
1294 }
1295 }
1296 }
1297 ],
1298 "op" : "set"
1299 }
1300 ],
1301 "transitions" : [
1302 {
1303 "type" : "hexstr",
1304 "value" : "0x00",
1305 "mask" : null,
1306 "next_state" : "parse_intl4_tail"
1307 },
1308 {
1309 "value" : "default",
1310 "mask" : null,
1311 "next_state" : "parse_int_data"
1312 }
1313 ],
1314 "transition_key" : [
1315 {
1316 "type" : "field",
1317 "value" : ["userMetadata.int_meta", "metadata_len"]
1318 }
1319 ]
1320 },
1321 {
1322 "name" : "parse_int_data",
1323 "id" : 12,
1324 "parser_ops" : [
1325 {
1326 "parameters" : [
1327 {
1328 "type" : "field",
1329 "value" : ["scalars", "tmp_1"]
1330 },
1331 {
1332 "type" : "expression",
1333 "value" : {
1334 "type" : "expression",
1335 "value" : {
1336 "op" : "&",
1337 "left" : {
1338 "type" : "expression",
1339 "value" : {
1340 "op" : "&",
1341 "left" : {
1342 "type" : "expression",
1343 "value" : {
1344 "op" : "<<",
1345 "left" : {
1346 "type" : "expression",
1347 "value" : {
1348 "op" : "&",
1349 "left" : {
1350 "type" : "expression",
1351 "value" : {
1352 "op" : "+",
1353 "left" : {
1354 "type" : "field",
1355 "value" : ["intl4_shim", "len"]
1356 },
1357 "right" : {
1358 "type" : "hexstr",
1359 "value" : "0xfc"
1360 }
1361 }
1362 },
1363 "right" : {
1364 "type" : "hexstr",
1365 "value" : "0xff"
1366 }
1367 }
1368 },
1369 "right" : {
1370 "type" : "hexstr",
1371 "value" : "0x5"
1372 }
1373 }
1374 },
1375 "right" : {
1376 "type" : "hexstr",
1377 "value" : "0xff"
1378 }
1379 }
1380 },
1381 "right" : {
1382 "type" : "hexstr",
1383 "value" : "0xffffffff"
1384 }
1385 }
1386 }
1387 }
1388 ],
1389 "op" : "set"
1390 },
1391 {
1392 "parameters" : [
1393 {
1394 "type" : "regular",
1395 "value" : "int_data"
1396 },
1397 {
1398 "type" : "expression",
1399 "value" : {
1400 "type" : "field",
1401 "value" : ["scalars", "tmp_1"]
1402 }
1403 }
1404 ],
1405 "op" : "extract_VL"
1406 }
1407 ],
1408 "transitions" : [
1409 {
1410 "value" : "default",
1411 "mask" : null,
1412 "next_state" : "parse_intl4_tail"
1413 }
1414 ],
1415 "transition_key" : []
1416 },
1417 {
1418 "name" : "parse_intl4_tail",
1419 "id" : 13,
1420 "parser_ops" : [
1421 {
1422 "parameters" : [
1423 {
1424 "type" : "regular",
1425 "value" : "intl4_tail"
1426 }
1427 ],
1428 "op" : "extract"
1429 }
1430 ],
1431 "transitions" : [
1432 {
1433 "value" : "default",
1434 "mask" : null,
1435 "next_state" : null
1436 }
1437 ],
1438 "transition_key" : []
1439 },
1440 {
1441 "name" : "parse_gtpu",
1442 "id" : 14,
1443 "parser_ops" : [
1444 {
1445 "parameters" : [
1446 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001447 "type" : "field",
1448 "value" : ["scalars", "tmp_2"]
1449 },
1450 {
1451 "type" : "expression",
1452 "value" : {
1453 "type" : "expression",
1454 "value" : {
1455 "op" : "&",
1456 "left" : {
Charles Chancf696e52018-08-16 16:25:13 -07001457 "type" : "expression",
1458 "value" : {
1459 "op" : "&",
1460 "left" : {
1461 "type" : "expression",
1462 "value" : {
1463 "op" : ">>",
1464 "left" : {
1465 "type" : "field",
1466 "value" : ["ipv4", "dst_addr"]
1467 },
1468 "right" : {
1469 "type" : "hexstr",
1470 "value" : "0x18"
1471 }
1472 }
1473 },
1474 "right" : {
1475 "type" : "hexstr",
1476 "value" : "0xffffffff"
1477 }
1478 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001479 },
1480 "right" : {
1481 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001482 "value" : "0xff"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001483 }
1484 }
1485 }
1486 }
1487 ],
1488 "op" : "set"
1489 }
1490 ],
1491 "transitions" : [
1492 {
1493 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001494 "value" : "0x8c",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001495 "mask" : null,
1496 "next_state" : "do_parse_gtpu"
1497 },
1498 {
1499 "value" : "default",
1500 "mask" : null,
1501 "next_state" : null
1502 }
1503 ],
1504 "transition_key" : [
1505 {
1506 "type" : "field",
1507 "value" : ["scalars", "tmp_2"]
1508 }
1509 ]
1510 },
1511 {
1512 "name" : "do_parse_gtpu",
1513 "id" : 15,
1514 "parser_ops" : [
1515 {
1516 "parameters" : [
1517 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001518 "type" : "regular",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001519 "value" : "gtpu"
1520 }
1521 ],
1522 "op" : "extract"
1523 },
1524 {
1525 "parameters" : [
1526 {
1527 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001528 "value" : "inner_ipv4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001529 }
1530 ],
1531 "op" : "extract"
1532 }
1533 ],
1534 "transitions" : [
1535 {
1536 "type" : "hexstr",
1537 "value" : "0x06",
1538 "mask" : null,
1539 "next_state" : "parse_tcp"
1540 },
1541 {
1542 "type" : "hexstr",
1543 "value" : "0x11",
1544 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001545 "next_state" : "parse_inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001546 },
1547 {
1548 "type" : "hexstr",
1549 "value" : "0x01",
1550 "mask" : null,
1551 "next_state" : "parse_icmp"
1552 },
1553 {
1554 "value" : "default",
1555 "mask" : null,
1556 "next_state" : null
1557 }
1558 ],
1559 "transition_key" : [
1560 {
1561 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001562 "value" : ["inner_ipv4", "protocol"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001563 }
1564 ]
1565 },
1566 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001567 "name" : "parse_inner_udp",
1568 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001569 "parser_ops" : [
1570 {
1571 "parameters" : [
1572 {
1573 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001574 "value" : "inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001575 }
1576 ],
1577 "op" : "extract"
1578 },
1579 {
1580 "parameters" : [
1581 {
1582 "type" : "field",
1583 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1584 },
1585 {
1586 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001587 "value" : ["inner_udp", "src_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001588 }
1589 ],
1590 "op" : "set"
1591 },
1592 {
1593 "parameters" : [
1594 {
1595 "type" : "field",
1596 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1597 },
1598 {
1599 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001600 "value" : ["inner_udp", "dst_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001601 }
1602 ],
1603 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001604 },
1605 {
1606 "parameters" : [
1607 {
1608 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001609 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001610 },
1611 {
1612 "type" : "expression",
1613 "value" : {
1614 "type" : "expression",
1615 "value" : {
1616 "op" : "?",
1617 "left" : {
1618 "type" : "hexstr",
1619 "value" : "0x01"
1620 },
1621 "right" : {
1622 "type" : "hexstr",
1623 "value" : "0x00"
1624 },
1625 "cond" : {
1626 "type" : "expression",
1627 "value" : {
1628 "op" : "and",
1629 "left" : {
1630 "type" : "expression",
1631 "value" : {
1632 "op" : "d2b",
1633 "left" : null,
1634 "right" : {
1635 "type" : "field",
1636 "value" : ["ipv4", "$valid$"]
1637 }
1638 }
1639 },
1640 "right" : {
1641 "type" : "expression",
1642 "value" : {
1643 "op" : "==",
1644 "left" : {
1645 "type" : "expression",
1646 "value" : {
1647 "op" : "&",
1648 "left" : {
1649 "type" : "field",
1650 "value" : ["ipv4", "dscp"]
1651 },
1652 "right" : {
1653 "type" : "hexstr",
1654 "value" : "0x01"
1655 }
1656 }
1657 },
1658 "right" : {
1659 "type" : "hexstr",
1660 "value" : "0x01"
1661 }
1662 }
1663 }
1664 }
1665 }
1666 }
1667 }
1668 }
1669 ],
1670 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001671 }
1672 ],
1673 "transitions" : [
1674 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001675 "type" : "hexstr",
1676 "value" : "0x01",
1677 "mask" : null,
1678 "next_state" : "parse_intl4_shim"
1679 },
1680 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001681 "value" : "default",
1682 "mask" : null,
1683 "next_state" : null
1684 }
1685 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001686 "transition_key" : [
1687 {
1688 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001689 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001690 }
1691 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001692 }
1693 ]
1694 }
1695 ],
1696 "parse_vsets" : [],
1697 "deparsers" : [
1698 {
1699 "name" : "deparser",
1700 "id" : 0,
1701 "source_info" : {
1702 "filename" : "include/parser.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001703 "line" : 223,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001704 "column" : 8,
1705 "source_fragment" : "FabricDeparser"
1706 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001707 "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 +02001708 }
1709 ],
1710 "meter_arrays" : [],
1711 "counter_arrays" : [
1712 {
1713 "name" : "FabricIngress.spgw_ingress.ue_counter",
1714 "id" : 0,
1715 "is_direct" : true,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001716 "binding" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001717 },
1718 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001719 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001720 "id" : 1,
1721 "is_direct" : true,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001722 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1723 },
1724 {
1725 "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
1726 "id" : 2,
1727 "is_direct" : true,
1728 "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
1729 },
1730 {
1731 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1732 "id" : 3,
1733 "is_direct" : true,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001734 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1735 },
1736 {
1737 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001738 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001739 "is_direct" : true,
1740 "binding" : "FabricIngress.filtering.fwd_classifier"
1741 },
1742 {
1743 "name" : "FabricIngress.forwarding.bridging_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001744 "id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001745 "is_direct" : true,
1746 "binding" : "FabricIngress.forwarding.bridging"
1747 },
1748 {
1749 "name" : "FabricIngress.forwarding.mpls_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001750 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001751 "is_direct" : true,
1752 "binding" : "FabricIngress.forwarding.mpls"
1753 },
1754 {
Charles Chan384aea22018-08-23 22:08:02 -07001755 "name" : "FabricIngress.forwarding.routing_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001756 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001757 "is_direct" : true,
Charles Chan384aea22018-08-23 22:08:02 -07001758 "binding" : "FabricIngress.forwarding.routing_v4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001759 },
1760 {
1761 "name" : "FabricIngress.forwarding.acl_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001762 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001763 "is_direct" : true,
1764 "binding" : "FabricIngress.forwarding.acl"
1765 },
1766 {
Charles Chan384aea22018-08-23 22:08:02 -07001767 "name" : "FabricIngress.forwarding.routing_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001768 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001769 "is_direct" : true,
Charles Chan384aea22018-08-23 22:08:02 -07001770 "binding" : "FabricIngress.forwarding.routing_v6"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001771 },
1772 {
1773 "name" : "FabricIngress.next.vlan_meta_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001774 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001775 "is_direct" : true,
1776 "binding" : "FabricIngress.next.vlan_meta"
1777 },
1778 {
1779 "name" : "FabricIngress.next.simple_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001780 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001781 "is_direct" : true,
1782 "binding" : "FabricIngress.next.simple"
1783 },
1784 {
1785 "name" : "FabricIngress.next.hashed_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001786 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001787 "is_direct" : true,
1788 "binding" : "FabricIngress.next.hashed"
1789 },
1790 {
1791 "name" : "FabricIngress.next.multicast_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001792 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001793 "is_direct" : true,
1794 "binding" : "FabricIngress.next.multicast"
1795 },
1796 {
1797 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001798 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001799 "source_info" : {
1800 "filename" : "include/control/port_counter.p4",
1801 "line" : 23,
1802 "column" : 48,
1803 "source_fragment" : "egress_port_counter"
1804 },
1805 "size" : 511,
1806 "is_direct" : false
1807 },
1808 {
1809 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001810 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001811 "source_info" : {
1812 "filename" : "include/control/port_counter.p4",
1813 "line" : 24,
1814 "column" : 48,
1815 "source_fragment" : "ingress_port_counter"
1816 },
1817 "size" : 511,
1818 "is_direct" : false
1819 },
1820 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001821 "name" : "FabricEgress.process_int_source.counter_int_source",
Charles Chan384aea22018-08-23 22:08:02 -07001822 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001823 "is_direct" : true,
1824 "binding" : "FabricEgress.process_int_source.tb_int_source"
1825 },
1826 {
1827 "name" : "FabricEgress.process_int_transit.counter_int_insert",
Charles Chan384aea22018-08-23 22:08:02 -07001828 "id" : 17,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001829 "is_direct" : true,
1830 "binding" : "FabricEgress.process_int_transit.tb_int_insert"
1831 },
1832 {
1833 "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
Charles Chan384aea22018-08-23 22:08:02 -07001834 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001835 "is_direct" : true,
1836 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
1837 },
1838 {
1839 "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
Charles Chan384aea22018-08-23 22:08:02 -07001840 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001841 "is_direct" : true,
1842 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
1843 },
1844 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001845 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001846 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001847 "is_direct" : true,
1848 "binding" : "FabricEgress.egress_next.egress_vlan"
1849 }
1850 ],
1851 "register_arrays" : [],
1852 "calculations" : [
1853 {
1854 "name" : "calc",
1855 "id" : 0,
1856 "source_info" : {
1857 "filename" : "include/checksum.p4",
1858 "line" : 28,
1859 "column" : 8,
1860 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1861 },
1862 "algo" : "csum16",
1863 "input" : [
1864 {
1865 "type" : "field",
1866 "value" : ["ipv4", "version"]
1867 },
1868 {
1869 "type" : "field",
1870 "value" : ["ipv4", "ihl"]
1871 },
1872 {
1873 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001874 "value" : ["ipv4", "dscp"]
1875 },
1876 {
1877 "type" : "field",
1878 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001879 },
1880 {
1881 "type" : "field",
1882 "value" : ["ipv4", "total_len"]
1883 },
1884 {
1885 "type" : "field",
1886 "value" : ["ipv4", "identification"]
1887 },
1888 {
1889 "type" : "field",
1890 "value" : ["ipv4", "flags"]
1891 },
1892 {
1893 "type" : "field",
1894 "value" : ["ipv4", "frag_offset"]
1895 },
1896 {
1897 "type" : "field",
1898 "value" : ["ipv4", "ttl"]
1899 },
1900 {
1901 "type" : "field",
1902 "value" : ["ipv4", "protocol"]
1903 },
1904 {
1905 "type" : "field",
1906 "value" : ["ipv4", "src_addr"]
1907 },
1908 {
1909 "type" : "field",
1910 "value" : ["ipv4", "dst_addr"]
1911 }
1912 ]
1913 },
1914 {
1915 "name" : "calc_0",
1916 "id" : 1,
1917 "source_info" : {
1918 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001919 "line" : 237,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001920 "column" : 8,
1921 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1922 },
1923 "algo" : "csum16",
1924 "input" : [
1925 {
1926 "type" : "field",
1927 "value" : ["gtpu_ipv4", "version"]
1928 },
1929 {
1930 "type" : "field",
1931 "value" : ["gtpu_ipv4", "ihl"]
1932 },
1933 {
1934 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001935 "value" : ["gtpu_ipv4", "dscp"]
1936 },
1937 {
1938 "type" : "field",
1939 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001940 },
1941 {
1942 "type" : "field",
1943 "value" : ["gtpu_ipv4", "total_len"]
1944 },
1945 {
1946 "type" : "field",
1947 "value" : ["gtpu_ipv4", "identification"]
1948 },
1949 {
1950 "type" : "field",
1951 "value" : ["gtpu_ipv4", "flags"]
1952 },
1953 {
1954 "type" : "field",
1955 "value" : ["gtpu_ipv4", "frag_offset"]
1956 },
1957 {
1958 "type" : "field",
1959 "value" : ["gtpu_ipv4", "ttl"]
1960 },
1961 {
1962 "type" : "field",
1963 "value" : ["gtpu_ipv4", "protocol"]
1964 },
1965 {
1966 "type" : "field",
1967 "value" : ["gtpu_ipv4", "src_addr"]
1968 },
1969 {
1970 "type" : "field",
1971 "value" : ["gtpu_ipv4", "dst_addr"]
1972 }
1973 ]
1974 },
1975 {
1976 "name" : "calc_1",
1977 "id" : 2,
1978 "source_info" : {
1979 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001980 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001981 "column" : 8,
1982 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1983 },
1984 "algo" : "csum16",
1985 "input" : [
1986 {
1987 "type" : "field",
1988 "value" : ["ipv4", "version"]
1989 },
1990 {
1991 "type" : "field",
1992 "value" : ["ipv4", "ihl"]
1993 },
1994 {
1995 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001996 "value" : ["ipv4", "dscp"]
1997 },
1998 {
1999 "type" : "field",
2000 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002001 },
2002 {
2003 "type" : "field",
2004 "value" : ["ipv4", "total_len"]
2005 },
2006 {
2007 "type" : "field",
2008 "value" : ["ipv4", "identification"]
2009 },
2010 {
2011 "type" : "field",
2012 "value" : ["ipv4", "flags"]
2013 },
2014 {
2015 "type" : "field",
2016 "value" : ["ipv4", "frag_offset"]
2017 },
2018 {
2019 "type" : "field",
2020 "value" : ["ipv4", "ttl"]
2021 },
2022 {
2023 "type" : "field",
2024 "value" : ["ipv4", "protocol"]
2025 },
2026 {
2027 "type" : "field",
2028 "value" : ["ipv4", "src_addr"]
2029 },
2030 {
2031 "type" : "field",
2032 "value" : ["ipv4", "dst_addr"]
2033 }
2034 ]
2035 }
2036 ],
2037 "learn_lists" : [],
2038 "actions" : [
2039 {
2040 "name" : "NoAction",
2041 "id" : 0,
2042 "runtime_data" : [],
2043 "primitives" : []
2044 },
2045 {
2046 "name" : "NoAction",
2047 "id" : 1,
2048 "runtime_data" : [],
2049 "primitives" : []
2050 },
2051 {
2052 "name" : "NoAction",
2053 "id" : 2,
2054 "runtime_data" : [],
2055 "primitives" : []
2056 },
2057 {
2058 "name" : "NoAction",
2059 "id" : 3,
2060 "runtime_data" : [],
2061 "primitives" : []
2062 },
2063 {
2064 "name" : "NoAction",
2065 "id" : 4,
2066 "runtime_data" : [],
2067 "primitives" : []
2068 },
2069 {
2070 "name" : "NoAction",
2071 "id" : 5,
2072 "runtime_data" : [],
2073 "primitives" : []
2074 },
2075 {
2076 "name" : "NoAction",
2077 "id" : 6,
2078 "runtime_data" : [],
2079 "primitives" : []
2080 },
2081 {
2082 "name" : "NoAction",
2083 "id" : 7,
2084 "runtime_data" : [],
2085 "primitives" : []
2086 },
2087 {
2088 "name" : "NoAction",
2089 "id" : 8,
2090 "runtime_data" : [],
2091 "primitives" : []
2092 },
2093 {
2094 "name" : "NoAction",
2095 "id" : 9,
2096 "runtime_data" : [],
2097 "primitives" : []
2098 },
2099 {
2100 "name" : "NoAction",
2101 "id" : 10,
2102 "runtime_data" : [],
2103 "primitives" : []
2104 },
2105 {
Charles Chan384aea22018-08-23 22:08:02 -07002106 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002107 "id" : 11,
2108 "runtime_data" : [],
2109 "primitives" : []
2110 },
2111 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002112 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07002113 "id" : 12,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002114 "runtime_data" : [],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002115 "primitives" : [
2116 {
2117 "op" : "drop",
2118 "parameters" : [],
2119 "source_info" : {
2120 "filename" : "include/control/../action.p4",
2121 "line" : 24,
2122 "column" : 4,
2123 "source_fragment" : "mark_to_drop()"
2124 }
2125 },
2126 {
2127 "op" : "exit",
2128 "parameters" : [],
2129 "source_info" : {
2130 "filename" : "include/control/../action.p4",
2131 "line" : 25,
2132 "column" : 4,
2133 "source_fragment" : "exit"
2134 }
2135 }
2136 ]
2137 },
2138 {
2139 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
Charles Chan384aea22018-08-23 22:08:02 -07002140 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002141 "runtime_data" : [],
2142 "primitives" : [
2143 {
2144 "op" : "remove_header",
2145 "parameters" : [
2146 {
2147 "type" : "header",
2148 "value" : "gtpu_ipv4"
2149 }
2150 ],
2151 "source_info" : {
2152 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002153 "line" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002154 "column" : 8,
2155 "source_fragment" : "gtpu_ipv4.setInvalid()"
2156 }
2157 },
2158 {
2159 "op" : "remove_header",
2160 "parameters" : [
2161 {
2162 "type" : "header",
2163 "value" : "gtpu_udp"
2164 }
2165 ],
2166 "source_info" : {
2167 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002168 "line" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002169 "column" : 8,
2170 "source_fragment" : "gtpu_udp.setInvalid()"
2171 }
2172 },
2173 {
2174 "op" : "remove_header",
2175 "parameters" : [
2176 {
2177 "type" : "header",
2178 "value" : "gtpu"
2179 }
2180 ],
2181 "source_info" : {
2182 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002183 "line" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002184 "column" : 8,
2185 "source_fragment" : "gtpu.setInvalid()"
2186 }
2187 }
2188 ]
2189 },
2190 {
2191 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
Charles Chan384aea22018-08-23 22:08:02 -07002192 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002193 "runtime_data" : [
2194 {
2195 "name" : "teid",
2196 "bitwidth" : 32
2197 },
2198 {
2199 "name" : "s1u_enb_addr",
2200 "bitwidth" : 32
2201 },
2202 {
2203 "name" : "s1u_sgw_addr",
2204 "bitwidth" : 32
2205 }
2206 ],
2207 "primitives" : [
2208 {
2209 "op" : "assign",
2210 "parameters" : [
2211 {
2212 "type" : "field",
2213 "value" : ["userMetadata.spgw", "teid"]
2214 },
2215 {
2216 "type" : "runtime_data",
2217 "value" : 0
2218 }
2219 ],
2220 "source_info" : {
2221 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002222 "line" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002223 "column" : 8,
2224 "source_fragment" : "spgw_meta.teid = teid"
2225 }
2226 },
2227 {
2228 "op" : "assign",
2229 "parameters" : [
2230 {
2231 "type" : "field",
2232 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
2233 },
2234 {
2235 "type" : "runtime_data",
2236 "value" : 1
2237 }
2238 ],
2239 "source_info" : {
2240 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002241 "line" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002242 "column" : 8,
2243 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
2244 }
2245 },
2246 {
2247 "op" : "assign",
2248 "parameters" : [
2249 {
2250 "type" : "field",
2251 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
2252 },
2253 {
2254 "type" : "runtime_data",
2255 "value" : 2
2256 }
2257 ],
2258 "source_info" : {
2259 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002260 "line" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002261 "column" : 8,
2262 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
2263 }
2264 }
2265 ]
2266 },
2267 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002268 "name" : "FabricIngress.process_set_source_sink.int_set_source",
Charles Chan384aea22018-08-23 22:08:02 -07002269 "id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002270 "runtime_data" : [],
2271 "primitives" : [
2272 {
2273 "op" : "assign",
2274 "parameters" : [
2275 {
2276 "type" : "field",
2277 "value" : ["userMetadata.int_meta", "source"]
2278 },
2279 {
2280 "type" : "hexstr",
2281 "value" : "0x01"
2282 }
2283 ],
2284 "source_info" : {
2285 "filename" : "include/int_source.p4",
2286 "line" : 94,
2287 "column" : 8,
2288 "source_fragment" : "fabric_metadata.int_meta.source = 1"
2289 }
2290 }
2291 ]
2292 },
2293 {
2294 "name" : "FabricIngress.process_set_source_sink.int_set_sink",
Charles Chan384aea22018-08-23 22:08:02 -07002295 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002296 "runtime_data" : [],
2297 "primitives" : [
2298 {
2299 "op" : "assign",
2300 "parameters" : [
2301 {
2302 "type" : "field",
2303 "value" : ["userMetadata.int_meta", "sink"]
2304 },
2305 {
2306 "type" : "hexstr",
2307 "value" : "0x01"
2308 }
2309 ],
2310 "source_info" : {
2311 "filename" : "include/int_source.p4",
2312 "line" : 98,
2313 "column" : 8,
2314 "source_fragment" : "fabric_metadata.int_meta.sink = 1"
2315 }
2316 }
2317 ]
2318 },
2319 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002320 "name" : "FabricIngress.filtering.drop",
Charles Chan384aea22018-08-23 22:08:02 -07002321 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002322 "runtime_data" : [],
2323 "primitives" : [
2324 {
2325 "op" : "drop",
2326 "parameters" : [],
2327 "source_info" : {
2328 "filename" : "include/control/filtering.p4",
2329 "line" : 37,
2330 "column" : 8,
2331 "source_fragment" : "mark_to_drop()"
2332 }
2333 }
2334 ]
2335 },
2336 {
2337 "name" : "FabricIngress.filtering.set_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002338 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002339 "runtime_data" : [
2340 {
2341 "name" : "new_vlan_id",
2342 "bitwidth" : 12
2343 }
2344 ],
2345 "primitives" : [
2346 {
2347 "op" : "assign",
2348 "parameters" : [
2349 {
2350 "type" : "field",
2351 "value" : ["vlan_tag", "vlan_id"]
2352 },
2353 {
2354 "type" : "runtime_data",
2355 "value" : 0
2356 }
2357 ],
2358 "source_info" : {
2359 "filename" : "include/control/filtering.p4",
2360 "line" : 42,
2361 "column" : 8,
2362 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2363 }
2364 }
2365 ]
2366 },
2367 {
2368 "name" : "FabricIngress.filtering.push_internal_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002369 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002370 "runtime_data" : [
2371 {
2372 "name" : "new_vlan_id",
2373 "bitwidth" : 12
2374 }
2375 ],
2376 "primitives" : [
2377 {
2378 "op" : "add_header",
2379 "parameters" : [
2380 {
2381 "type" : "header",
2382 "value" : "vlan_tag"
2383 }
2384 ],
2385 "source_info" : {
2386 "filename" : "include/control/filtering.p4",
2387 "line" : 49,
2388 "column" : 8,
2389 "source_fragment" : "hdr.vlan_tag.setValid()"
2390 }
2391 },
2392 {
2393 "op" : "assign",
2394 "parameters" : [
2395 {
2396 "type" : "field",
2397 "value" : ["vlan_tag", "cfi"]
2398 },
2399 {
2400 "type" : "hexstr",
2401 "value" : "0x00"
2402 }
2403 ],
2404 "source_info" : {
2405 "filename" : "include/control/filtering.p4",
2406 "line" : 50,
2407 "column" : 8,
2408 "source_fragment" : "hdr.vlan_tag.cfi = 0"
2409 }
2410 },
2411 {
2412 "op" : "assign",
2413 "parameters" : [
2414 {
2415 "type" : "field",
2416 "value" : ["vlan_tag", "pri"]
2417 },
2418 {
2419 "type" : "hexstr",
2420 "value" : "0x00"
2421 }
2422 ],
2423 "source_info" : {
2424 "filename" : "include/control/filtering.p4",
2425 "line" : 51,
2426 "column" : 8,
2427 "source_fragment" : "hdr.vlan_tag.pri = 0"
2428 }
2429 },
2430 {
2431 "op" : "assign",
2432 "parameters" : [
2433 {
2434 "type" : "field",
2435 "value" : ["vlan_tag", "ether_type"]
2436 },
2437 {
2438 "type" : "field",
2439 "value" : ["ethernet", "ether_type"]
2440 }
2441 ],
2442 "source_info" : {
2443 "filename" : "include/control/filtering.p4",
2444 "line" : 52,
2445 "column" : 8,
2446 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
2447 }
2448 },
2449 {
2450 "op" : "assign",
2451 "parameters" : [
2452 {
2453 "type" : "field",
2454 "value" : ["ethernet", "ether_type"]
2455 },
2456 {
2457 "type" : "hexstr",
2458 "value" : "0x8100"
2459 }
2460 ],
2461 "source_info" : {
2462 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002463 "line" : 89,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002464 "column" : 31,
2465 "source_fragment" : "0x8100; ..."
2466 }
2467 },
2468 {
2469 "op" : "assign",
2470 "parameters" : [
2471 {
2472 "type" : "field",
2473 "value" : ["vlan_tag", "vlan_id"]
2474 },
2475 {
2476 "type" : "runtime_data",
2477 "value" : 0
2478 }
2479 ],
2480 "source_info" : {
2481 "filename" : "include/control/filtering.p4",
2482 "line" : 54,
2483 "column" : 8,
2484 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2485 }
2486 },
2487 {
2488 "op" : "assign",
2489 "parameters" : [
2490 {
2491 "type" : "field",
2492 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2493 },
2494 {
2495 "type" : "expression",
2496 "value" : {
2497 "type" : "expression",
2498 "value" : {
2499 "op" : "b2d",
2500 "left" : null,
2501 "right" : {
2502 "type" : "bool",
2503 "value" : true
2504 }
2505 }
2506 }
2507 }
2508 ],
2509 "source_info" : {
2510 "filename" : "include/control/filtering.p4",
2511 "line" : 57,
2512 "column" : 8,
2513 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2514 }
2515 }
2516 ]
2517 },
2518 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002519 "name" : "FabricIngress.filtering.nop_ingress_port_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002520 "id" : 20,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002521 "runtime_data" : [],
2522 "primitives" : []
2523 },
2524 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002525 "name" : "FabricIngress.filtering.set_forwarding_type",
Charles Chan384aea22018-08-23 22:08:02 -07002526 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002527 "runtime_data" : [
2528 {
2529 "name" : "fwd_type",
2530 "bitwidth" : 3
2531 }
2532 ],
2533 "primitives" : [
2534 {
2535 "op" : "assign",
2536 "parameters" : [
2537 {
2538 "type" : "field",
2539 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2540 },
2541 {
2542 "type" : "runtime_data",
2543 "value" : 0
2544 }
2545 ],
2546 "source_info" : {
2547 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002548 "line" : 99,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002549 "column" : 8,
2550 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2551 }
2552 }
2553 ]
2554 },
2555 {
2556 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Charles Chan384aea22018-08-23 22:08:02 -07002557 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002558 "runtime_data" : [
2559 {
2560 "name" : "next_id",
2561 "bitwidth" : 32
2562 }
2563 ],
2564 "primitives" : [
2565 {
2566 "op" : "assign",
2567 "parameters" : [
2568 {
2569 "type" : "field",
2570 "value" : ["scalars", "fabric_metadata_t.next_id"]
2571 },
2572 {
2573 "type" : "runtime_data",
2574 "value" : 0
2575 }
2576 ],
2577 "source_info" : {
2578 "filename" : "include/control/forwarding.p4",
2579 "line" : 37,
2580 "column" : 8,
2581 "source_fragment" : "fabric_metadata.next_id = next_id"
2582 }
2583 }
2584 ]
2585 },
2586 {
2587 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Charles Chan384aea22018-08-23 22:08:02 -07002588 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002589 "runtime_data" : [
2590 {
2591 "name" : "next_id",
2592 "bitwidth" : 32
2593 }
2594 ],
2595 "primitives" : [
2596 {
2597 "op" : "remove_header",
2598 "parameters" : [
2599 {
2600 "type" : "header",
2601 "value" : "mpls"
2602 }
2603 ],
2604 "source_info" : {
2605 "filename" : "include/control/forwarding.p4",
2606 "line" : 60,
2607 "column" : 8,
2608 "source_fragment" : "hdr.mpls.setInvalid()"
2609 }
2610 },
2611 {
2612 "op" : "assign",
2613 "parameters" : [
2614 {
2615 "type" : "field",
2616 "value" : ["scalars", "fabric_metadata_t.next_id"]
2617 },
2618 {
2619 "type" : "runtime_data",
2620 "value" : 0
2621 }
2622 ],
2623 "source_info" : {
2624 "filename" : "include/control/forwarding.p4",
2625 "line" : 61,
2626 "column" : 8,
2627 "source_fragment" : "fabric_metadata.next_id = next_id"
2628 }
2629 }
2630 ]
2631 },
2632 {
Charles Chan384aea22018-08-23 22:08:02 -07002633 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
2634 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002635 "runtime_data" : [
2636 {
2637 "name" : "next_id",
2638 "bitwidth" : 32
2639 }
2640 ],
2641 "primitives" : [
2642 {
2643 "op" : "assign",
2644 "parameters" : [
2645 {
2646 "type" : "field",
2647 "value" : ["scalars", "fabric_metadata_t.next_id"]
2648 },
2649 {
2650 "type" : "runtime_data",
2651 "value" : 0
2652 }
2653 ],
2654 "source_info" : {
2655 "filename" : "include/control/forwarding.p4",
2656 "line" : 83,
2657 "column" : 8,
2658 "source_fragment" : "fabric_metadata.next_id = next_id"
2659 }
2660 }
2661 ]
2662 },
2663 {
2664 "name" : "FabricIngress.forwarding.set_next_id_acl",
Charles Chan384aea22018-08-23 22:08:02 -07002665 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002666 "runtime_data" : [
2667 {
2668 "name" : "next_id",
2669 "bitwidth" : 32
2670 }
2671 ],
2672 "primitives" : [
2673 {
2674 "op" : "assign",
2675 "parameters" : [
2676 {
2677 "type" : "field",
2678 "value" : ["scalars", "fabric_metadata_t.next_id"]
2679 },
2680 {
2681 "type" : "runtime_data",
2682 "value" : 0
2683 }
2684 ],
2685 "source_info" : {
2686 "filename" : "include/control/forwarding.p4",
2687 "line" : 105,
2688 "column" : 8,
2689 "source_fragment" : "fabric_metadata.next_id = next_id"
2690 }
2691 }
2692 ]
2693 },
2694 {
2695 "name" : "FabricIngress.forwarding.punt_to_cpu",
Charles Chan384aea22018-08-23 22:08:02 -07002696 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002697 "runtime_data" : [],
2698 "primitives" : [
2699 {
2700 "op" : "assign",
2701 "parameters" : [
2702 {
2703 "type" : "field",
2704 "value" : ["standard_metadata", "egress_spec"]
2705 },
2706 {
2707 "type" : "hexstr",
2708 "value" : "0x00ff"
2709 }
2710 ],
2711 "source_info" : {
2712 "filename" : "include/control/forwarding.p4",
2713 "line" : 111,
2714 "column" : 8,
2715 "source_fragment" : "standard_metadata.egress_spec = 255"
2716 }
2717 },
2718 {
2719 "op" : "exit",
2720 "parameters" : [],
2721 "source_info" : {
2722 "filename" : "include/control/forwarding.p4",
2723 "line" : 113,
2724 "column" : 8,
2725 "source_fragment" : "exit"
2726 }
2727 }
2728 ]
2729 },
2730 {
2731 "name" : "FabricIngress.forwarding.clone_to_cpu",
Charles Chan384aea22018-08-23 22:08:02 -07002732 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002733 "runtime_data" : [],
2734 "primitives" : [
2735 {
2736 "op" : "assign",
2737 "parameters" : [
2738 {
2739 "type" : "field",
2740 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2741 },
2742 {
2743 "type" : "expression",
2744 "value" : {
2745 "type" : "expression",
2746 "value" : {
2747 "op" : "b2d",
2748 "left" : null,
2749 "right" : {
2750 "type" : "bool",
2751 "value" : true
2752 }
2753 }
2754 }
2755 }
2756 ],
2757 "source_info" : {
2758 "filename" : "include/control/forwarding.p4",
2759 "line" : 118,
2760 "column" : 8,
2761 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2762 }
2763 }
2764 ]
2765 },
2766 {
2767 "name" : "FabricIngress.forwarding.drop",
Charles Chan384aea22018-08-23 22:08:02 -07002768 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002769 "runtime_data" : [],
2770 "primitives" : [
2771 {
2772 "op" : "drop",
2773 "parameters" : [],
2774 "source_info" : {
2775 "filename" : "include/control/forwarding.p4",
2776 "line" : 123,
2777 "column" : 8,
2778 "source_fragment" : "mark_to_drop()"
2779 }
2780 }
2781 ]
2782 },
2783 {
Charles Chancf696e52018-08-16 16:25:13 -07002784 "name" : "FabricIngress.forwarding.nop_acl",
Charles Chan384aea22018-08-23 22:08:02 -07002785 "id" : 29,
Charles Chancf696e52018-08-16 16:25:13 -07002786 "runtime_data" : [],
2787 "primitives" : []
2788 },
2789 {
Charles Chan384aea22018-08-23 22:08:02 -07002790 "name" : "FabricIngress.forwarding.set_next_id_routing_v6",
2791 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002792 "runtime_data" : [
2793 {
2794 "name" : "next_id",
2795 "bitwidth" : 32
2796 }
2797 ],
2798 "primitives" : [
2799 {
2800 "op" : "assign",
2801 "parameters" : [
2802 {
2803 "type" : "field",
2804 "value" : ["scalars", "fabric_metadata_t.next_id"]
2805 },
2806 {
2807 "type" : "runtime_data",
2808 "value" : 0
2809 }
2810 ],
2811 "source_info" : {
2812 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -07002813 "line" : 169,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002814 "column" : 8,
2815 "source_fragment" : "fabric_metadata.next_id = next_id"
2816 }
2817 }
2818 ]
2819 },
2820 {
2821 "name" : "FabricIngress.next.set_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002822 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002823 "runtime_data" : [
2824 {
2825 "name" : "new_vlan_id",
2826 "bitwidth" : 12
2827 }
2828 ],
2829 "primitives" : [
2830 {
2831 "op" : "assign",
2832 "parameters" : [
2833 {
2834 "type" : "field",
2835 "value" : ["vlan_tag", "vlan_id"]
2836 },
2837 {
2838 "type" : "runtime_data",
2839 "value" : 0
2840 }
2841 ],
2842 "source_info" : {
2843 "filename" : "include/control/next.p4",
2844 "line" : 61,
2845 "column" : 8,
2846 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2847 }
2848 }
2849 ]
2850 },
2851 {
2852 "name" : "FabricIngress.next.output_simple",
Charles Chan384aea22018-08-23 22:08:02 -07002853 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002854 "runtime_data" : [
2855 {
2856 "name" : "port_num",
2857 "bitwidth" : 9
2858 }
2859 ],
2860 "primitives" : [
2861 {
2862 "op" : "assign",
2863 "parameters" : [
2864 {
2865 "type" : "field",
2866 "value" : ["standard_metadata", "egress_spec"]
2867 },
2868 {
2869 "type" : "runtime_data",
2870 "value" : 0
2871 }
2872 ],
2873 "source_info" : {
2874 "filename" : "include/control/next.p4",
2875 "line" : 85,
2876 "column" : 8,
2877 "source_fragment" : "standard_metadata.egress_spec = port_num"
2878 }
2879 }
2880 ]
2881 },
2882 {
2883 "name" : "FabricIngress.next.set_vlan_output",
Charles Chan384aea22018-08-23 22:08:02 -07002884 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002885 "runtime_data" : [
2886 {
2887 "name" : "new_vlan_id",
2888 "bitwidth" : 12
2889 },
2890 {
2891 "name" : "port_num",
2892 "bitwidth" : 9
2893 }
2894 ],
2895 "primitives" : [
2896 {
2897 "op" : "assign",
2898 "parameters" : [
2899 {
2900 "type" : "field",
2901 "value" : ["vlan_tag", "vlan_id"]
2902 },
2903 {
2904 "type" : "runtime_data",
2905 "value" : 0
2906 }
2907 ],
2908 "source_info" : {
2909 "filename" : "include/control/next.p4",
2910 "line" : 90,
2911 "column" : 8,
2912 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2913 }
2914 },
2915 {
2916 "op" : "assign",
2917 "parameters" : [
2918 {
2919 "type" : "field",
2920 "value" : ["standard_metadata", "egress_spec"]
2921 },
2922 {
2923 "type" : "runtime_data",
2924 "value" : 1
2925 }
2926 ],
2927 "source_info" : {
2928 "filename" : "include/control/next.p4",
2929 "line" : 85,
2930 "column" : 8,
2931 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2932 }
2933 }
2934 ]
2935 },
2936 {
2937 "name" : "FabricIngress.next.l3_routing_simple",
Charles Chan384aea22018-08-23 22:08:02 -07002938 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002939 "runtime_data" : [
2940 {
2941 "name" : "port_num",
2942 "bitwidth" : 9
2943 },
2944 {
2945 "name" : "smac",
2946 "bitwidth" : 48
2947 },
2948 {
2949 "name" : "dmac",
2950 "bitwidth" : 48
2951 }
2952 ],
2953 "primitives" : [
2954 {
2955 "op" : "assign",
2956 "parameters" : [
2957 {
2958 "type" : "field",
2959 "value" : ["ethernet", "src_addr"]
2960 },
2961 {
2962 "type" : "runtime_data",
2963 "value" : 1
2964 }
2965 ],
2966 "source_info" : {
2967 "filename" : "include/control/next.p4",
2968 "line" : 37,
2969 "column" : 8,
2970 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2971 }
2972 },
2973 {
2974 "op" : "assign",
2975 "parameters" : [
2976 {
2977 "type" : "field",
2978 "value" : ["ethernet", "dst_addr"]
2979 },
2980 {
2981 "type" : "runtime_data",
2982 "value" : 2
2983 }
2984 ],
2985 "source_info" : {
2986 "filename" : "include/control/next.p4",
2987 "line" : 41,
2988 "column" : 8,
2989 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2990 }
2991 },
2992 {
2993 "op" : "assign",
2994 "parameters" : [
2995 {
2996 "type" : "field",
2997 "value" : ["standard_metadata", "egress_spec"]
2998 },
2999 {
3000 "type" : "runtime_data",
3001 "value" : 0
3002 }
3003 ],
3004 "source_info" : {
3005 "filename" : "include/control/next.p4",
3006 "line" : 85,
3007 "column" : 8,
3008 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3009 }
3010 }
3011 ]
3012 },
3013 {
3014 "name" : "FabricIngress.next.mpls_routing_v4_simple",
Charles Chan384aea22018-08-23 22:08:02 -07003015 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003016 "runtime_data" : [
3017 {
3018 "name" : "port_num",
3019 "bitwidth" : 9
3020 },
3021 {
3022 "name" : "smac",
3023 "bitwidth" : 48
3024 },
3025 {
3026 "name" : "dmac",
3027 "bitwidth" : 48
3028 },
3029 {
3030 "name" : "label",
3031 "bitwidth" : 20
3032 }
3033 ],
3034 "primitives" : [
3035 {
3036 "op" : "assign",
3037 "parameters" : [
3038 {
3039 "type" : "field",
3040 "value" : ["ethernet", "src_addr"]
3041 },
3042 {
3043 "type" : "runtime_data",
3044 "value" : 1
3045 }
3046 ],
3047 "source_info" : {
3048 "filename" : "include/control/next.p4",
3049 "line" : 37,
3050 "column" : 8,
3051 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3052 }
3053 },
3054 {
3055 "op" : "assign",
3056 "parameters" : [
3057 {
3058 "type" : "field",
3059 "value" : ["ethernet", "dst_addr"]
3060 },
3061 {
3062 "type" : "runtime_data",
3063 "value" : 2
3064 }
3065 ],
3066 "source_info" : {
3067 "filename" : "include/control/next.p4",
3068 "line" : 41,
3069 "column" : 8,
3070 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3071 }
3072 },
3073 {
3074 "op" : "assign",
3075 "parameters" : [
3076 {
3077 "type" : "field",
3078 "value" : ["standard_metadata", "egress_spec"]
3079 },
3080 {
3081 "type" : "runtime_data",
3082 "value" : 0
3083 }
3084 ],
3085 "source_info" : {
3086 "filename" : "include/control/next.p4",
3087 "line" : 85,
3088 "column" : 8,
3089 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3090 }
3091 },
3092 {
3093 "op" : "add_header",
3094 "parameters" : [
3095 {
3096 "type" : "header",
3097 "value" : "mpls"
3098 }
3099 ],
3100 "source_info" : {
3101 "filename" : "include/control/next.p4",
3102 "line" : 46,
3103 "column" : 8,
3104 "source_fragment" : "hdr.mpls.setValid()"
3105 }
3106 },
3107 {
3108 "op" : "assign",
3109 "parameters" : [
3110 {
3111 "type" : "field",
3112 "value" : ["vlan_tag", "ether_type"]
3113 },
3114 {
3115 "type" : "hexstr",
3116 "value" : "0x8847"
3117 }
3118 ],
3119 "source_info" : {
3120 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003121 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003122 "column" : 31,
3123 "source_fragment" : "0x8847; ..."
3124 }
3125 },
3126 {
3127 "op" : "assign",
3128 "parameters" : [
3129 {
3130 "type" : "field",
3131 "value" : ["mpls", "label"]
3132 },
3133 {
3134 "type" : "runtime_data",
3135 "value" : 3
3136 }
3137 ],
3138 "source_info" : {
3139 "filename" : "include/control/next.p4",
3140 "line" : 48,
3141 "column" : 8,
3142 "source_fragment" : "hdr.mpls.label = label; ..."
3143 }
3144 },
3145 {
3146 "op" : "assign",
3147 "parameters" : [
3148 {
3149 "type" : "field",
3150 "value" : ["mpls", "tc"]
3151 },
3152 {
3153 "type" : "hexstr",
3154 "value" : "0x00"
3155 }
3156 ],
3157 "source_info" : {
3158 "filename" : "include/control/next.p4",
3159 "line" : 49,
3160 "column" : 8,
3161 "source_fragment" : "hdr.mpls.tc = tc; ..."
3162 }
3163 },
3164 {
3165 "op" : "assign",
3166 "parameters" : [
3167 {
3168 "type" : "field",
3169 "value" : ["mpls", "bos"]
3170 },
3171 {
3172 "type" : "hexstr",
3173 "value" : "0x01"
3174 }
3175 ],
3176 "source_info" : {
3177 "filename" : "include/control/next.p4",
3178 "line" : 50,
3179 "column" : 8,
3180 "source_fragment" : "hdr.mpls.bos = 1w1"
3181 }
3182 },
3183 {
3184 "op" : "assign",
3185 "parameters" : [
3186 {
3187 "type" : "field",
3188 "value" : ["mpls", "ttl"]
3189 },
3190 {
3191 "type" : "hexstr",
3192 "value" : "0x40"
3193 }
3194 ],
3195 "source_info" : {
3196 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003197 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003198 "column" : 32,
3199 "source_fragment" : "64; ..."
3200 }
3201 }
3202 ]
3203 },
3204 {
3205 "name" : "FabricIngress.next.mpls_routing_v6_simple",
Charles Chan384aea22018-08-23 22:08:02 -07003206 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003207 "runtime_data" : [
3208 {
3209 "name" : "port_num",
3210 "bitwidth" : 9
3211 },
3212 {
3213 "name" : "smac",
3214 "bitwidth" : 48
3215 },
3216 {
3217 "name" : "dmac",
3218 "bitwidth" : 48
3219 },
3220 {
3221 "name" : "label",
3222 "bitwidth" : 20
3223 }
3224 ],
3225 "primitives" : [
3226 {
3227 "op" : "assign",
3228 "parameters" : [
3229 {
3230 "type" : "field",
3231 "value" : ["ethernet", "src_addr"]
3232 },
3233 {
3234 "type" : "runtime_data",
3235 "value" : 1
3236 }
3237 ],
3238 "source_info" : {
3239 "filename" : "include/control/next.p4",
3240 "line" : 37,
3241 "column" : 8,
3242 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3243 }
3244 },
3245 {
3246 "op" : "assign",
3247 "parameters" : [
3248 {
3249 "type" : "field",
3250 "value" : ["ethernet", "dst_addr"]
3251 },
3252 {
3253 "type" : "runtime_data",
3254 "value" : 2
3255 }
3256 ],
3257 "source_info" : {
3258 "filename" : "include/control/next.p4",
3259 "line" : 41,
3260 "column" : 8,
3261 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3262 }
3263 },
3264 {
3265 "op" : "assign",
3266 "parameters" : [
3267 {
3268 "type" : "field",
3269 "value" : ["standard_metadata", "egress_spec"]
3270 },
3271 {
3272 "type" : "runtime_data",
3273 "value" : 0
3274 }
3275 ],
3276 "source_info" : {
3277 "filename" : "include/control/next.p4",
3278 "line" : 85,
3279 "column" : 8,
3280 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3281 }
3282 },
3283 {
3284 "op" : "add_header",
3285 "parameters" : [
3286 {
3287 "type" : "header",
3288 "value" : "mpls"
3289 }
3290 ],
3291 "source_info" : {
3292 "filename" : "include/control/next.p4",
3293 "line" : 46,
3294 "column" : 8,
3295 "source_fragment" : "hdr.mpls.setValid()"
3296 }
3297 },
3298 {
3299 "op" : "assign",
3300 "parameters" : [
3301 {
3302 "type" : "field",
3303 "value" : ["vlan_tag", "ether_type"]
3304 },
3305 {
3306 "type" : "hexstr",
3307 "value" : "0x8847"
3308 }
3309 ],
3310 "source_info" : {
3311 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003312 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003313 "column" : 31,
3314 "source_fragment" : "0x8847; ..."
3315 }
3316 },
3317 {
3318 "op" : "assign",
3319 "parameters" : [
3320 {
3321 "type" : "field",
3322 "value" : ["mpls", "label"]
3323 },
3324 {
3325 "type" : "runtime_data",
3326 "value" : 3
3327 }
3328 ],
3329 "source_info" : {
3330 "filename" : "include/control/next.p4",
3331 "line" : 48,
3332 "column" : 8,
3333 "source_fragment" : "hdr.mpls.label = label; ..."
3334 }
3335 },
3336 {
3337 "op" : "assign",
3338 "parameters" : [
3339 {
3340 "type" : "field",
3341 "value" : ["mpls", "tc"]
3342 },
3343 {
3344 "type" : "hexstr",
3345 "value" : "0x00"
3346 }
3347 ],
3348 "source_info" : {
3349 "filename" : "include/control/next.p4",
3350 "line" : 49,
3351 "column" : 8,
3352 "source_fragment" : "hdr.mpls.tc = tc; ..."
3353 }
3354 },
3355 {
3356 "op" : "assign",
3357 "parameters" : [
3358 {
3359 "type" : "field",
3360 "value" : ["mpls", "bos"]
3361 },
3362 {
3363 "type" : "hexstr",
3364 "value" : "0x01"
3365 }
3366 ],
3367 "source_info" : {
3368 "filename" : "include/control/next.p4",
3369 "line" : 50,
3370 "column" : 8,
3371 "source_fragment" : "hdr.mpls.bos = 1w1"
3372 }
3373 },
3374 {
3375 "op" : "assign",
3376 "parameters" : [
3377 {
3378 "type" : "field",
3379 "value" : ["mpls", "ttl"]
3380 },
3381 {
3382 "type" : "hexstr",
3383 "value" : "0x40"
3384 }
3385 ],
3386 "source_info" : {
3387 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003388 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003389 "column" : 32,
3390 "source_fragment" : "64; ..."
3391 }
3392 }
3393 ]
3394 },
3395 {
3396 "name" : "FabricIngress.next.l3_routing_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07003397 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003398 "runtime_data" : [
3399 {
3400 "name" : "port_num",
3401 "bitwidth" : 9
3402 },
3403 {
3404 "name" : "smac",
3405 "bitwidth" : 48
3406 },
3407 {
3408 "name" : "dmac",
3409 "bitwidth" : 48
3410 },
3411 {
3412 "name" : "new_vlan_id",
3413 "bitwidth" : 12
3414 }
3415 ],
3416 "primitives" : [
3417 {
3418 "op" : "assign",
3419 "parameters" : [
3420 {
3421 "type" : "field",
3422 "value" : ["ethernet", "src_addr"]
3423 },
3424 {
3425 "type" : "runtime_data",
3426 "value" : 1
3427 }
3428 ],
3429 "source_info" : {
3430 "filename" : "include/control/next.p4",
3431 "line" : 37,
3432 "column" : 8,
3433 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3434 }
3435 },
3436 {
3437 "op" : "assign",
3438 "parameters" : [
3439 {
3440 "type" : "field",
3441 "value" : ["ethernet", "dst_addr"]
3442 },
3443 {
3444 "type" : "runtime_data",
3445 "value" : 2
3446 }
3447 ],
3448 "source_info" : {
3449 "filename" : "include/control/next.p4",
3450 "line" : 41,
3451 "column" : 8,
3452 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3453 }
3454 },
3455 {
3456 "op" : "assign",
3457 "parameters" : [
3458 {
3459 "type" : "field",
3460 "value" : ["vlan_tag", "vlan_id"]
3461 },
3462 {
3463 "type" : "runtime_data",
3464 "value" : 3
3465 }
3466 ],
3467 "source_info" : {
3468 "filename" : "include/control/next.p4",
3469 "line" : 90,
3470 "column" : 8,
3471 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3472 }
3473 },
3474 {
3475 "op" : "assign",
3476 "parameters" : [
3477 {
3478 "type" : "field",
3479 "value" : ["standard_metadata", "egress_spec"]
3480 },
3481 {
3482 "type" : "runtime_data",
3483 "value" : 0
3484 }
3485 ],
3486 "source_info" : {
3487 "filename" : "include/control/next.p4",
3488 "line" : 85,
3489 "column" : 8,
3490 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3491 }
3492 }
3493 ]
3494 },
3495 {
3496 "name" : "FabricIngress.next.l3_routing_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003497 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003498 "runtime_data" : [
3499 {
3500 "name" : "port_num",
3501 "bitwidth" : 9
3502 },
3503 {
3504 "name" : "smac",
3505 "bitwidth" : 48
3506 },
3507 {
3508 "name" : "dmac",
3509 "bitwidth" : 48
3510 }
3511 ],
3512 "primitives" : [
3513 {
3514 "op" : "assign",
3515 "parameters" : [
3516 {
3517 "type" : "field",
3518 "value" : ["ethernet", "src_addr"]
3519 },
3520 {
3521 "type" : "runtime_data",
3522 "value" : 1
3523 }
3524 ],
3525 "source_info" : {
3526 "filename" : "include/control/next.p4",
3527 "line" : 37,
3528 "column" : 8,
3529 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3530 }
3531 },
3532 {
3533 "op" : "assign",
3534 "parameters" : [
3535 {
3536 "type" : "field",
3537 "value" : ["ethernet", "dst_addr"]
3538 },
3539 {
3540 "type" : "runtime_data",
3541 "value" : 2
3542 }
3543 ],
3544 "source_info" : {
3545 "filename" : "include/control/next.p4",
3546 "line" : 41,
3547 "column" : 8,
3548 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3549 }
3550 },
3551 {
3552 "op" : "assign",
3553 "parameters" : [
3554 {
3555 "type" : "field",
3556 "value" : ["standard_metadata", "egress_spec"]
3557 },
3558 {
3559 "type" : "runtime_data",
3560 "value" : 0
3561 }
3562 ],
3563 "source_info" : {
3564 "filename" : "include/control/next.p4",
3565 "line" : 149,
3566 "column" : 8,
3567 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3568 }
3569 }
3570 ]
3571 },
3572 {
3573 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003574 "id" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003575 "runtime_data" : [
3576 {
3577 "name" : "port_num",
3578 "bitwidth" : 9
3579 },
3580 {
3581 "name" : "smac",
3582 "bitwidth" : 48
3583 },
3584 {
3585 "name" : "dmac",
3586 "bitwidth" : 48
3587 },
3588 {
3589 "name" : "label",
3590 "bitwidth" : 20
3591 }
3592 ],
3593 "primitives" : [
3594 {
3595 "op" : "assign",
3596 "parameters" : [
3597 {
3598 "type" : "field",
3599 "value" : ["ethernet", "src_addr"]
3600 },
3601 {
3602 "type" : "runtime_data",
3603 "value" : 1
3604 }
3605 ],
3606 "source_info" : {
3607 "filename" : "include/control/next.p4",
3608 "line" : 37,
3609 "column" : 8,
3610 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3611 }
3612 },
3613 {
3614 "op" : "assign",
3615 "parameters" : [
3616 {
3617 "type" : "field",
3618 "value" : ["ethernet", "dst_addr"]
3619 },
3620 {
3621 "type" : "runtime_data",
3622 "value" : 2
3623 }
3624 ],
3625 "source_info" : {
3626 "filename" : "include/control/next.p4",
3627 "line" : 41,
3628 "column" : 8,
3629 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3630 }
3631 },
3632 {
3633 "op" : "assign",
3634 "parameters" : [
3635 {
3636 "type" : "field",
3637 "value" : ["standard_metadata", "egress_spec"]
3638 },
3639 {
3640 "type" : "runtime_data",
3641 "value" : 0
3642 }
3643 ],
3644 "source_info" : {
3645 "filename" : "include/control/next.p4",
3646 "line" : 149,
3647 "column" : 8,
3648 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3649 }
3650 },
3651 {
3652 "op" : "add_header",
3653 "parameters" : [
3654 {
3655 "type" : "header",
3656 "value" : "mpls"
3657 }
3658 ],
3659 "source_info" : {
3660 "filename" : "include/control/next.p4",
3661 "line" : 46,
3662 "column" : 8,
3663 "source_fragment" : "hdr.mpls.setValid()"
3664 }
3665 },
3666 {
3667 "op" : "assign",
3668 "parameters" : [
3669 {
3670 "type" : "field",
3671 "value" : ["vlan_tag", "ether_type"]
3672 },
3673 {
3674 "type" : "hexstr",
3675 "value" : "0x8847"
3676 }
3677 ],
3678 "source_info" : {
3679 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003680 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003681 "column" : 31,
3682 "source_fragment" : "0x8847; ..."
3683 }
3684 },
3685 {
3686 "op" : "assign",
3687 "parameters" : [
3688 {
3689 "type" : "field",
3690 "value" : ["mpls", "label"]
3691 },
3692 {
3693 "type" : "runtime_data",
3694 "value" : 3
3695 }
3696 ],
3697 "source_info" : {
3698 "filename" : "include/control/next.p4",
3699 "line" : 48,
3700 "column" : 8,
3701 "source_fragment" : "hdr.mpls.label = label; ..."
3702 }
3703 },
3704 {
3705 "op" : "assign",
3706 "parameters" : [
3707 {
3708 "type" : "field",
3709 "value" : ["mpls", "tc"]
3710 },
3711 {
3712 "type" : "hexstr",
3713 "value" : "0x00"
3714 }
3715 ],
3716 "source_info" : {
3717 "filename" : "include/control/next.p4",
3718 "line" : 49,
3719 "column" : 8,
3720 "source_fragment" : "hdr.mpls.tc = tc; ..."
3721 }
3722 },
3723 {
3724 "op" : "assign",
3725 "parameters" : [
3726 {
3727 "type" : "field",
3728 "value" : ["mpls", "bos"]
3729 },
3730 {
3731 "type" : "hexstr",
3732 "value" : "0x01"
3733 }
3734 ],
3735 "source_info" : {
3736 "filename" : "include/control/next.p4",
3737 "line" : 50,
3738 "column" : 8,
3739 "source_fragment" : "hdr.mpls.bos = 1w1"
3740 }
3741 },
3742 {
3743 "op" : "assign",
3744 "parameters" : [
3745 {
3746 "type" : "field",
3747 "value" : ["mpls", "ttl"]
3748 },
3749 {
3750 "type" : "hexstr",
3751 "value" : "0x40"
3752 }
3753 ],
3754 "source_info" : {
3755 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003756 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003757 "column" : 32,
3758 "source_fragment" : "64; ..."
3759 }
3760 }
3761 ]
3762 },
3763 {
3764 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003765 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003766 "runtime_data" : [
3767 {
3768 "name" : "port_num",
3769 "bitwidth" : 9
3770 },
3771 {
3772 "name" : "smac",
3773 "bitwidth" : 48
3774 },
3775 {
3776 "name" : "dmac",
3777 "bitwidth" : 48
3778 },
3779 {
3780 "name" : "label",
3781 "bitwidth" : 20
3782 }
3783 ],
3784 "primitives" : [
3785 {
3786 "op" : "assign",
3787 "parameters" : [
3788 {
3789 "type" : "field",
3790 "value" : ["ethernet", "src_addr"]
3791 },
3792 {
3793 "type" : "runtime_data",
3794 "value" : 1
3795 }
3796 ],
3797 "source_info" : {
3798 "filename" : "include/control/next.p4",
3799 "line" : 37,
3800 "column" : 8,
3801 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3802 }
3803 },
3804 {
3805 "op" : "assign",
3806 "parameters" : [
3807 {
3808 "type" : "field",
3809 "value" : ["ethernet", "dst_addr"]
3810 },
3811 {
3812 "type" : "runtime_data",
3813 "value" : 2
3814 }
3815 ],
3816 "source_info" : {
3817 "filename" : "include/control/next.p4",
3818 "line" : 41,
3819 "column" : 8,
3820 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3821 }
3822 },
3823 {
3824 "op" : "assign",
3825 "parameters" : [
3826 {
3827 "type" : "field",
3828 "value" : ["standard_metadata", "egress_spec"]
3829 },
3830 {
3831 "type" : "runtime_data",
3832 "value" : 0
3833 }
3834 ],
3835 "source_info" : {
3836 "filename" : "include/control/next.p4",
3837 "line" : 149,
3838 "column" : 8,
3839 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3840 }
3841 },
3842 {
3843 "op" : "add_header",
3844 "parameters" : [
3845 {
3846 "type" : "header",
3847 "value" : "mpls"
3848 }
3849 ],
3850 "source_info" : {
3851 "filename" : "include/control/next.p4",
3852 "line" : 46,
3853 "column" : 8,
3854 "source_fragment" : "hdr.mpls.setValid()"
3855 }
3856 },
3857 {
3858 "op" : "assign",
3859 "parameters" : [
3860 {
3861 "type" : "field",
3862 "value" : ["vlan_tag", "ether_type"]
3863 },
3864 {
3865 "type" : "hexstr",
3866 "value" : "0x8847"
3867 }
3868 ],
3869 "source_info" : {
3870 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003871 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003872 "column" : 31,
3873 "source_fragment" : "0x8847; ..."
3874 }
3875 },
3876 {
3877 "op" : "assign",
3878 "parameters" : [
3879 {
3880 "type" : "field",
3881 "value" : ["mpls", "label"]
3882 },
3883 {
3884 "type" : "runtime_data",
3885 "value" : 3
3886 }
3887 ],
3888 "source_info" : {
3889 "filename" : "include/control/next.p4",
3890 "line" : 48,
3891 "column" : 8,
3892 "source_fragment" : "hdr.mpls.label = label; ..."
3893 }
3894 },
3895 {
3896 "op" : "assign",
3897 "parameters" : [
3898 {
3899 "type" : "field",
3900 "value" : ["mpls", "tc"]
3901 },
3902 {
3903 "type" : "hexstr",
3904 "value" : "0x00"
3905 }
3906 ],
3907 "source_info" : {
3908 "filename" : "include/control/next.p4",
3909 "line" : 49,
3910 "column" : 8,
3911 "source_fragment" : "hdr.mpls.tc = tc; ..."
3912 }
3913 },
3914 {
3915 "op" : "assign",
3916 "parameters" : [
3917 {
3918 "type" : "field",
3919 "value" : ["mpls", "bos"]
3920 },
3921 {
3922 "type" : "hexstr",
3923 "value" : "0x01"
3924 }
3925 ],
3926 "source_info" : {
3927 "filename" : "include/control/next.p4",
3928 "line" : 50,
3929 "column" : 8,
3930 "source_fragment" : "hdr.mpls.bos = 1w1"
3931 }
3932 },
3933 {
3934 "op" : "assign",
3935 "parameters" : [
3936 {
3937 "type" : "field",
3938 "value" : ["mpls", "ttl"]
3939 },
3940 {
3941 "type" : "hexstr",
3942 "value" : "0x40"
3943 }
3944 ],
3945 "source_info" : {
3946 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003947 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003948 "column" : 32,
3949 "source_fragment" : "64; ..."
3950 }
3951 }
3952 ]
3953 },
3954 {
3955 "name" : "FabricIngress.next.set_mcast_group",
Charles Chan384aea22018-08-23 22:08:02 -07003956 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003957 "runtime_data" : [
3958 {
3959 "name" : "gid",
3960 "bitwidth" : 16
3961 }
3962 ],
3963 "primitives" : [
3964 {
3965 "op" : "assign",
3966 "parameters" : [
3967 {
3968 "type" : "field",
3969 "value" : ["standard_metadata", "mcast_grp"]
3970 },
3971 {
3972 "type" : "runtime_data",
3973 "value" : 0
3974 }
3975 ],
3976 "source_info" : {
3977 "filename" : "include/control/next.p4",
3978 "line" : 202,
3979 "column" : 8,
3980 "source_fragment" : "standard_metadata.mcast_grp = gid"
3981 }
3982 },
3983 {
3984 "op" : "assign",
3985 "parameters" : [
3986 {
3987 "type" : "field",
3988 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
3989 },
3990 {
3991 "type" : "expression",
3992 "value" : {
3993 "type" : "expression",
3994 "value" : {
3995 "op" : "b2d",
3996 "left" : null,
3997 "right" : {
3998 "type" : "bool",
3999 "value" : true
4000 }
4001 }
4002 }
4003 }
4004 ],
4005 "source_info" : {
4006 "filename" : "include/control/next.p4",
4007 "line" : 203,
4008 "column" : 8,
4009 "source_fragment" : "fabric_metadata.is_multicast = true"
4010 }
4011 }
4012 ]
4013 },
4014 {
4015 "name" : "act",
Charles Chan384aea22018-08-23 22:08:02 -07004016 "id" : 42,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004017 "runtime_data" : [],
4018 "primitives" : [
4019 {
4020 "op" : "assign",
4021 "parameters" : [
4022 {
4023 "type" : "field",
4024 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4025 },
4026 {
4027 "type" : "expression",
4028 "value" : {
4029 "type" : "expression",
4030 "value" : {
4031 "op" : "b2d",
4032 "left" : null,
4033 "right" : {
4034 "type" : "bool",
4035 "value" : true
4036 }
4037 }
4038 }
4039 }
4040 ],
4041 "source_info" : {
4042 "filename" : "include/spgw.p4",
4043 "line" : 30,
4044 "column" : 32,
4045 "source_fragment" : "return"
4046 }
4047 }
4048 ]
4049 },
4050 {
4051 "name" : "act_0",
Charles Chan384aea22018-08-23 22:08:02 -07004052 "id" : 43,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004053 "runtime_data" : [],
4054 "primitives" : [
4055 {
4056 "op" : "remove_header",
4057 "parameters" : [
4058 {
4059 "type" : "header",
4060 "value" : "gtpu_ipv4"
4061 }
4062 ],
4063 "source_info" : {
4064 "filename" : "fabric.p4",
4065 "line" : 52,
4066 "column" : 50,
4067 "source_fragment" : "hdr.gtpu_ipv4"
4068 }
4069 },
4070 {
4071 "op" : "remove_header",
4072 "parameters" : [
4073 {
4074 "type" : "header",
4075 "value" : "gtpu_udp"
4076 }
4077 ],
4078 "source_info" : {
4079 "filename" : "fabric.p4",
4080 "line" : 52,
4081 "column" : 65,
4082 "source_fragment" : "hdr.gtpu_udp"
4083 }
4084 },
4085 {
4086 "op" : "assign",
4087 "parameters" : [
4088 {
4089 "type" : "field",
4090 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4091 },
4092 {
4093 "type" : "expression",
4094 "value" : {
4095 "type" : "expression",
4096 "value" : {
4097 "op" : "b2d",
4098 "left" : null,
4099 "right" : {
4100 "type" : "bool",
4101 "value" : false
4102 }
4103 }
4104 }
4105 }
4106 ]
4107 }
4108 ]
4109 },
4110 {
4111 "name" : "act_1",
Charles Chan384aea22018-08-23 22:08:02 -07004112 "id" : 44,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004113 "runtime_data" : [],
4114 "primitives" : [
4115 {
4116 "op" : "assign_header",
4117 "parameters" : [
4118 {
4119 "type" : "header",
4120 "value" : "udp"
4121 },
4122 {
4123 "type" : "header",
4124 "value" : "inner_udp"
4125 }
4126 ],
4127 "source_info" : {
4128 "filename" : "include/spgw.p4",
4129 "line" : 35,
4130 "column" : 16,
4131 "source_fragment" : "= inner_udp; ..."
4132 }
4133 }
4134 ]
4135 },
4136 {
4137 "name" : "act_2",
Charles Chan384aea22018-08-23 22:08:02 -07004138 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004139 "runtime_data" : [],
4140 "primitives" : [
4141 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004142 "op" : "remove_header",
4143 "parameters" : [
4144 {
4145 "type" : "header",
4146 "value" : "udp"
4147 }
4148 ],
4149 "source_info" : {
4150 "filename" : "include/spgw.p4",
4151 "line" : 37,
4152 "column" : 12,
4153 "source_fragment" : "udp.setInvalid()"
4154 }
4155 }
4156 ]
4157 },
4158 {
4159 "name" : "act_3",
Charles Chan384aea22018-08-23 22:08:02 -07004160 "id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004161 "runtime_data" : [],
4162 "primitives" : [
4163 {
4164 "op" : "assign_header",
4165 "parameters" : [
4166 {
4167 "type" : "header",
4168 "value" : "gtpu_ipv4"
4169 },
4170 {
4171 "type" : "header",
4172 "value" : "ipv4"
4173 }
4174 ],
4175 "source_info" : {
4176 "filename" : "include/spgw.p4",
4177 "line" : 31,
4178 "column" : 18,
4179 "source_fragment" : "= ipv4; ..."
4180 }
4181 },
4182 {
4183 "op" : "assign_header",
4184 "parameters" : [
4185 {
4186 "type" : "header",
4187 "value" : "ipv4"
4188 },
4189 {
4190 "type" : "header",
4191 "value" : "inner_ipv4"
4192 }
4193 ],
4194 "source_info" : {
4195 "filename" : "include/spgw.p4",
4196 "line" : 32,
4197 "column" : 13,
4198 "source_fragment" : "= inner_ipv4; ..."
4199 }
4200 },
4201 {
4202 "op" : "assign_header",
4203 "parameters" : [
4204 {
4205 "type" : "header",
4206 "value" : "gtpu_udp"
4207 },
4208 {
4209 "type" : "header",
4210 "value" : "udp"
4211 }
4212 ],
4213 "source_info" : {
4214 "filename" : "include/spgw.p4",
4215 "line" : 33,
4216 "column" : 17,
4217 "source_fragment" : "= udp; ..."
4218 }
4219 }
4220 ]
4221 },
4222 {
4223 "name" : "act_4",
Charles Chan384aea22018-08-23 22:08:02 -07004224 "id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004225 "runtime_data" : [],
4226 "primitives" : [
4227 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004228 "op" : "assign",
4229 "parameters" : [
4230 {
4231 "type" : "field",
4232 "value" : ["standard_metadata", "egress_spec"]
4233 },
4234 {
4235 "type" : "field",
4236 "value" : ["packet_out", "egress_port"]
4237 }
4238 ],
4239 "source_info" : {
4240 "filename" : "include/control/packetio.p4",
4241 "line" : 26,
4242 "column" : 12,
4243 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4244 }
4245 },
4246 {
4247 "op" : "remove_header",
4248 "parameters" : [
4249 {
4250 "type" : "header",
4251 "value" : "packet_out"
4252 }
4253 ],
4254 "source_info" : {
4255 "filename" : "include/control/packetio.p4",
4256 "line" : 27,
4257 "column" : 12,
4258 "source_fragment" : "hdr.packet_out.setInvalid()"
4259 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07004260 },
4261 {
4262 "op" : "assign",
4263 "parameters" : [
4264 {
4265 "type" : "field",
4266 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
4267 },
4268 {
4269 "type" : "expression",
4270 "value" : {
4271 "type" : "expression",
4272 "value" : {
4273 "op" : "b2d",
4274 "left" : null,
4275 "right" : {
4276 "type" : "bool",
4277 "value" : true
4278 }
4279 }
4280 }
4281 }
4282 ],
4283 "source_info" : {
4284 "filename" : "include/control/packetio.p4",
4285 "line" : 28,
4286 "column" : 12,
4287 "source_fragment" : "fabric_metadata.is_controller_packet_out = true"
4288 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004289 }
4290 ]
4291 },
4292 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004293 "name" : "act_5",
Charles Chan384aea22018-08-23 22:08:02 -07004294 "id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004295 "runtime_data" : [],
4296 "primitives" : [
4297 {
4298 "op" : "assign",
4299 "parameters" : [
4300 {
4301 "type" : "field",
4302 "value" : ["scalars", "spgw_ingress_tmp_1"]
4303 },
4304 {
4305 "type" : "expression",
4306 "value" : {
4307 "type" : "expression",
4308 "value" : {
4309 "op" : "b2d",
4310 "left" : null,
4311 "right" : {
4312 "type" : "bool",
4313 "value" : true
4314 }
4315 }
4316 }
4317 }
4318 ]
4319 }
4320 ]
4321 },
4322 {
4323 "name" : "act_6",
Charles Chan384aea22018-08-23 22:08:02 -07004324 "id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004325 "runtime_data" : [],
4326 "primitives" : [
4327 {
4328 "op" : "assign",
4329 "parameters" : [
4330 {
4331 "type" : "field",
4332 "value" : ["scalars", "spgw_ingress_tmp_1"]
4333 },
4334 {
4335 "type" : "expression",
4336 "value" : {
4337 "type" : "expression",
4338 "value" : {
4339 "op" : "b2d",
4340 "left" : null,
4341 "right" : {
4342 "type" : "bool",
4343 "value" : false
4344 }
4345 }
4346 }
4347 }
4348 ]
4349 }
4350 ]
4351 },
4352 {
4353 "name" : "act_7",
Charles Chan384aea22018-08-23 22:08:02 -07004354 "id" : 50,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004355 "runtime_data" : [],
4356 "primitives" : [
4357 {
4358 "op" : "assign",
4359 "parameters" : [
4360 {
4361 "type" : "field",
4362 "value" : ["userMetadata.spgw", "direction"]
4363 },
4364 {
4365 "type" : "hexstr",
4366 "value" : "0x01"
4367 }
4368 ],
4369 "source_info" : {
4370 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004371 "line" : 119,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004372 "column" : 36,
4373 "source_fragment" : "2w1; ..."
4374 }
4375 }
4376 ]
4377 },
4378 {
4379 "name" : "act_8",
Charles Chan384aea22018-08-23 22:08:02 -07004380 "id" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004381 "runtime_data" : [],
4382 "primitives" : [
4383 {
4384 "op" : "assign",
4385 "parameters" : [
4386 {
4387 "type" : "field",
4388 "value" : ["scalars", "spgw_ingress_tmp_2"]
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" : true
4400 }
4401 }
4402 }
4403 }
4404 ]
4405 }
4406 ]
4407 },
4408 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004409 "name" : "act_9",
Charles Chan384aea22018-08-23 22:08:02 -07004410 "id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004411 "runtime_data" : [],
4412 "primitives" : [
4413 {
4414 "op" : "assign",
4415 "parameters" : [
4416 {
4417 "type" : "field",
4418 "value" : ["scalars", "spgw_ingress_tmp_2"]
4419 },
4420 {
4421 "type" : "expression",
4422 "value" : {
4423 "type" : "expression",
4424 "value" : {
4425 "op" : "b2d",
4426 "left" : null,
4427 "right" : {
4428 "type" : "bool",
4429 "value" : false
4430 }
4431 }
4432 }
4433 }
4434 ]
4435 }
4436 ]
4437 },
4438 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004439 "name" : "act_10",
Charles Chan384aea22018-08-23 22:08:02 -07004440 "id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004441 "runtime_data" : [],
4442 "primitives" : [
4443 {
4444 "op" : "assign",
4445 "parameters" : [
4446 {
4447 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004448 "value" : ["userMetadata.spgw", "direction"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004449 },
4450 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004451 "type" : "hexstr",
4452 "value" : "0x02"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004453 }
4454 ],
4455 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004456 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004457 "line" : 120,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004458 "column" : 38,
4459 "source_fragment" : "2w2; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004460 }
4461 }
4462 ]
4463 },
4464 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004465 "name" : "act_11",
Charles Chan384aea22018-08-23 22:08:02 -07004466 "id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004467 "runtime_data" : [],
4468 "primitives" : [
4469 {
4470 "op" : "assign",
4471 "parameters" : [
4472 {
4473 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004474 "value" : ["userMetadata.spgw", "direction"]
4475 },
4476 {
4477 "type" : "hexstr",
4478 "value" : "0x00"
4479 }
4480 ],
4481 "source_info" : {
4482 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004483 "line" : 118,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004484 "column" : 37,
4485 "source_fragment" : "2w0; ..."
4486 }
4487 },
4488 {
4489 "op" : "assign",
4490 "parameters" : [
4491 {
4492 "type" : "field",
4493 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004494 },
4495 {
4496 "type" : "expression",
4497 "value" : {
4498 "type" : "expression",
4499 "value" : {
4500 "op" : "b2d",
4501 "left" : null,
4502 "right" : {
4503 "type" : "bool",
4504 "value" : true
4505 }
4506 }
4507 }
4508 }
4509 ],
4510 "source_info" : {
4511 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004512 "line" : 153,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004513 "column" : 12,
4514 "source_fragment" : "return"
4515 }
4516 }
4517 ]
4518 },
4519 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004520 "name" : "act_12",
Charles Chan384aea22018-08-23 22:08:02 -07004521 "id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004522 "runtime_data" : [],
4523 "primitives" : [
4524 {
4525 "op" : "assign",
4526 "parameters" : [
4527 {
4528 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004529 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004530 },
4531 {
4532 "type" : "expression",
4533 "value" : {
4534 "type" : "expression",
4535 "value" : {
4536 "op" : "b2d",
4537 "left" : null,
4538 "right" : {
4539 "type" : "bool",
4540 "value" : false
4541 }
4542 }
4543 }
4544 }
4545 ]
4546 }
4547 ]
4548 },
4549 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004550 "name" : "act_13",
Charles Chan384aea22018-08-23 22:08:02 -07004551 "id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004552 "runtime_data" : [],
4553 "primitives" : [
4554 {
4555 "op" : "assign",
4556 "parameters" : [
4557 {
4558 "type" : "field",
4559 "value" : ["userMetadata.spgw", "ipv4_len"]
4560 },
4561 {
4562 "type" : "field",
4563 "value" : ["ipv4", "total_len"]
4564 }
4565 ],
4566 "source_info" : {
4567 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004568 "line" : 170,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004569 "column" : 8,
4570 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4571 }
4572 }
4573 ]
4574 },
4575 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004576 "name" : "act_14",
Charles Chan384aea22018-08-23 22:08:02 -07004577 "id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004578 "runtime_data" : [],
4579 "primitives" : [
4580 {
4581 "op" : "assign",
4582 "parameters" : [
4583 {
4584 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004585 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004586 },
4587 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004588 "type" : "expression",
4589 "value" : {
4590 "type" : "expression",
4591 "value" : {
4592 "op" : "b2d",
4593 "left" : null,
4594 "right" : {
4595 "type" : "bool",
4596 "value" : true
4597 }
4598 }
4599 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004600 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004601 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004602 }
4603 ]
4604 },
4605 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004606 "name" : "act_15",
Charles Chan384aea22018-08-23 22:08:02 -07004607 "id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004608 "runtime_data" : [],
4609 "primitives" : [
4610 {
4611 "op" : "assign",
4612 "parameters" : [
4613 {
4614 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004615 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004616 },
4617 {
4618 "type" : "expression",
4619 "value" : {
4620 "type" : "expression",
4621 "value" : {
4622 "op" : "b2d",
4623 "left" : null,
4624 "right" : {
4625 "type" : "bool",
4626 "value" : false
4627 }
4628 }
4629 }
4630 }
4631 ]
4632 }
4633 ]
4634 },
4635 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004636 "name" : "act_16",
Charles Chan384aea22018-08-23 22:08:02 -07004637 "id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004638 "runtime_data" : [],
4639 "primitives" : [
4640 {
4641 "op" : "assign",
4642 "parameters" : [
4643 {
4644 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004645 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004646 },
4647 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004648 "type" : "hexstr",
4649 "value" : "0x07"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004650 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004651 ],
4652 "source_info" : {
4653 "filename" : "include/control/../define.p4",
4654 "line" : 109,
4655 "column" : 31,
4656 "source_fragment" : "7; ..."
4657 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004658 }
4659 ]
4660 },
4661 {
4662 "name" : "act_17",
Charles Chan384aea22018-08-23 22:08:02 -07004663 "id" : 60,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004664 "runtime_data" : [],
4665 "primitives" : [
4666 {
4667 "op" : "assign",
4668 "parameters" : [
4669 {
4670 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004671 "value" : ["vlan_tag", "ether_type"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004672 },
4673 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004674 "type" : "hexstr",
4675 "value" : "0x0800"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004676 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004677 ],
4678 "source_info" : {
4679 "filename" : "include/control/../define.p4",
4680 "line" : 92,
4681 "column" : 31,
4682 "source_fragment" : "0x0800; ..."
4683 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004684 }
4685 ]
4686 },
4687 {
4688 "name" : "act_18",
Charles Chan384aea22018-08-23 22:08:02 -07004689 "id" : 61,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004690 "runtime_data" : [],
4691 "primitives" : [
4692 {
4693 "op" : "assign",
4694 "parameters" : [
4695 {
4696 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004697 "value" : ["scalars", "next_hasReturned_0"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004698 },
4699 {
4700 "type" : "expression",
4701 "value" : {
4702 "type" : "expression",
4703 "value" : {
4704 "op" : "b2d",
4705 "left" : null,
4706 "right" : {
4707 "type" : "bool",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004708 "value" : false
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004709 }
4710 }
4711 }
4712 }
4713 ]
4714 }
4715 ]
4716 },
4717 {
4718 "name" : "act_19",
Charles Chan384aea22018-08-23 22:08:02 -07004719 "id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004720 "runtime_data" : [],
4721 "primitives" : [
4722 {
4723 "op" : "assign",
4724 "parameters" : [
4725 {
4726 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004727 "value" : ["scalars", "next_tmp_4"]
4728 },
4729 {
4730 "type" : "expression",
4731 "value" : {
4732 "type" : "expression",
4733 "value" : {
4734 "op" : "b2d",
4735 "left" : null,
4736 "right" : {
4737 "type" : "bool",
4738 "value" : true
4739 }
4740 }
4741 }
4742 }
4743 ]
4744 }
4745 ]
4746 },
4747 {
4748 "name" : "act_20",
Charles Chan384aea22018-08-23 22:08:02 -07004749 "id" : 63,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004750 "runtime_data" : [],
4751 "primitives" : [
4752 {
4753 "op" : "assign",
4754 "parameters" : [
4755 {
4756 "type" : "field",
4757 "value" : ["scalars", "next_tmp_4"]
4758 },
4759 {
4760 "type" : "expression",
4761 "value" : {
4762 "type" : "expression",
4763 "value" : {
4764 "op" : "b2d",
4765 "left" : null,
4766 "right" : {
4767 "type" : "bool",
4768 "value" : false
4769 }
4770 }
4771 }
4772 }
4773 ]
4774 }
4775 ]
4776 },
4777 {
4778 "name" : "act_21",
Charles Chan384aea22018-08-23 22:08:02 -07004779 "id" : 64,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004780 "runtime_data" : [],
4781 "primitives" : [
4782 {
4783 "op" : "assign",
4784 "parameters" : [
4785 {
4786 "type" : "field",
4787 "value" : ["scalars", "next_tmp_3"]
4788 },
4789 {
4790 "type" : "expression",
4791 "value" : {
4792 "type" : "expression",
4793 "value" : {
4794 "op" : "b2d",
4795 "left" : null,
4796 "right" : {
4797 "type" : "bool",
4798 "value" : true
4799 }
4800 }
4801 }
4802 }
4803 ]
4804 }
4805 ]
4806 },
4807 {
4808 "name" : "act_22",
Charles Chan384aea22018-08-23 22:08:02 -07004809 "id" : 65,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004810 "runtime_data" : [],
4811 "primitives" : [
4812 {
4813 "op" : "assign",
4814 "parameters" : [
4815 {
4816 "type" : "field",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004817 "value" : ["scalars", "next_tmp_3"]
4818 },
4819 {
4820 "type" : "expression",
4821 "value" : {
4822 "type" : "expression",
4823 "value" : {
4824 "op" : "b2d",
4825 "left" : null,
4826 "right" : {
4827 "type" : "bool",
4828 "value" : false
4829 }
4830 }
4831 }
4832 }
4833 ]
4834 }
4835 ]
4836 },
4837 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004838 "name" : "act_23",
Charles Chan384aea22018-08-23 22:08:02 -07004839 "id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004840 "runtime_data" : [],
4841 "primitives" : [
4842 {
4843 "op" : "assign",
4844 "parameters" : [
4845 {
4846 "type" : "field",
4847 "value" : ["scalars", "next_tmp_2"]
4848 },
4849 {
4850 "type" : "expression",
4851 "value" : {
4852 "type" : "expression",
4853 "value" : {
4854 "op" : "b2d",
4855 "left" : null,
4856 "right" : {
4857 "type" : "bool",
4858 "value" : true
4859 }
4860 }
4861 }
4862 }
4863 ]
4864 }
4865 ]
4866 },
4867 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004868 "name" : "act_24",
Charles Chan384aea22018-08-23 22:08:02 -07004869 "id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004870 "runtime_data" : [],
4871 "primitives" : [
4872 {
4873 "op" : "assign",
4874 "parameters" : [
4875 {
4876 "type" : "field",
4877 "value" : ["scalars", "next_tmp_2"]
4878 },
4879 {
4880 "type" : "expression",
4881 "value" : {
4882 "type" : "expression",
4883 "value" : {
4884 "op" : "b2d",
4885 "left" : null,
4886 "right" : {
4887 "type" : "bool",
4888 "value" : false
4889 }
4890 }
4891 }
4892 }
4893 ]
4894 }
4895 ]
4896 },
4897 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004898 "name" : "act_25",
Charles Chan384aea22018-08-23 22:08:02 -07004899 "id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004900 "runtime_data" : [],
4901 "primitives" : [
4902 {
4903 "op" : "assign",
4904 "parameters" : [
4905 {
4906 "type" : "field",
4907 "value" : ["scalars", "next_hasReturned_0"]
4908 },
4909 {
4910 "type" : "expression",
4911 "value" : {
4912 "type" : "expression",
4913 "value" : {
4914 "op" : "b2d",
4915 "left" : null,
4916 "right" : {
4917 "type" : "bool",
4918 "value" : true
4919 }
4920 }
4921 }
4922 }
4923 ],
4924 "source_info" : {
4925 "filename" : "include/control/next.p4",
4926 "line" : 223,
4927 "column" : 20,
4928 "source_fragment" : "return"
4929 }
4930 }
4931 ]
4932 },
4933 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004934 "name" : "act_26",
Charles Chan384aea22018-08-23 22:08:02 -07004935 "id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004936 "runtime_data" : [],
4937 "primitives" : [
4938 {
4939 "op" : "assign",
4940 "parameters" : [
4941 {
4942 "type" : "field",
4943 "value" : ["ipv4", "ttl"]
4944 },
4945 {
4946 "type" : "expression",
4947 "value" : {
4948 "type" : "expression",
4949 "value" : {
4950 "op" : "&",
4951 "left" : {
4952 "type" : "expression",
4953 "value" : {
4954 "op" : "+",
4955 "left" : {
4956 "type" : "field",
4957 "value" : ["ipv4", "ttl"]
4958 },
4959 "right" : {
4960 "type" : "hexstr",
4961 "value" : "0xff"
4962 }
4963 }
4964 },
4965 "right" : {
4966 "type" : "hexstr",
4967 "value" : "0xff"
4968 }
4969 }
4970 }
4971 }
4972 ],
4973 "source_info" : {
4974 "filename" : "include/control/next.p4",
4975 "line" : 230,
4976 "column" : 16,
4977 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4978 }
4979 }
4980 ]
4981 },
4982 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004983 "name" : "act_27",
Charles Chan384aea22018-08-23 22:08:02 -07004984 "id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004985 "runtime_data" : [],
4986 "primitives" : [
4987 {
4988 "op" : "assign",
4989 "parameters" : [
4990 {
4991 "type" : "field",
4992 "value" : ["ipv6", "hop_limit"]
4993 },
4994 {
4995 "type" : "expression",
4996 "value" : {
4997 "type" : "expression",
4998 "value" : {
4999 "op" : "&",
5000 "left" : {
5001 "type" : "expression",
5002 "value" : {
5003 "op" : "+",
5004 "left" : {
5005 "type" : "field",
5006 "value" : ["ipv6", "hop_limit"]
5007 },
5008 "right" : {
5009 "type" : "hexstr",
5010 "value" : "0xff"
5011 }
5012 }
5013 },
5014 "right" : {
5015 "type" : "hexstr",
5016 "value" : "0xff"
5017 }
5018 }
5019 }
5020 }
5021 ],
5022 "source_info" : {
5023 "filename" : "include/control/next.p4",
5024 "line" : 234,
5025 "column" : 16,
5026 "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
5027 }
5028 }
5029 ]
5030 },
5031 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005032 "name" : "act_28",
Charles Chan384aea22018-08-23 22:08:02 -07005033 "id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005034 "runtime_data" : [],
5035 "primitives" : [
5036 {
5037 "op" : "assign",
5038 "parameters" : [
5039 {
5040 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005041 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005042 },
5043 {
5044 "type" : "expression",
5045 "value" : {
5046 "type" : "expression",
5047 "value" : {
5048 "op" : "&",
5049 "left" : {
5050 "type" : "field",
5051 "value" : ["standard_metadata", "egress_spec"]
5052 },
5053 "right" : {
5054 "type" : "hexstr",
5055 "value" : "0xffffffff"
5056 }
5057 }
5058 }
5059 }
5060 ],
5061 "source_info" : {
5062 "filename" : "include/control/port_counter.p4",
5063 "line" : 28,
5064 "column" : 38,
5065 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5066 }
5067 },
5068 {
5069 "op" : "count",
5070 "parameters" : [
5071 {
5072 "type" : "counter_array",
5073 "value" : "FabricIngress.port_counters_control.egress_port_counter"
5074 },
5075 {
5076 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005077 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005078 }
5079 ],
5080 "source_info" : {
5081 "filename" : "include/control/port_counter.p4",
5082 "line" : 28,
5083 "column" : 12,
5084 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5085 }
5086 }
5087 ]
5088 },
5089 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005090 "name" : "act_29",
Charles Chan384aea22018-08-23 22:08:02 -07005091 "id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005092 "runtime_data" : [],
5093 "primitives" : [
5094 {
5095 "op" : "assign",
5096 "parameters" : [
5097 {
5098 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005099 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005100 },
5101 {
5102 "type" : "expression",
5103 "value" : {
5104 "type" : "expression",
5105 "value" : {
5106 "op" : "&",
5107 "left" : {
5108 "type" : "field",
5109 "value" : ["standard_metadata", "ingress_port"]
5110 },
5111 "right" : {
5112 "type" : "hexstr",
5113 "value" : "0xffffffff"
5114 }
5115 }
5116 }
5117 }
5118 ],
5119 "source_info" : {
5120 "filename" : "include/control/port_counter.p4",
5121 "line" : 31,
5122 "column" : 39,
5123 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5124 }
5125 },
5126 {
5127 "op" : "count",
5128 "parameters" : [
5129 {
5130 "type" : "counter_array",
5131 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
5132 },
5133 {
5134 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005135 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005136 }
5137 ],
5138 "source_info" : {
5139 "filename" : "include/control/port_counter.p4",
5140 "line" : 31,
5141 "column" : 12,
5142 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5143 }
5144 }
5145 ]
5146 },
5147 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005148 "name" : "act_30",
Charles Chan384aea22018-08-23 22:08:02 -07005149 "id" : 73,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005150 "runtime_data" : [],
5151 "primitives" : [
5152 {
5153 "op" : "clone_ingress_pkt_to_egress",
5154 "parameters" : [
5155 {
5156 "type" : "hexstr",
5157 "value" : "0x000001f4"
5158 },
5159 {
5160 "type" : "hexstr",
5161 "value" : "0x1"
5162 }
5163 ]
5164 }
5165 ]
5166 },
5167 {
5168 "name" : "NoAction",
Charles Chan384aea22018-08-23 22:08:02 -07005169 "id" : 74,
5170 "runtime_data" : [],
5171 "primitives" : []
5172 },
5173 {
5174 "name" : "NoAction",
5175 "id" : 75,
5176 "runtime_data" : [],
5177 "primitives" : []
5178 },
5179 {
5180 "name" : "NoAction",
5181 "id" : 76,
5182 "runtime_data" : [],
5183 "primitives" : []
5184 },
5185 {
5186 "name" : "NoAction",
5187 "id" : 77,
5188 "runtime_data" : [],
5189 "primitives" : []
5190 },
5191 {
5192 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005193 "id" : 78,
5194 "runtime_data" : [],
5195 "primitives" : []
5196 },
5197 {
Charles Chan384aea22018-08-23 22:08:02 -07005198 "name" : "nop",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005199 "id" : 79,
5200 "runtime_data" : [],
5201 "primitives" : []
5202 },
5203 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005204 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07005205 "id" : 80,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005206 "runtime_data" : [],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005207 "primitives" : [
5208 {
5209 "op" : "drop",
5210 "parameters" : [],
5211 "source_info" : {
5212 "filename" : "include/control/../action.p4",
5213 "line" : 24,
5214 "column" : 4,
5215 "source_fragment" : "mark_to_drop()"
5216 }
5217 },
5218 {
5219 "op" : "exit",
5220 "parameters" : [],
5221 "source_info" : {
5222 "filename" : "include/control/../action.p4",
5223 "line" : 25,
5224 "column" : 4,
5225 "source_fragment" : "exit"
5226 }
5227 }
5228 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005229 },
5230 {
5231 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07005232 "id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005233 "runtime_data" : [],
5234 "primitives" : [
5235 {
5236 "op" : "drop",
5237 "parameters" : [],
5238 "source_info" : {
5239 "filename" : "include/control/../action.p4",
5240 "line" : 24,
5241 "column" : 4,
5242 "source_fragment" : "mark_to_drop()"
5243 }
5244 },
5245 {
5246 "op" : "exit",
5247 "parameters" : [],
5248 "source_info" : {
5249 "filename" : "include/control/../action.p4",
5250 "line" : 25,
5251 "column" : 4,
5252 "source_fragment" : "exit"
5253 }
5254 }
5255 ]
5256 },
5257 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005258 "name" : "FabricEgress.spgw_egress.gtpu_encap",
Charles Chan384aea22018-08-23 22:08:02 -07005259 "id" : 82,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005260 "runtime_data" : [],
5261 "primitives" : [
5262 {
5263 "op" : "add_header",
5264 "parameters" : [
5265 {
5266 "type" : "header",
5267 "value" : "gtpu_ipv4"
5268 }
5269 ],
5270 "source_info" : {
5271 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005272 "line" : 185,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005273 "column" : 8,
5274 "source_fragment" : "gtpu_ipv4.setValid()"
5275 }
5276 },
5277 {
5278 "op" : "assign",
5279 "parameters" : [
5280 {
5281 "type" : "field",
5282 "value" : ["gtpu_ipv4", "version"]
5283 },
5284 {
5285 "type" : "hexstr",
5286 "value" : "0x04"
5287 }
5288 ],
5289 "source_info" : {
5290 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005291 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005292 "column" : 8,
5293 "source_fragment" : "gtpu_ipv4.version = 4"
5294 }
5295 },
5296 {
5297 "op" : "assign",
5298 "parameters" : [
5299 {
5300 "type" : "field",
5301 "value" : ["gtpu_ipv4", "ihl"]
5302 },
5303 {
5304 "type" : "hexstr",
5305 "value" : "0x05"
5306 }
5307 ],
5308 "source_info" : {
5309 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005310 "line" : 101,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005311 "column" : 28,
5312 "source_fragment" : "5; ..."
5313 }
5314 },
5315 {
5316 "op" : "assign",
5317 "parameters" : [
5318 {
5319 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005320 "value" : ["gtpu_ipv4", "dscp"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005321 },
5322 {
5323 "type" : "hexstr",
5324 "value" : "0x00"
5325 }
5326 ],
5327 "source_info" : {
5328 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005329 "line" : 188,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005330 "column" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005331 "source_fragment" : "gtpu_ipv4.dscp = 0"
5332 }
5333 },
5334 {
5335 "op" : "assign",
5336 "parameters" : [
5337 {
5338 "type" : "field",
5339 "value" : ["gtpu_ipv4", "ecn"]
5340 },
5341 {
5342 "type" : "hexstr",
5343 "value" : "0x00"
5344 }
5345 ],
5346 "source_info" : {
5347 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005348 "line" : 189,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005349 "column" : 8,
5350 "source_fragment" : "gtpu_ipv4.ecn = 0"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005351 }
5352 },
5353 {
5354 "op" : "assign",
5355 "parameters" : [
5356 {
5357 "type" : "field",
5358 "value" : ["gtpu_ipv4", "total_len"]
5359 },
5360 {
5361 "type" : "expression",
5362 "value" : {
5363 "type" : "expression",
5364 "value" : {
5365 "op" : "&",
5366 "left" : {
5367 "type" : "expression",
5368 "value" : {
5369 "op" : "+",
5370 "left" : {
5371 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005372 "value" : ["ipv4", "total_len"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005373 },
5374 "right" : {
5375 "type" : "hexstr",
5376 "value" : "0x0024"
5377 }
5378 }
5379 },
5380 "right" : {
5381 "type" : "hexstr",
5382 "value" : "0xffff"
5383 }
5384 }
5385 }
5386 }
5387 ],
5388 "source_info" : {
5389 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005390 "line" : 190,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005391 "column" : 8,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005392 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005393 }
5394 },
5395 {
5396 "op" : "assign",
5397 "parameters" : [
5398 {
5399 "type" : "field",
5400 "value" : ["gtpu_ipv4", "identification"]
5401 },
5402 {
5403 "type" : "hexstr",
5404 "value" : "0x1513"
5405 }
5406 ],
5407 "source_info" : {
5408 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005409 "line" : 192,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005410 "column" : 8,
5411 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
5412 }
5413 },
5414 {
5415 "op" : "assign",
5416 "parameters" : [
5417 {
5418 "type" : "field",
5419 "value" : ["gtpu_ipv4", "flags"]
5420 },
5421 {
5422 "type" : "hexstr",
5423 "value" : "0x00"
5424 }
5425 ],
5426 "source_info" : {
5427 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005428 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005429 "column" : 8,
5430 "source_fragment" : "gtpu_ipv4.flags = 0"
5431 }
5432 },
5433 {
5434 "op" : "assign",
5435 "parameters" : [
5436 {
5437 "type" : "field",
5438 "value" : ["gtpu_ipv4", "frag_offset"]
5439 },
5440 {
5441 "type" : "hexstr",
5442 "value" : "0x0000"
5443 }
5444 ],
5445 "source_info" : {
5446 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005447 "line" : 194,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005448 "column" : 8,
5449 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
5450 }
5451 },
5452 {
5453 "op" : "assign",
5454 "parameters" : [
5455 {
5456 "type" : "field",
5457 "value" : ["gtpu_ipv4", "ttl"]
5458 },
5459 {
5460 "type" : "hexstr",
5461 "value" : "0x40"
5462 }
5463 ],
5464 "source_info" : {
5465 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005466 "line" : 114,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005467 "column" : 32,
5468 "source_fragment" : "64; ..."
5469 }
5470 },
5471 {
5472 "op" : "assign",
5473 "parameters" : [
5474 {
5475 "type" : "field",
5476 "value" : ["gtpu_ipv4", "protocol"]
5477 },
5478 {
5479 "type" : "hexstr",
5480 "value" : "0x11"
5481 }
5482 ],
5483 "source_info" : {
5484 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005485 "line" : 98,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005486 "column" : 25,
5487 "source_fragment" : "17; ..."
5488 }
5489 },
5490 {
5491 "op" : "assign",
5492 "parameters" : [
5493 {
5494 "type" : "field",
5495 "value" : ["gtpu_ipv4", "dst_addr"]
5496 },
5497 {
5498 "type" : "field",
5499 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5500 }
5501 ],
5502 "source_info" : {
5503 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005504 "line" : 197,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005505 "column" : 8,
5506 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5507 }
5508 },
5509 {
5510 "op" : "assign",
5511 "parameters" : [
5512 {
5513 "type" : "field",
5514 "value" : ["gtpu_ipv4", "src_addr"]
5515 },
5516 {
5517 "type" : "field",
5518 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5519 }
5520 ],
5521 "source_info" : {
5522 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005523 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005524 "column" : 8,
5525 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5526 }
5527 },
5528 {
5529 "op" : "assign",
5530 "parameters" : [
5531 {
5532 "type" : "field",
5533 "value" : ["gtpu_ipv4", "hdr_checksum"]
5534 },
5535 {
5536 "type" : "hexstr",
5537 "value" : "0x0000"
5538 }
5539 ],
5540 "source_info" : {
5541 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005542 "line" : 199,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005543 "column" : 8,
5544 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5545 }
5546 },
5547 {
5548 "op" : "add_header",
5549 "parameters" : [
5550 {
5551 "type" : "header",
5552 "value" : "gtpu_udp"
5553 }
5554 ],
5555 "source_info" : {
5556 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005557 "line" : 201,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005558 "column" : 8,
5559 "source_fragment" : "gtpu_udp.setValid()"
5560 }
5561 },
5562 {
5563 "op" : "assign",
5564 "parameters" : [
5565 {
5566 "type" : "field",
5567 "value" : ["gtpu_udp", "src_port"]
5568 },
5569 {
5570 "type" : "hexstr",
5571 "value" : "0x0868"
5572 }
5573 ],
5574 "source_info" : {
5575 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005576 "line" : 202,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005577 "column" : 8,
5578 "source_fragment" : "gtpu_udp.src_port = 2152"
5579 }
5580 },
5581 {
5582 "op" : "assign",
5583 "parameters" : [
5584 {
5585 "type" : "field",
5586 "value" : ["gtpu_udp", "dst_port"]
5587 },
5588 {
5589 "type" : "hexstr",
5590 "value" : "0x0868"
5591 }
5592 ],
5593 "source_info" : {
5594 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005595 "line" : 203,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005596 "column" : 8,
5597 "source_fragment" : "gtpu_udp.dst_port = 2152"
5598 }
5599 },
5600 {
5601 "op" : "assign",
5602 "parameters" : [
5603 {
5604 "type" : "field",
5605 "value" : ["gtpu_udp", "len"]
5606 },
5607 {
5608 "type" : "expression",
5609 "value" : {
5610 "type" : "expression",
5611 "value" : {
5612 "op" : "&",
5613 "left" : {
5614 "type" : "expression",
5615 "value" : {
5616 "op" : "+",
5617 "left" : {
5618 "type" : "field",
5619 "value" : ["userMetadata.spgw", "ipv4_len"]
5620 },
5621 "right" : {
5622 "type" : "hexstr",
5623 "value" : "0x0010"
5624 }
5625 }
5626 },
5627 "right" : {
5628 "type" : "hexstr",
5629 "value" : "0xffff"
5630 }
5631 }
5632 }
5633 }
5634 ],
5635 "source_info" : {
5636 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005637 "line" : 204,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005638 "column" : 8,
5639 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5640 }
5641 },
5642 {
5643 "op" : "assign",
5644 "parameters" : [
5645 {
5646 "type" : "field",
5647 "value" : ["gtpu_udp", "checksum"]
5648 },
5649 {
5650 "type" : "hexstr",
5651 "value" : "0x0000"
5652 }
5653 ],
5654 "source_info" : {
5655 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005656 "line" : 206,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005657 "column" : 8,
5658 "source_fragment" : "gtpu_udp.checksum = 0"
5659 }
5660 },
5661 {
5662 "op" : "add_header",
5663 "parameters" : [
5664 {
5665 "type" : "header",
5666 "value" : "gtpu"
5667 }
5668 ],
5669 "source_info" : {
5670 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005671 "line" : 208,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005672 "column" : 8,
5673 "source_fragment" : "gtpu.setValid()"
5674 }
5675 },
5676 {
5677 "op" : "assign",
5678 "parameters" : [
5679 {
5680 "type" : "field",
5681 "value" : ["gtpu", "version"]
5682 },
5683 {
5684 "type" : "hexstr",
5685 "value" : "0x01"
5686 }
5687 ],
5688 "source_info" : {
5689 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005690 "line" : 209,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005691 "column" : 8,
5692 "source_fragment" : "gtpu.version = 0x01"
5693 }
5694 },
5695 {
5696 "op" : "assign",
5697 "parameters" : [
5698 {
5699 "type" : "field",
5700 "value" : ["gtpu", "pt"]
5701 },
5702 {
5703 "type" : "hexstr",
5704 "value" : "0x01"
5705 }
5706 ],
5707 "source_info" : {
5708 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005709 "line" : 210,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005710 "column" : 8,
5711 "source_fragment" : "gtpu.pt = 0x01"
5712 }
5713 },
5714 {
5715 "op" : "assign",
5716 "parameters" : [
5717 {
5718 "type" : "field",
5719 "value" : ["gtpu", "spare"]
5720 },
5721 {
5722 "type" : "hexstr",
5723 "value" : "0x00"
5724 }
5725 ],
5726 "source_info" : {
5727 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005728 "line" : 211,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005729 "column" : 8,
5730 "source_fragment" : "gtpu.spare = 0"
5731 }
5732 },
5733 {
5734 "op" : "assign",
5735 "parameters" : [
5736 {
5737 "type" : "field",
5738 "value" : ["gtpu", "ex_flag"]
5739 },
5740 {
5741 "type" : "hexstr",
5742 "value" : "0x00"
5743 }
5744 ],
5745 "source_info" : {
5746 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005747 "line" : 212,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005748 "column" : 8,
5749 "source_fragment" : "gtpu.ex_flag = 0"
5750 }
5751 },
5752 {
5753 "op" : "assign",
5754 "parameters" : [
5755 {
5756 "type" : "field",
5757 "value" : ["gtpu", "seq_flag"]
5758 },
5759 {
5760 "type" : "hexstr",
5761 "value" : "0x00"
5762 }
5763 ],
5764 "source_info" : {
5765 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005766 "line" : 213,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005767 "column" : 8,
5768 "source_fragment" : "gtpu.seq_flag = 0"
5769 }
5770 },
5771 {
5772 "op" : "assign",
5773 "parameters" : [
5774 {
5775 "type" : "field",
5776 "value" : ["gtpu", "npdu_flag"]
5777 },
5778 {
5779 "type" : "hexstr",
5780 "value" : "0x00"
5781 }
5782 ],
5783 "source_info" : {
5784 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005785 "line" : 214,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005786 "column" : 8,
5787 "source_fragment" : "gtpu.npdu_flag = 0"
5788 }
5789 },
5790 {
5791 "op" : "assign",
5792 "parameters" : [
5793 {
5794 "type" : "field",
5795 "value" : ["gtpu", "msgtype"]
5796 },
5797 {
5798 "type" : "hexstr",
5799 "value" : "0xff"
5800 }
5801 ],
5802 "source_info" : {
5803 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005804 "line" : 215,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005805 "column" : 8,
5806 "source_fragment" : "gtpu.msgtype = 0xff"
5807 }
5808 },
5809 {
5810 "op" : "assign",
5811 "parameters" : [
5812 {
5813 "type" : "field",
5814 "value" : ["gtpu", "msglen"]
5815 },
5816 {
5817 "type" : "field",
5818 "value" : ["userMetadata.spgw", "ipv4_len"]
5819 }
5820 ],
5821 "source_info" : {
5822 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005823 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005824 "column" : 8,
5825 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5826 }
5827 },
5828 {
5829 "op" : "assign",
5830 "parameters" : [
5831 {
5832 "type" : "field",
5833 "value" : ["gtpu", "teid"]
5834 },
5835 {
5836 "type" : "field",
5837 "value" : ["userMetadata.spgw", "teid"]
5838 }
5839 ],
5840 "source_info" : {
5841 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005842 "line" : 217,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005843 "column" : 8,
5844 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5845 }
5846 }
5847 ]
5848 },
5849 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005850 "name" : "FabricEgress.process_int_source.int_source_dscp",
Charles Chan384aea22018-08-23 22:08:02 -07005851 "id" : 83,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005852 "runtime_data" : [
5853 {
5854 "name" : "max_hop",
5855 "bitwidth" : 8
5856 },
5857 {
5858 "name" : "ins_cnt",
5859 "bitwidth" : 5
5860 },
5861 {
5862 "name" : "ins_mask0003",
5863 "bitwidth" : 4
5864 },
5865 {
5866 "name" : "ins_mask0407",
5867 "bitwidth" : 4
5868 }
5869 ],
5870 "primitives" : [
5871 {
5872 "op" : "add_header",
5873 "parameters" : [
5874 {
5875 "type" : "header",
5876 "value" : "intl4_shim"
5877 }
5878 ],
5879 "source_info" : {
5880 "filename" : "include/int_source.p4",
5881 "line" : 31,
5882 "column" : 8,
5883 "source_fragment" : "hdr.intl4_shim.setValid()"
5884 }
5885 },
5886 {
5887 "op" : "assign",
5888 "parameters" : [
5889 {
5890 "type" : "field",
5891 "value" : ["intl4_shim", "int_type"]
5892 },
5893 {
5894 "type" : "hexstr",
5895 "value" : "0x01"
5896 }
5897 ],
5898 "source_info" : {
5899 "filename" : "include/int_source.p4",
5900 "line" : 33,
5901 "column" : 8,
5902 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5903 }
5904 },
5905 {
5906 "op" : "assign",
5907 "parameters" : [
5908 {
5909 "type" : "field",
5910 "value" : ["intl4_shim", "len"]
5911 },
5912 {
5913 "type" : "hexstr",
5914 "value" : "0x04"
5915 }
5916 ],
5917 "source_info" : {
5918 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005919 "line" : 127,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005920 "column" : 35,
5921 "source_fragment" : "4; ..."
5922 }
5923 },
5924 {
5925 "op" : "add_header",
5926 "parameters" : [
5927 {
5928 "type" : "header",
5929 "value" : "int_header"
5930 }
5931 ],
5932 "source_info" : {
5933 "filename" : "include/int_source.p4",
5934 "line" : 37,
5935 "column" : 8,
5936 "source_fragment" : "hdr.int_header.setValid()"
5937 }
5938 },
5939 {
5940 "op" : "assign",
5941 "parameters" : [
5942 {
5943 "type" : "field",
5944 "value" : ["int_header", "ver"]
5945 },
5946 {
5947 "type" : "hexstr",
5948 "value" : "0x00"
5949 }
5950 ],
5951 "source_info" : {
5952 "filename" : "include/int_source.p4",
5953 "line" : 38,
5954 "column" : 8,
5955 "source_fragment" : "hdr.int_header.ver = 0"
5956 }
5957 },
5958 {
5959 "op" : "assign",
5960 "parameters" : [
5961 {
5962 "type" : "field",
5963 "value" : ["int_header", "rep"]
5964 },
5965 {
5966 "type" : "hexstr",
5967 "value" : "0x00"
5968 }
5969 ],
5970 "source_info" : {
5971 "filename" : "include/int_source.p4",
5972 "line" : 39,
5973 "column" : 8,
5974 "source_fragment" : "hdr.int_header.rep = 0"
5975 }
5976 },
5977 {
5978 "op" : "assign",
5979 "parameters" : [
5980 {
5981 "type" : "field",
5982 "value" : ["int_header", "c"]
5983 },
5984 {
5985 "type" : "hexstr",
5986 "value" : "0x00"
5987 }
5988 ],
5989 "source_info" : {
5990 "filename" : "include/int_source.p4",
5991 "line" : 40,
5992 "column" : 8,
5993 "source_fragment" : "hdr.int_header.c = 0"
5994 }
5995 },
5996 {
5997 "op" : "assign",
5998 "parameters" : [
5999 {
6000 "type" : "field",
6001 "value" : ["int_header", "e"]
6002 },
6003 {
6004 "type" : "hexstr",
6005 "value" : "0x00"
6006 }
6007 ],
6008 "source_info" : {
6009 "filename" : "include/int_source.p4",
6010 "line" : 41,
6011 "column" : 8,
6012 "source_fragment" : "hdr.int_header.e = 0"
6013 }
6014 },
6015 {
6016 "op" : "assign",
6017 "parameters" : [
6018 {
6019 "type" : "field",
6020 "value" : ["int_header", "rsvd1"]
6021 },
6022 {
6023 "type" : "hexstr",
6024 "value" : "0x00"
6025 }
6026 ],
6027 "source_info" : {
6028 "filename" : "include/int_source.p4",
6029 "line" : 42,
6030 "column" : 8,
6031 "source_fragment" : "hdr.int_header.rsvd1 = 0"
6032 }
6033 },
6034 {
6035 "op" : "assign",
6036 "parameters" : [
6037 {
6038 "type" : "field",
6039 "value" : ["int_header", "ins_cnt"]
6040 },
6041 {
6042 "type" : "runtime_data",
6043 "value" : 1
6044 }
6045 ],
6046 "source_info" : {
6047 "filename" : "include/int_source.p4",
6048 "line" : 43,
6049 "column" : 8,
6050 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
6051 }
6052 },
6053 {
6054 "op" : "assign",
6055 "parameters" : [
6056 {
6057 "type" : "field",
6058 "value" : ["int_header", "max_hop_cnt"]
6059 },
6060 {
6061 "type" : "runtime_data",
6062 "value" : 0
6063 }
6064 ],
6065 "source_info" : {
6066 "filename" : "include/int_source.p4",
6067 "line" : 44,
6068 "column" : 8,
6069 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
6070 }
6071 },
6072 {
6073 "op" : "assign",
6074 "parameters" : [
6075 {
6076 "type" : "field",
6077 "value" : ["int_header", "total_hop_cnt"]
6078 },
6079 {
6080 "type" : "hexstr",
6081 "value" : "0x00"
6082 }
6083 ],
6084 "source_info" : {
6085 "filename" : "include/int_source.p4",
6086 "line" : 45,
6087 "column" : 8,
6088 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
6089 }
6090 },
6091 {
6092 "op" : "assign",
6093 "parameters" : [
6094 {
6095 "type" : "field",
6096 "value" : ["int_header", "instruction_mask_0003"]
6097 },
6098 {
6099 "type" : "runtime_data",
6100 "value" : 2
6101 }
6102 ],
6103 "source_info" : {
6104 "filename" : "include/int_source.p4",
6105 "line" : 46,
6106 "column" : 8,
6107 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
6108 }
6109 },
6110 {
6111 "op" : "assign",
6112 "parameters" : [
6113 {
6114 "type" : "field",
6115 "value" : ["int_header", "instruction_mask_0407"]
6116 },
6117 {
6118 "type" : "runtime_data",
6119 "value" : 3
6120 }
6121 ],
6122 "source_info" : {
6123 "filename" : "include/int_source.p4",
6124 "line" : 47,
6125 "column" : 8,
6126 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
6127 }
6128 },
6129 {
6130 "op" : "assign",
6131 "parameters" : [
6132 {
6133 "type" : "field",
6134 "value" : ["int_header", "instruction_mask_0811"]
6135 },
6136 {
6137 "type" : "hexstr",
6138 "value" : "0x00"
6139 }
6140 ],
6141 "source_info" : {
6142 "filename" : "include/int_source.p4",
6143 "line" : 48,
6144 "column" : 8,
6145 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
6146 }
6147 },
6148 {
6149 "op" : "assign",
6150 "parameters" : [
6151 {
6152 "type" : "field",
6153 "value" : ["int_header", "instruction_mask_1215"]
6154 },
6155 {
6156 "type" : "hexstr",
6157 "value" : "0x00"
6158 }
6159 ],
6160 "source_info" : {
6161 "filename" : "include/int_source.p4",
6162 "line" : 49,
6163 "column" : 8,
6164 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
6165 }
6166 },
6167 {
6168 "op" : "add_header",
6169 "parameters" : [
6170 {
6171 "type" : "header",
6172 "value" : "intl4_tail"
6173 }
6174 ],
6175 "source_info" : {
6176 "filename" : "include/int_source.p4",
6177 "line" : 52,
6178 "column" : 8,
6179 "source_fragment" : "hdr.intl4_tail.setValid()"
6180 }
6181 },
6182 {
6183 "op" : "assign",
6184 "parameters" : [
6185 {
6186 "type" : "field",
6187 "value" : ["intl4_tail", "next_proto"]
6188 },
6189 {
6190 "type" : "field",
6191 "value" : ["ipv4", "protocol"]
6192 }
6193 ],
6194 "source_info" : {
6195 "filename" : "include/int_source.p4",
6196 "line" : 53,
6197 "column" : 8,
6198 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
6199 }
6200 },
6201 {
6202 "op" : "assign",
6203 "parameters" : [
6204 {
6205 "type" : "field",
6206 "value" : ["intl4_tail", "dest_port"]
6207 },
6208 {
6209 "type" : "field",
6210 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
6211 }
6212 ],
6213 "source_info" : {
6214 "filename" : "include/int_source.p4",
6215 "line" : 54,
6216 "column" : 8,
6217 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
6218 }
6219 },
6220 {
6221 "op" : "assign",
6222 "parameters" : [
6223 {
6224 "type" : "field",
6225 "value" : ["intl4_tail", "dscp"]
6226 },
6227 {
6228 "type" : "expression",
6229 "value" : {
6230 "type" : "expression",
6231 "value" : {
6232 "op" : "&",
6233 "left" : {
6234 "type" : "field",
6235 "value" : ["ipv4", "dscp"]
6236 },
6237 "right" : {
6238 "type" : "hexstr",
6239 "value" : "0xff"
6240 }
6241 }
6242 }
6243 }
6244 ],
6245 "source_info" : {
6246 "filename" : "include/int_source.p4",
6247 "line" : 55,
6248 "column" : 8,
6249 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
6250 }
6251 },
6252 {
6253 "op" : "assign",
6254 "parameters" : [
6255 {
6256 "type" : "field",
6257 "value" : ["ipv4", "total_len"]
6258 },
6259 {
6260 "type" : "expression",
6261 "value" : {
6262 "type" : "expression",
6263 "value" : {
6264 "op" : "&",
6265 "left" : {
6266 "type" : "expression",
6267 "value" : {
6268 "op" : "+",
6269 "left" : {
6270 "type" : "field",
6271 "value" : ["ipv4", "total_len"]
6272 },
6273 "right" : {
6274 "type" : "hexstr",
6275 "value" : "0x0010"
6276 }
6277 }
6278 },
6279 "right" : {
6280 "type" : "hexstr",
6281 "value" : "0xffff"
6282 }
6283 }
6284 }
6285 }
6286 ],
6287 "source_info" : {
6288 "filename" : "include/int_source.p4",
6289 "line" : 58,
6290 "column" : 8,
6291 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
6292 }
6293 },
6294 {
6295 "op" : "assign",
6296 "parameters" : [
6297 {
6298 "type" : "field",
6299 "value" : ["udp", "len"]
6300 },
6301 {
6302 "type" : "expression",
6303 "value" : {
6304 "type" : "expression",
6305 "value" : {
6306 "op" : "&",
6307 "left" : {
6308 "type" : "expression",
6309 "value" : {
6310 "op" : "+",
6311 "left" : {
6312 "type" : "field",
6313 "value" : ["udp", "len"]
6314 },
6315 "right" : {
6316 "type" : "hexstr",
6317 "value" : "0x0010"
6318 }
6319 }
6320 },
6321 "right" : {
6322 "type" : "hexstr",
6323 "value" : "0xffff"
6324 }
6325 }
6326 }
6327 }
6328 ],
6329 "source_info" : {
6330 "filename" : "include/int_source.p4",
6331 "line" : 59,
6332 "column" : 8,
6333 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
6334 }
6335 },
6336 {
6337 "op" : "assign",
6338 "parameters" : [
6339 {
6340 "type" : "field",
6341 "value" : ["ipv4", "dscp"]
6342 },
6343 {
6344 "type" : "hexstr",
6345 "value" : "0x01"
6346 }
6347 ],
6348 "source_info" : {
6349 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006350 "line" : 125,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006351 "column" : 24,
6352 "source_fragment" : "0x1; ..."
6353 }
6354 }
6355 ]
6356 },
6357 {
6358 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
Charles Chan384aea22018-08-23 22:08:02 -07006359 "id" : 84,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006360 "runtime_data" : [],
6361 "primitives" : [
6362 {
6363 "op" : "assign",
6364 "parameters" : [
6365 {
6366 "type" : "field",
6367 "value" : ["int_header", "total_hop_cnt"]
6368 },
6369 {
6370 "type" : "expression",
6371 "value" : {
6372 "type" : "expression",
6373 "value" : {
6374 "op" : "&",
6375 "left" : {
6376 "type" : "expression",
6377 "value" : {
6378 "op" : "+",
6379 "left" : {
6380 "type" : "field",
6381 "value" : ["int_header", "total_hop_cnt"]
6382 },
6383 "right" : {
6384 "type" : "hexstr",
6385 "value" : "0x01"
6386 }
6387 }
6388 },
6389 "right" : {
6390 "type" : "hexstr",
6391 "value" : "0xff"
6392 }
6393 }
6394 }
6395 }
6396 ],
6397 "source_info" : {
6398 "filename" : "include/int_transit.p4",
6399 "line" : 30,
6400 "column" : 8,
6401 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
6402 }
6403 }
6404 ]
6405 },
6406 {
6407 "name" : "FabricEgress.process_int_transit.int_transit",
Charles Chan384aea22018-08-23 22:08:02 -07006408 "id" : 85,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006409 "runtime_data" : [
6410 {
6411 "name" : "switch_id",
6412 "bitwidth" : 32
6413 }
6414 ],
6415 "primitives" : [
6416 {
6417 "op" : "assign",
6418 "parameters" : [
6419 {
6420 "type" : "field",
6421 "value" : ["userMetadata.int_meta", "switch_id"]
6422 },
6423 {
6424 "type" : "runtime_data",
6425 "value" : 0
6426 }
6427 ],
6428 "source_info" : {
6429 "filename" : "include/int_transit.p4",
6430 "line" : 34,
6431 "column" : 8,
6432 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
6433 }
6434 },
6435 {
6436 "op" : "assign",
6437 "parameters" : [
6438 {
6439 "type" : "field",
6440 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
6441 },
6442 {
6443 "type" : "expression",
6444 "value" : {
6445 "type" : "expression",
6446 "value" : {
6447 "op" : "&",
6448 "left" : {
6449 "type" : "expression",
6450 "value" : {
6451 "op" : "<<",
6452 "left" : {
6453 "type" : "expression",
6454 "value" : {
6455 "op" : "&",
6456 "left" : {
6457 "type" : "field",
6458 "value" : ["int_header", "ins_cnt"]
6459 },
6460 "right" : {
6461 "type" : "hexstr",
6462 "value" : "0xffff"
6463 }
6464 }
6465 },
6466 "right" : {
6467 "type" : "hexstr",
6468 "value" : "0x2"
6469 }
6470 }
6471 },
6472 "right" : {
6473 "type" : "hexstr",
6474 "value" : "0xffff"
6475 }
6476 }
6477 }
6478 }
6479 ],
6480 "source_info" : {
6481 "filename" : "include/int_transit.p4",
6482 "line" : 35,
6483 "column" : 8,
6484 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
6485 }
6486 }
6487 ]
6488 },
6489 {
6490 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
Charles Chan384aea22018-08-23 22:08:02 -07006491 "id" : 86,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006492 "runtime_data" : [],
6493 "primitives" : []
6494 },
6495 {
6496 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
Charles Chan384aea22018-08-23 22:08:02 -07006497 "id" : 87,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006498 "runtime_data" : [],
6499 "primitives" : [
6500 {
6501 "op" : "add_header",
6502 "parameters" : [
6503 {
6504 "type" : "header",
6505 "value" : "int_q_occupancy"
6506 }
6507 ],
6508 "source_info" : {
6509 "filename" : "include/int_transit.p4",
6510 "line" : 57,
6511 "column" : 8,
6512 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6513 }
6514 },
6515 {
6516 "op" : "assign",
6517 "parameters" : [
6518 {
6519 "type" : "field",
6520 "value" : ["int_q_occupancy", "q_id"]
6521 },
6522 {
6523 "type" : "hexstr",
6524 "value" : "0x00"
6525 }
6526 ],
6527 "source_info" : {
6528 "filename" : "include/int_transit.p4",
6529 "line" : 58,
6530 "column" : 8,
6531 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6532 }
6533 },
6534 {
6535 "op" : "assign",
6536 "parameters" : [
6537 {
6538 "type" : "field",
6539 "value" : ["int_q_occupancy", "q_occupancy"]
6540 },
6541 {
6542 "type" : "expression",
6543 "value" : {
6544 "type" : "expression",
6545 "value" : {
6546 "op" : "&",
6547 "left" : {
6548 "type" : "field",
6549 "value" : ["standard_metadata", "deq_qdepth"]
6550 },
6551 "right" : {
6552 "type" : "hexstr",
6553 "value" : "0xffffff"
6554 }
6555 }
6556 }
6557 }
6558 ],
6559 "source_info" : {
6560 "filename" : "include/int_transit.p4",
6561 "line" : 61,
6562 "column" : 8,
6563 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6564 }
6565 }
6566 ]
6567 },
6568 {
6569 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
Charles Chan384aea22018-08-23 22:08:02 -07006570 "id" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006571 "runtime_data" : [],
6572 "primitives" : [
6573 {
6574 "op" : "add_header",
6575 "parameters" : [
6576 {
6577 "type" : "header",
6578 "value" : "int_hop_latency"
6579 }
6580 ],
6581 "source_info" : {
6582 "filename" : "include/int_transit.p4",
6583 "line" : 51,
6584 "column" : 8,
6585 "source_fragment" : "hdr.int_hop_latency.setValid()"
6586 }
6587 },
6588 {
6589 "op" : "assign",
6590 "parameters" : [
6591 {
6592 "type" : "field",
6593 "value" : ["int_hop_latency", "hop_latency"]
6594 },
6595 {
6596 "type" : "field",
6597 "value" : ["standard_metadata", "deq_timedelta"]
6598 }
6599 ],
6600 "source_info" : {
6601 "filename" : "include/int_transit.p4",
6602 "line" : 52,
6603 "column" : 8,
6604 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6605 }
6606 }
6607 ]
6608 },
6609 {
6610 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
Charles Chan384aea22018-08-23 22:08:02 -07006611 "id" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006612 "runtime_data" : [],
6613 "primitives" : [
6614 {
6615 "op" : "add_header",
6616 "parameters" : [
6617 {
6618 "type" : "header",
6619 "value" : "int_q_occupancy"
6620 }
6621 ],
6622 "source_info" : {
6623 "filename" : "include/int_transit.p4",
6624 "line" : 57,
6625 "column" : 8,
6626 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6627 }
6628 },
6629 {
6630 "op" : "assign",
6631 "parameters" : [
6632 {
6633 "type" : "field",
6634 "value" : ["int_q_occupancy", "q_id"]
6635 },
6636 {
6637 "type" : "hexstr",
6638 "value" : "0x00"
6639 }
6640 ],
6641 "source_info" : {
6642 "filename" : "include/int_transit.p4",
6643 "line" : 58,
6644 "column" : 8,
6645 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6646 }
6647 },
6648 {
6649 "op" : "assign",
6650 "parameters" : [
6651 {
6652 "type" : "field",
6653 "value" : ["int_q_occupancy", "q_occupancy"]
6654 },
6655 {
6656 "type" : "expression",
6657 "value" : {
6658 "type" : "expression",
6659 "value" : {
6660 "op" : "&",
6661 "left" : {
6662 "type" : "field",
6663 "value" : ["standard_metadata", "deq_qdepth"]
6664 },
6665 "right" : {
6666 "type" : "hexstr",
6667 "value" : "0xffffff"
6668 }
6669 }
6670 }
6671 }
6672 ],
6673 "source_info" : {
6674 "filename" : "include/int_transit.p4",
6675 "line" : 61,
6676 "column" : 8,
6677 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6678 }
6679 },
6680 {
6681 "op" : "add_header",
6682 "parameters" : [
6683 {
6684 "type" : "header",
6685 "value" : "int_hop_latency"
6686 }
6687 ],
6688 "source_info" : {
6689 "filename" : "include/int_transit.p4",
6690 "line" : 51,
6691 "column" : 8,
6692 "source_fragment" : "hdr.int_hop_latency.setValid()"
6693 }
6694 },
6695 {
6696 "op" : "assign",
6697 "parameters" : [
6698 {
6699 "type" : "field",
6700 "value" : ["int_hop_latency", "hop_latency"]
6701 },
6702 {
6703 "type" : "field",
6704 "value" : ["standard_metadata", "deq_timedelta"]
6705 }
6706 ],
6707 "source_info" : {
6708 "filename" : "include/int_transit.p4",
6709 "line" : 52,
6710 "column" : 8,
6711 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6712 }
6713 }
6714 ]
6715 },
6716 {
6717 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
Charles Chan384aea22018-08-23 22:08:02 -07006718 "id" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006719 "runtime_data" : [],
6720 "primitives" : [
6721 {
6722 "op" : "add_header",
6723 "parameters" : [
6724 {
6725 "type" : "header",
6726 "value" : "int_port_ids"
6727 }
6728 ],
6729 "source_info" : {
6730 "filename" : "include/int_transit.p4",
6731 "line" : 44,
6732 "column" : 8,
6733 "source_fragment" : "hdr.int_port_ids.setValid()"
6734 }
6735 },
6736 {
6737 "op" : "assign",
6738 "parameters" : [
6739 {
6740 "type" : "field",
6741 "value" : ["int_port_ids", "ingress_port_id"]
6742 },
6743 {
6744 "type" : "expression",
6745 "value" : {
6746 "type" : "expression",
6747 "value" : {
6748 "op" : "&",
6749 "left" : {
6750 "type" : "field",
6751 "value" : ["standard_metadata", "ingress_port"]
6752 },
6753 "right" : {
6754 "type" : "hexstr",
6755 "value" : "0xffff"
6756 }
6757 }
6758 }
6759 }
6760 ],
6761 "source_info" : {
6762 "filename" : "include/int_transit.p4",
6763 "line" : 45,
6764 "column" : 8,
6765 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6766 }
6767 },
6768 {
6769 "op" : "assign",
6770 "parameters" : [
6771 {
6772 "type" : "field",
6773 "value" : ["int_port_ids", "egress_port_id"]
6774 },
6775 {
6776 "type" : "expression",
6777 "value" : {
6778 "type" : "expression",
6779 "value" : {
6780 "op" : "&",
6781 "left" : {
6782 "type" : "field",
6783 "value" : ["standard_metadata", "egress_port"]
6784 },
6785 "right" : {
6786 "type" : "hexstr",
6787 "value" : "0xffff"
6788 }
6789 }
6790 }
6791 }
6792 ],
6793 "source_info" : {
6794 "filename" : "include/int_transit.p4",
6795 "line" : 47,
6796 "column" : 8,
6797 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6798 }
6799 }
6800 ]
6801 },
6802 {
6803 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
Charles Chan384aea22018-08-23 22:08:02 -07006804 "id" : 91,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006805 "runtime_data" : [],
6806 "primitives" : [
6807 {
6808 "op" : "add_header",
6809 "parameters" : [
6810 {
6811 "type" : "header",
6812 "value" : "int_q_occupancy"
6813 }
6814 ],
6815 "source_info" : {
6816 "filename" : "include/int_transit.p4",
6817 "line" : 57,
6818 "column" : 8,
6819 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6820 }
6821 },
6822 {
6823 "op" : "assign",
6824 "parameters" : [
6825 {
6826 "type" : "field",
6827 "value" : ["int_q_occupancy", "q_id"]
6828 },
6829 {
6830 "type" : "hexstr",
6831 "value" : "0x00"
6832 }
6833 ],
6834 "source_info" : {
6835 "filename" : "include/int_transit.p4",
6836 "line" : 58,
6837 "column" : 8,
6838 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6839 }
6840 },
6841 {
6842 "op" : "assign",
6843 "parameters" : [
6844 {
6845 "type" : "field",
6846 "value" : ["int_q_occupancy", "q_occupancy"]
6847 },
6848 {
6849 "type" : "expression",
6850 "value" : {
6851 "type" : "expression",
6852 "value" : {
6853 "op" : "&",
6854 "left" : {
6855 "type" : "field",
6856 "value" : ["standard_metadata", "deq_qdepth"]
6857 },
6858 "right" : {
6859 "type" : "hexstr",
6860 "value" : "0xffffff"
6861 }
6862 }
6863 }
6864 }
6865 ],
6866 "source_info" : {
6867 "filename" : "include/int_transit.p4",
6868 "line" : 61,
6869 "column" : 8,
6870 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6871 }
6872 },
6873 {
6874 "op" : "add_header",
6875 "parameters" : [
6876 {
6877 "type" : "header",
6878 "value" : "int_port_ids"
6879 }
6880 ],
6881 "source_info" : {
6882 "filename" : "include/int_transit.p4",
6883 "line" : 44,
6884 "column" : 8,
6885 "source_fragment" : "hdr.int_port_ids.setValid()"
6886 }
6887 },
6888 {
6889 "op" : "assign",
6890 "parameters" : [
6891 {
6892 "type" : "field",
6893 "value" : ["int_port_ids", "ingress_port_id"]
6894 },
6895 {
6896 "type" : "expression",
6897 "value" : {
6898 "type" : "expression",
6899 "value" : {
6900 "op" : "&",
6901 "left" : {
6902 "type" : "field",
6903 "value" : ["standard_metadata", "ingress_port"]
6904 },
6905 "right" : {
6906 "type" : "hexstr",
6907 "value" : "0xffff"
6908 }
6909 }
6910 }
6911 }
6912 ],
6913 "source_info" : {
6914 "filename" : "include/int_transit.p4",
6915 "line" : 45,
6916 "column" : 8,
6917 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6918 }
6919 },
6920 {
6921 "op" : "assign",
6922 "parameters" : [
6923 {
6924 "type" : "field",
6925 "value" : ["int_port_ids", "egress_port_id"]
6926 },
6927 {
6928 "type" : "expression",
6929 "value" : {
6930 "type" : "expression",
6931 "value" : {
6932 "op" : "&",
6933 "left" : {
6934 "type" : "field",
6935 "value" : ["standard_metadata", "egress_port"]
6936 },
6937 "right" : {
6938 "type" : "hexstr",
6939 "value" : "0xffff"
6940 }
6941 }
6942 }
6943 }
6944 ],
6945 "source_info" : {
6946 "filename" : "include/int_transit.p4",
6947 "line" : 47,
6948 "column" : 8,
6949 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6950 }
6951 }
6952 ]
6953 },
6954 {
6955 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
Charles Chan384aea22018-08-23 22:08:02 -07006956 "id" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006957 "runtime_data" : [],
6958 "primitives" : [
6959 {
6960 "op" : "add_header",
6961 "parameters" : [
6962 {
6963 "type" : "header",
6964 "value" : "int_hop_latency"
6965 }
6966 ],
6967 "source_info" : {
6968 "filename" : "include/int_transit.p4",
6969 "line" : 51,
6970 "column" : 8,
6971 "source_fragment" : "hdr.int_hop_latency.setValid()"
6972 }
6973 },
6974 {
6975 "op" : "assign",
6976 "parameters" : [
6977 {
6978 "type" : "field",
6979 "value" : ["int_hop_latency", "hop_latency"]
6980 },
6981 {
6982 "type" : "field",
6983 "value" : ["standard_metadata", "deq_timedelta"]
6984 }
6985 ],
6986 "source_info" : {
6987 "filename" : "include/int_transit.p4",
6988 "line" : 52,
6989 "column" : 8,
6990 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6991 }
6992 },
6993 {
6994 "op" : "add_header",
6995 "parameters" : [
6996 {
6997 "type" : "header",
6998 "value" : "int_port_ids"
6999 }
7000 ],
7001 "source_info" : {
7002 "filename" : "include/int_transit.p4",
7003 "line" : 44,
7004 "column" : 8,
7005 "source_fragment" : "hdr.int_port_ids.setValid()"
7006 }
7007 },
7008 {
7009 "op" : "assign",
7010 "parameters" : [
7011 {
7012 "type" : "field",
7013 "value" : ["int_port_ids", "ingress_port_id"]
7014 },
7015 {
7016 "type" : "expression",
7017 "value" : {
7018 "type" : "expression",
7019 "value" : {
7020 "op" : "&",
7021 "left" : {
7022 "type" : "field",
7023 "value" : ["standard_metadata", "ingress_port"]
7024 },
7025 "right" : {
7026 "type" : "hexstr",
7027 "value" : "0xffff"
7028 }
7029 }
7030 }
7031 }
7032 ],
7033 "source_info" : {
7034 "filename" : "include/int_transit.p4",
7035 "line" : 45,
7036 "column" : 8,
7037 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7038 }
7039 },
7040 {
7041 "op" : "assign",
7042 "parameters" : [
7043 {
7044 "type" : "field",
7045 "value" : ["int_port_ids", "egress_port_id"]
7046 },
7047 {
7048 "type" : "expression",
7049 "value" : {
7050 "type" : "expression",
7051 "value" : {
7052 "op" : "&",
7053 "left" : {
7054 "type" : "field",
7055 "value" : ["standard_metadata", "egress_port"]
7056 },
7057 "right" : {
7058 "type" : "hexstr",
7059 "value" : "0xffff"
7060 }
7061 }
7062 }
7063 }
7064 ],
7065 "source_info" : {
7066 "filename" : "include/int_transit.p4",
7067 "line" : 47,
7068 "column" : 8,
7069 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7070 }
7071 }
7072 ]
7073 },
7074 {
7075 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
Charles Chan384aea22018-08-23 22:08:02 -07007076 "id" : 93,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007077 "runtime_data" : [],
7078 "primitives" : [
7079 {
7080 "op" : "add_header",
7081 "parameters" : [
7082 {
7083 "type" : "header",
7084 "value" : "int_q_occupancy"
7085 }
7086 ],
7087 "source_info" : {
7088 "filename" : "include/int_transit.p4",
7089 "line" : 57,
7090 "column" : 8,
7091 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7092 }
7093 },
7094 {
7095 "op" : "assign",
7096 "parameters" : [
7097 {
7098 "type" : "field",
7099 "value" : ["int_q_occupancy", "q_id"]
7100 },
7101 {
7102 "type" : "hexstr",
7103 "value" : "0x00"
7104 }
7105 ],
7106 "source_info" : {
7107 "filename" : "include/int_transit.p4",
7108 "line" : 58,
7109 "column" : 8,
7110 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7111 }
7112 },
7113 {
7114 "op" : "assign",
7115 "parameters" : [
7116 {
7117 "type" : "field",
7118 "value" : ["int_q_occupancy", "q_occupancy"]
7119 },
7120 {
7121 "type" : "expression",
7122 "value" : {
7123 "type" : "expression",
7124 "value" : {
7125 "op" : "&",
7126 "left" : {
7127 "type" : "field",
7128 "value" : ["standard_metadata", "deq_qdepth"]
7129 },
7130 "right" : {
7131 "type" : "hexstr",
7132 "value" : "0xffffff"
7133 }
7134 }
7135 }
7136 }
7137 ],
7138 "source_info" : {
7139 "filename" : "include/int_transit.p4",
7140 "line" : 61,
7141 "column" : 8,
7142 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7143 }
7144 },
7145 {
7146 "op" : "add_header",
7147 "parameters" : [
7148 {
7149 "type" : "header",
7150 "value" : "int_hop_latency"
7151 }
7152 ],
7153 "source_info" : {
7154 "filename" : "include/int_transit.p4",
7155 "line" : 51,
7156 "column" : 8,
7157 "source_fragment" : "hdr.int_hop_latency.setValid()"
7158 }
7159 },
7160 {
7161 "op" : "assign",
7162 "parameters" : [
7163 {
7164 "type" : "field",
7165 "value" : ["int_hop_latency", "hop_latency"]
7166 },
7167 {
7168 "type" : "field",
7169 "value" : ["standard_metadata", "deq_timedelta"]
7170 }
7171 ],
7172 "source_info" : {
7173 "filename" : "include/int_transit.p4",
7174 "line" : 52,
7175 "column" : 8,
7176 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7177 }
7178 },
7179 {
7180 "op" : "add_header",
7181 "parameters" : [
7182 {
7183 "type" : "header",
7184 "value" : "int_port_ids"
7185 }
7186 ],
7187 "source_info" : {
7188 "filename" : "include/int_transit.p4",
7189 "line" : 44,
7190 "column" : 8,
7191 "source_fragment" : "hdr.int_port_ids.setValid()"
7192 }
7193 },
7194 {
7195 "op" : "assign",
7196 "parameters" : [
7197 {
7198 "type" : "field",
7199 "value" : ["int_port_ids", "ingress_port_id"]
7200 },
7201 {
7202 "type" : "expression",
7203 "value" : {
7204 "type" : "expression",
7205 "value" : {
7206 "op" : "&",
7207 "left" : {
7208 "type" : "field",
7209 "value" : ["standard_metadata", "ingress_port"]
7210 },
7211 "right" : {
7212 "type" : "hexstr",
7213 "value" : "0xffff"
7214 }
7215 }
7216 }
7217 }
7218 ],
7219 "source_info" : {
7220 "filename" : "include/int_transit.p4",
7221 "line" : 45,
7222 "column" : 8,
7223 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7224 }
7225 },
7226 {
7227 "op" : "assign",
7228 "parameters" : [
7229 {
7230 "type" : "field",
7231 "value" : ["int_port_ids", "egress_port_id"]
7232 },
7233 {
7234 "type" : "expression",
7235 "value" : {
7236 "type" : "expression",
7237 "value" : {
7238 "op" : "&",
7239 "left" : {
7240 "type" : "field",
7241 "value" : ["standard_metadata", "egress_port"]
7242 },
7243 "right" : {
7244 "type" : "hexstr",
7245 "value" : "0xffff"
7246 }
7247 }
7248 }
7249 }
7250 ],
7251 "source_info" : {
7252 "filename" : "include/int_transit.p4",
7253 "line" : 47,
7254 "column" : 8,
7255 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7256 }
7257 }
7258 ]
7259 },
7260 {
7261 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
Charles Chan384aea22018-08-23 22:08:02 -07007262 "id" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007263 "runtime_data" : [],
7264 "primitives" : [
7265 {
7266 "op" : "add_header",
7267 "parameters" : [
7268 {
7269 "type" : "header",
7270 "value" : "int_switch_id"
7271 }
7272 ],
7273 "source_info" : {
7274 "filename" : "include/int_transit.p4",
7275 "line" : 40,
7276 "column" : 8,
7277 "source_fragment" : "hdr.int_switch_id.setValid()"
7278 }
7279 },
7280 {
7281 "op" : "assign",
7282 "parameters" : [
7283 {
7284 "type" : "field",
7285 "value" : ["int_switch_id", "switch_id"]
7286 },
7287 {
7288 "type" : "field",
7289 "value" : ["userMetadata.int_meta", "switch_id"]
7290 }
7291 ],
7292 "source_info" : {
7293 "filename" : "include/int_transit.p4",
7294 "line" : 41,
7295 "column" : 8,
7296 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7297 }
7298 }
7299 ]
7300 },
7301 {
7302 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
Charles Chan384aea22018-08-23 22:08:02 -07007303 "id" : 95,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007304 "runtime_data" : [],
7305 "primitives" : [
7306 {
7307 "op" : "add_header",
7308 "parameters" : [
7309 {
7310 "type" : "header",
7311 "value" : "int_q_occupancy"
7312 }
7313 ],
7314 "source_info" : {
7315 "filename" : "include/int_transit.p4",
7316 "line" : 57,
7317 "column" : 8,
7318 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7319 }
7320 },
7321 {
7322 "op" : "assign",
7323 "parameters" : [
7324 {
7325 "type" : "field",
7326 "value" : ["int_q_occupancy", "q_id"]
7327 },
7328 {
7329 "type" : "hexstr",
7330 "value" : "0x00"
7331 }
7332 ],
7333 "source_info" : {
7334 "filename" : "include/int_transit.p4",
7335 "line" : 58,
7336 "column" : 8,
7337 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7338 }
7339 },
7340 {
7341 "op" : "assign",
7342 "parameters" : [
7343 {
7344 "type" : "field",
7345 "value" : ["int_q_occupancy", "q_occupancy"]
7346 },
7347 {
7348 "type" : "expression",
7349 "value" : {
7350 "type" : "expression",
7351 "value" : {
7352 "op" : "&",
7353 "left" : {
7354 "type" : "field",
7355 "value" : ["standard_metadata", "deq_qdepth"]
7356 },
7357 "right" : {
7358 "type" : "hexstr",
7359 "value" : "0xffffff"
7360 }
7361 }
7362 }
7363 }
7364 ],
7365 "source_info" : {
7366 "filename" : "include/int_transit.p4",
7367 "line" : 61,
7368 "column" : 8,
7369 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7370 }
7371 },
7372 {
7373 "op" : "add_header",
7374 "parameters" : [
7375 {
7376 "type" : "header",
7377 "value" : "int_switch_id"
7378 }
7379 ],
7380 "source_info" : {
7381 "filename" : "include/int_transit.p4",
7382 "line" : 40,
7383 "column" : 8,
7384 "source_fragment" : "hdr.int_switch_id.setValid()"
7385 }
7386 },
7387 {
7388 "op" : "assign",
7389 "parameters" : [
7390 {
7391 "type" : "field",
7392 "value" : ["int_switch_id", "switch_id"]
7393 },
7394 {
7395 "type" : "field",
7396 "value" : ["userMetadata.int_meta", "switch_id"]
7397 }
7398 ],
7399 "source_info" : {
7400 "filename" : "include/int_transit.p4",
7401 "line" : 41,
7402 "column" : 8,
7403 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7404 }
7405 }
7406 ]
7407 },
7408 {
7409 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
Charles Chan384aea22018-08-23 22:08:02 -07007410 "id" : 96,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007411 "runtime_data" : [],
7412 "primitives" : [
7413 {
7414 "op" : "add_header",
7415 "parameters" : [
7416 {
7417 "type" : "header",
7418 "value" : "int_hop_latency"
7419 }
7420 ],
7421 "source_info" : {
7422 "filename" : "include/int_transit.p4",
7423 "line" : 51,
7424 "column" : 8,
7425 "source_fragment" : "hdr.int_hop_latency.setValid()"
7426 }
7427 },
7428 {
7429 "op" : "assign",
7430 "parameters" : [
7431 {
7432 "type" : "field",
7433 "value" : ["int_hop_latency", "hop_latency"]
7434 },
7435 {
7436 "type" : "field",
7437 "value" : ["standard_metadata", "deq_timedelta"]
7438 }
7439 ],
7440 "source_info" : {
7441 "filename" : "include/int_transit.p4",
7442 "line" : 52,
7443 "column" : 8,
7444 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7445 }
7446 },
7447 {
7448 "op" : "add_header",
7449 "parameters" : [
7450 {
7451 "type" : "header",
7452 "value" : "int_switch_id"
7453 }
7454 ],
7455 "source_info" : {
7456 "filename" : "include/int_transit.p4",
7457 "line" : 40,
7458 "column" : 8,
7459 "source_fragment" : "hdr.int_switch_id.setValid()"
7460 }
7461 },
7462 {
7463 "op" : "assign",
7464 "parameters" : [
7465 {
7466 "type" : "field",
7467 "value" : ["int_switch_id", "switch_id"]
7468 },
7469 {
7470 "type" : "field",
7471 "value" : ["userMetadata.int_meta", "switch_id"]
7472 }
7473 ],
7474 "source_info" : {
7475 "filename" : "include/int_transit.p4",
7476 "line" : 41,
7477 "column" : 8,
7478 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7479 }
7480 }
7481 ]
7482 },
7483 {
7484 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
Charles Chan384aea22018-08-23 22:08:02 -07007485 "id" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007486 "runtime_data" : [],
7487 "primitives" : [
7488 {
7489 "op" : "add_header",
7490 "parameters" : [
7491 {
7492 "type" : "header",
7493 "value" : "int_q_occupancy"
7494 }
7495 ],
7496 "source_info" : {
7497 "filename" : "include/int_transit.p4",
7498 "line" : 57,
7499 "column" : 8,
7500 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7501 }
7502 },
7503 {
7504 "op" : "assign",
7505 "parameters" : [
7506 {
7507 "type" : "field",
7508 "value" : ["int_q_occupancy", "q_id"]
7509 },
7510 {
7511 "type" : "hexstr",
7512 "value" : "0x00"
7513 }
7514 ],
7515 "source_info" : {
7516 "filename" : "include/int_transit.p4",
7517 "line" : 58,
7518 "column" : 8,
7519 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7520 }
7521 },
7522 {
7523 "op" : "assign",
7524 "parameters" : [
7525 {
7526 "type" : "field",
7527 "value" : ["int_q_occupancy", "q_occupancy"]
7528 },
7529 {
7530 "type" : "expression",
7531 "value" : {
7532 "type" : "expression",
7533 "value" : {
7534 "op" : "&",
7535 "left" : {
7536 "type" : "field",
7537 "value" : ["standard_metadata", "deq_qdepth"]
7538 },
7539 "right" : {
7540 "type" : "hexstr",
7541 "value" : "0xffffff"
7542 }
7543 }
7544 }
7545 }
7546 ],
7547 "source_info" : {
7548 "filename" : "include/int_transit.p4",
7549 "line" : 61,
7550 "column" : 8,
7551 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7552 }
7553 },
7554 {
7555 "op" : "add_header",
7556 "parameters" : [
7557 {
7558 "type" : "header",
7559 "value" : "int_hop_latency"
7560 }
7561 ],
7562 "source_info" : {
7563 "filename" : "include/int_transit.p4",
7564 "line" : 51,
7565 "column" : 8,
7566 "source_fragment" : "hdr.int_hop_latency.setValid()"
7567 }
7568 },
7569 {
7570 "op" : "assign",
7571 "parameters" : [
7572 {
7573 "type" : "field",
7574 "value" : ["int_hop_latency", "hop_latency"]
7575 },
7576 {
7577 "type" : "field",
7578 "value" : ["standard_metadata", "deq_timedelta"]
7579 }
7580 ],
7581 "source_info" : {
7582 "filename" : "include/int_transit.p4",
7583 "line" : 52,
7584 "column" : 8,
7585 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7586 }
7587 },
7588 {
7589 "op" : "add_header",
7590 "parameters" : [
7591 {
7592 "type" : "header",
7593 "value" : "int_switch_id"
7594 }
7595 ],
7596 "source_info" : {
7597 "filename" : "include/int_transit.p4",
7598 "line" : 40,
7599 "column" : 8,
7600 "source_fragment" : "hdr.int_switch_id.setValid()"
7601 }
7602 },
7603 {
7604 "op" : "assign",
7605 "parameters" : [
7606 {
7607 "type" : "field",
7608 "value" : ["int_switch_id", "switch_id"]
7609 },
7610 {
7611 "type" : "field",
7612 "value" : ["userMetadata.int_meta", "switch_id"]
7613 }
7614 ],
7615 "source_info" : {
7616 "filename" : "include/int_transit.p4",
7617 "line" : 41,
7618 "column" : 8,
7619 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7620 }
7621 }
7622 ]
7623 },
7624 {
7625 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
Charles Chan384aea22018-08-23 22:08:02 -07007626 "id" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007627 "runtime_data" : [],
7628 "primitives" : [
7629 {
7630 "op" : "add_header",
7631 "parameters" : [
7632 {
7633 "type" : "header",
7634 "value" : "int_port_ids"
7635 }
7636 ],
7637 "source_info" : {
7638 "filename" : "include/int_transit.p4",
7639 "line" : 44,
7640 "column" : 8,
7641 "source_fragment" : "hdr.int_port_ids.setValid()"
7642 }
7643 },
7644 {
7645 "op" : "assign",
7646 "parameters" : [
7647 {
7648 "type" : "field",
7649 "value" : ["int_port_ids", "ingress_port_id"]
7650 },
7651 {
7652 "type" : "expression",
7653 "value" : {
7654 "type" : "expression",
7655 "value" : {
7656 "op" : "&",
7657 "left" : {
7658 "type" : "field",
7659 "value" : ["standard_metadata", "ingress_port"]
7660 },
7661 "right" : {
7662 "type" : "hexstr",
7663 "value" : "0xffff"
7664 }
7665 }
7666 }
7667 }
7668 ],
7669 "source_info" : {
7670 "filename" : "include/int_transit.p4",
7671 "line" : 45,
7672 "column" : 8,
7673 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7674 }
7675 },
7676 {
7677 "op" : "assign",
7678 "parameters" : [
7679 {
7680 "type" : "field",
7681 "value" : ["int_port_ids", "egress_port_id"]
7682 },
7683 {
7684 "type" : "expression",
7685 "value" : {
7686 "type" : "expression",
7687 "value" : {
7688 "op" : "&",
7689 "left" : {
7690 "type" : "field",
7691 "value" : ["standard_metadata", "egress_port"]
7692 },
7693 "right" : {
7694 "type" : "hexstr",
7695 "value" : "0xffff"
7696 }
7697 }
7698 }
7699 }
7700 ],
7701 "source_info" : {
7702 "filename" : "include/int_transit.p4",
7703 "line" : 47,
7704 "column" : 8,
7705 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7706 }
7707 },
7708 {
7709 "op" : "add_header",
7710 "parameters" : [
7711 {
7712 "type" : "header",
7713 "value" : "int_switch_id"
7714 }
7715 ],
7716 "source_info" : {
7717 "filename" : "include/int_transit.p4",
7718 "line" : 40,
7719 "column" : 8,
7720 "source_fragment" : "hdr.int_switch_id.setValid()"
7721 }
7722 },
7723 {
7724 "op" : "assign",
7725 "parameters" : [
7726 {
7727 "type" : "field",
7728 "value" : ["int_switch_id", "switch_id"]
7729 },
7730 {
7731 "type" : "field",
7732 "value" : ["userMetadata.int_meta", "switch_id"]
7733 }
7734 ],
7735 "source_info" : {
7736 "filename" : "include/int_transit.p4",
7737 "line" : 41,
7738 "column" : 8,
7739 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7740 }
7741 }
7742 ]
7743 },
7744 {
7745 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
Charles Chan384aea22018-08-23 22:08:02 -07007746 "id" : 99,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007747 "runtime_data" : [],
7748 "primitives" : [
7749 {
7750 "op" : "add_header",
7751 "parameters" : [
7752 {
7753 "type" : "header",
7754 "value" : "int_q_occupancy"
7755 }
7756 ],
7757 "source_info" : {
7758 "filename" : "include/int_transit.p4",
7759 "line" : 57,
7760 "column" : 8,
7761 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7762 }
7763 },
7764 {
7765 "op" : "assign",
7766 "parameters" : [
7767 {
7768 "type" : "field",
7769 "value" : ["int_q_occupancy", "q_id"]
7770 },
7771 {
7772 "type" : "hexstr",
7773 "value" : "0x00"
7774 }
7775 ],
7776 "source_info" : {
7777 "filename" : "include/int_transit.p4",
7778 "line" : 58,
7779 "column" : 8,
7780 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7781 }
7782 },
7783 {
7784 "op" : "assign",
7785 "parameters" : [
7786 {
7787 "type" : "field",
7788 "value" : ["int_q_occupancy", "q_occupancy"]
7789 },
7790 {
7791 "type" : "expression",
7792 "value" : {
7793 "type" : "expression",
7794 "value" : {
7795 "op" : "&",
7796 "left" : {
7797 "type" : "field",
7798 "value" : ["standard_metadata", "deq_qdepth"]
7799 },
7800 "right" : {
7801 "type" : "hexstr",
7802 "value" : "0xffffff"
7803 }
7804 }
7805 }
7806 }
7807 ],
7808 "source_info" : {
7809 "filename" : "include/int_transit.p4",
7810 "line" : 61,
7811 "column" : 8,
7812 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7813 }
7814 },
7815 {
7816 "op" : "add_header",
7817 "parameters" : [
7818 {
7819 "type" : "header",
7820 "value" : "int_port_ids"
7821 }
7822 ],
7823 "source_info" : {
7824 "filename" : "include/int_transit.p4",
7825 "line" : 44,
7826 "column" : 8,
7827 "source_fragment" : "hdr.int_port_ids.setValid()"
7828 }
7829 },
7830 {
7831 "op" : "assign",
7832 "parameters" : [
7833 {
7834 "type" : "field",
7835 "value" : ["int_port_ids", "ingress_port_id"]
7836 },
7837 {
7838 "type" : "expression",
7839 "value" : {
7840 "type" : "expression",
7841 "value" : {
7842 "op" : "&",
7843 "left" : {
7844 "type" : "field",
7845 "value" : ["standard_metadata", "ingress_port"]
7846 },
7847 "right" : {
7848 "type" : "hexstr",
7849 "value" : "0xffff"
7850 }
7851 }
7852 }
7853 }
7854 ],
7855 "source_info" : {
7856 "filename" : "include/int_transit.p4",
7857 "line" : 45,
7858 "column" : 8,
7859 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7860 }
7861 },
7862 {
7863 "op" : "assign",
7864 "parameters" : [
7865 {
7866 "type" : "field",
7867 "value" : ["int_port_ids", "egress_port_id"]
7868 },
7869 {
7870 "type" : "expression",
7871 "value" : {
7872 "type" : "expression",
7873 "value" : {
7874 "op" : "&",
7875 "left" : {
7876 "type" : "field",
7877 "value" : ["standard_metadata", "egress_port"]
7878 },
7879 "right" : {
7880 "type" : "hexstr",
7881 "value" : "0xffff"
7882 }
7883 }
7884 }
7885 }
7886 ],
7887 "source_info" : {
7888 "filename" : "include/int_transit.p4",
7889 "line" : 47,
7890 "column" : 8,
7891 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7892 }
7893 },
7894 {
7895 "op" : "add_header",
7896 "parameters" : [
7897 {
7898 "type" : "header",
7899 "value" : "int_switch_id"
7900 }
7901 ],
7902 "source_info" : {
7903 "filename" : "include/int_transit.p4",
7904 "line" : 40,
7905 "column" : 8,
7906 "source_fragment" : "hdr.int_switch_id.setValid()"
7907 }
7908 },
7909 {
7910 "op" : "assign",
7911 "parameters" : [
7912 {
7913 "type" : "field",
7914 "value" : ["int_switch_id", "switch_id"]
7915 },
7916 {
7917 "type" : "field",
7918 "value" : ["userMetadata.int_meta", "switch_id"]
7919 }
7920 ],
7921 "source_info" : {
7922 "filename" : "include/int_transit.p4",
7923 "line" : 41,
7924 "column" : 8,
7925 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7926 }
7927 }
7928 ]
7929 },
7930 {
7931 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
Charles Chan384aea22018-08-23 22:08:02 -07007932 "id" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007933 "runtime_data" : [],
7934 "primitives" : [
7935 {
7936 "op" : "add_header",
7937 "parameters" : [
7938 {
7939 "type" : "header",
7940 "value" : "int_hop_latency"
7941 }
7942 ],
7943 "source_info" : {
7944 "filename" : "include/int_transit.p4",
7945 "line" : 51,
7946 "column" : 8,
7947 "source_fragment" : "hdr.int_hop_latency.setValid()"
7948 }
7949 },
7950 {
7951 "op" : "assign",
7952 "parameters" : [
7953 {
7954 "type" : "field",
7955 "value" : ["int_hop_latency", "hop_latency"]
7956 },
7957 {
7958 "type" : "field",
7959 "value" : ["standard_metadata", "deq_timedelta"]
7960 }
7961 ],
7962 "source_info" : {
7963 "filename" : "include/int_transit.p4",
7964 "line" : 52,
7965 "column" : 8,
7966 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7967 }
7968 },
7969 {
7970 "op" : "add_header",
7971 "parameters" : [
7972 {
7973 "type" : "header",
7974 "value" : "int_port_ids"
7975 }
7976 ],
7977 "source_info" : {
7978 "filename" : "include/int_transit.p4",
7979 "line" : 44,
7980 "column" : 8,
7981 "source_fragment" : "hdr.int_port_ids.setValid()"
7982 }
7983 },
7984 {
7985 "op" : "assign",
7986 "parameters" : [
7987 {
7988 "type" : "field",
7989 "value" : ["int_port_ids", "ingress_port_id"]
7990 },
7991 {
7992 "type" : "expression",
7993 "value" : {
7994 "type" : "expression",
7995 "value" : {
7996 "op" : "&",
7997 "left" : {
7998 "type" : "field",
7999 "value" : ["standard_metadata", "ingress_port"]
8000 },
8001 "right" : {
8002 "type" : "hexstr",
8003 "value" : "0xffff"
8004 }
8005 }
8006 }
8007 }
8008 ],
8009 "source_info" : {
8010 "filename" : "include/int_transit.p4",
8011 "line" : 45,
8012 "column" : 8,
8013 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8014 }
8015 },
8016 {
8017 "op" : "assign",
8018 "parameters" : [
8019 {
8020 "type" : "field",
8021 "value" : ["int_port_ids", "egress_port_id"]
8022 },
8023 {
8024 "type" : "expression",
8025 "value" : {
8026 "type" : "expression",
8027 "value" : {
8028 "op" : "&",
8029 "left" : {
8030 "type" : "field",
8031 "value" : ["standard_metadata", "egress_port"]
8032 },
8033 "right" : {
8034 "type" : "hexstr",
8035 "value" : "0xffff"
8036 }
8037 }
8038 }
8039 }
8040 ],
8041 "source_info" : {
8042 "filename" : "include/int_transit.p4",
8043 "line" : 47,
8044 "column" : 8,
8045 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8046 }
8047 },
8048 {
8049 "op" : "add_header",
8050 "parameters" : [
8051 {
8052 "type" : "header",
8053 "value" : "int_switch_id"
8054 }
8055 ],
8056 "source_info" : {
8057 "filename" : "include/int_transit.p4",
8058 "line" : 40,
8059 "column" : 8,
8060 "source_fragment" : "hdr.int_switch_id.setValid()"
8061 }
8062 },
8063 {
8064 "op" : "assign",
8065 "parameters" : [
8066 {
8067 "type" : "field",
8068 "value" : ["int_switch_id", "switch_id"]
8069 },
8070 {
8071 "type" : "field",
8072 "value" : ["userMetadata.int_meta", "switch_id"]
8073 }
8074 ],
8075 "source_info" : {
8076 "filename" : "include/int_transit.p4",
8077 "line" : 41,
8078 "column" : 8,
8079 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8080 }
8081 }
8082 ]
8083 },
8084 {
8085 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
Charles Chan384aea22018-08-23 22:08:02 -07008086 "id" : 101,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008087 "runtime_data" : [],
8088 "primitives" : [
8089 {
8090 "op" : "add_header",
8091 "parameters" : [
8092 {
8093 "type" : "header",
8094 "value" : "int_q_occupancy"
8095 }
8096 ],
8097 "source_info" : {
8098 "filename" : "include/int_transit.p4",
8099 "line" : 57,
8100 "column" : 8,
8101 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8102 }
8103 },
8104 {
8105 "op" : "assign",
8106 "parameters" : [
8107 {
8108 "type" : "field",
8109 "value" : ["int_q_occupancy", "q_id"]
8110 },
8111 {
8112 "type" : "hexstr",
8113 "value" : "0x00"
8114 }
8115 ],
8116 "source_info" : {
8117 "filename" : "include/int_transit.p4",
8118 "line" : 58,
8119 "column" : 8,
8120 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
8121 }
8122 },
8123 {
8124 "op" : "assign",
8125 "parameters" : [
8126 {
8127 "type" : "field",
8128 "value" : ["int_q_occupancy", "q_occupancy"]
8129 },
8130 {
8131 "type" : "expression",
8132 "value" : {
8133 "type" : "expression",
8134 "value" : {
8135 "op" : "&",
8136 "left" : {
8137 "type" : "field",
8138 "value" : ["standard_metadata", "deq_qdepth"]
8139 },
8140 "right" : {
8141 "type" : "hexstr",
8142 "value" : "0xffffff"
8143 }
8144 }
8145 }
8146 }
8147 ],
8148 "source_info" : {
8149 "filename" : "include/int_transit.p4",
8150 "line" : 61,
8151 "column" : 8,
8152 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
8153 }
8154 },
8155 {
8156 "op" : "add_header",
8157 "parameters" : [
8158 {
8159 "type" : "header",
8160 "value" : "int_hop_latency"
8161 }
8162 ],
8163 "source_info" : {
8164 "filename" : "include/int_transit.p4",
8165 "line" : 51,
8166 "column" : 8,
8167 "source_fragment" : "hdr.int_hop_latency.setValid()"
8168 }
8169 },
8170 {
8171 "op" : "assign",
8172 "parameters" : [
8173 {
8174 "type" : "field",
8175 "value" : ["int_hop_latency", "hop_latency"]
8176 },
8177 {
8178 "type" : "field",
8179 "value" : ["standard_metadata", "deq_timedelta"]
8180 }
8181 ],
8182 "source_info" : {
8183 "filename" : "include/int_transit.p4",
8184 "line" : 52,
8185 "column" : 8,
8186 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
8187 }
8188 },
8189 {
8190 "op" : "add_header",
8191 "parameters" : [
8192 {
8193 "type" : "header",
8194 "value" : "int_port_ids"
8195 }
8196 ],
8197 "source_info" : {
8198 "filename" : "include/int_transit.p4",
8199 "line" : 44,
8200 "column" : 8,
8201 "source_fragment" : "hdr.int_port_ids.setValid()"
8202 }
8203 },
8204 {
8205 "op" : "assign",
8206 "parameters" : [
8207 {
8208 "type" : "field",
8209 "value" : ["int_port_ids", "ingress_port_id"]
8210 },
8211 {
8212 "type" : "expression",
8213 "value" : {
8214 "type" : "expression",
8215 "value" : {
8216 "op" : "&",
8217 "left" : {
8218 "type" : "field",
8219 "value" : ["standard_metadata", "ingress_port"]
8220 },
8221 "right" : {
8222 "type" : "hexstr",
8223 "value" : "0xffff"
8224 }
8225 }
8226 }
8227 }
8228 ],
8229 "source_info" : {
8230 "filename" : "include/int_transit.p4",
8231 "line" : 45,
8232 "column" : 8,
8233 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8234 }
8235 },
8236 {
8237 "op" : "assign",
8238 "parameters" : [
8239 {
8240 "type" : "field",
8241 "value" : ["int_port_ids", "egress_port_id"]
8242 },
8243 {
8244 "type" : "expression",
8245 "value" : {
8246 "type" : "expression",
8247 "value" : {
8248 "op" : "&",
8249 "left" : {
8250 "type" : "field",
8251 "value" : ["standard_metadata", "egress_port"]
8252 },
8253 "right" : {
8254 "type" : "hexstr",
8255 "value" : "0xffff"
8256 }
8257 }
8258 }
8259 }
8260 ],
8261 "source_info" : {
8262 "filename" : "include/int_transit.p4",
8263 "line" : 47,
8264 "column" : 8,
8265 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8266 }
8267 },
8268 {
8269 "op" : "add_header",
8270 "parameters" : [
8271 {
8272 "type" : "header",
8273 "value" : "int_switch_id"
8274 }
8275 ],
8276 "source_info" : {
8277 "filename" : "include/int_transit.p4",
8278 "line" : 40,
8279 "column" : 8,
8280 "source_fragment" : "hdr.int_switch_id.setValid()"
8281 }
8282 },
8283 {
8284 "op" : "assign",
8285 "parameters" : [
8286 {
8287 "type" : "field",
8288 "value" : ["int_switch_id", "switch_id"]
8289 },
8290 {
8291 "type" : "field",
8292 "value" : ["userMetadata.int_meta", "switch_id"]
8293 }
8294 ],
8295 "source_info" : {
8296 "filename" : "include/int_transit.p4",
8297 "line" : 41,
8298 "column" : 8,
8299 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8300 }
8301 }
8302 ]
8303 },
8304 {
8305 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
Charles Chan384aea22018-08-23 22:08:02 -07008306 "id" : 102,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008307 "runtime_data" : [],
8308 "primitives" : []
8309 },
8310 {
8311 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
Charles Chan384aea22018-08-23 22:08:02 -07008312 "id" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008313 "runtime_data" : [],
8314 "primitives" : [
8315 {
8316 "op" : "add_header",
8317 "parameters" : [
8318 {
8319 "type" : "header",
8320 "value" : "int_egress_tx_util"
8321 }
8322 ],
8323 "source_info" : {
8324 "filename" : "include/int_transit.p4",
8325 "line" : 88,
8326 "column" : 8,
8327 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8328 }
8329 },
8330 {
8331 "op" : "assign",
8332 "parameters" : [
8333 {
8334 "type" : "field",
8335 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8336 },
8337 {
8338 "type" : "hexstr",
8339 "value" : "0x00000000"
8340 }
8341 ],
8342 "source_info" : {
8343 "filename" : "include/int_transit.p4",
8344 "line" : 89,
8345 "column" : 8,
8346 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8347 }
8348 }
8349 ]
8350 },
8351 {
8352 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
Charles Chan384aea22018-08-23 22:08:02 -07008353 "id" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008354 "runtime_data" : [],
8355 "primitives" : [
8356 {
8357 "op" : "add_header",
8358 "parameters" : [
8359 {
8360 "type" : "header",
8361 "value" : "int_q_congestion"
8362 }
8363 ],
8364 "source_info" : {
8365 "filename" : "include/int_transit.p4",
8366 "line" : 78,
8367 "column" : 8,
8368 "source_fragment" : "hdr.int_q_congestion.setValid()"
8369 }
8370 },
8371 {
8372 "op" : "assign",
8373 "parameters" : [
8374 {
8375 "type" : "field",
8376 "value" : ["int_q_congestion", "q_id"]
8377 },
8378 {
8379 "type" : "hexstr",
8380 "value" : "0x00"
8381 }
8382 ],
8383 "source_info" : {
8384 "filename" : "include/int_transit.p4",
8385 "line" : 79,
8386 "column" : 8,
8387 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8388 }
8389 },
8390 {
8391 "op" : "assign",
8392 "parameters" : [
8393 {
8394 "type" : "field",
8395 "value" : ["int_q_congestion", "q_congestion"]
8396 },
8397 {
8398 "type" : "hexstr",
8399 "value" : "0x000000"
8400 }
8401 ],
8402 "source_info" : {
8403 "filename" : "include/int_transit.p4",
8404 "line" : 82,
8405 "column" : 8,
8406 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8407 }
8408 }
8409 ]
8410 },
8411 {
8412 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
Charles Chan384aea22018-08-23 22:08:02 -07008413 "id" : 105,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008414 "runtime_data" : [],
8415 "primitives" : [
8416 {
8417 "op" : "add_header",
8418 "parameters" : [
8419 {
8420 "type" : "header",
8421 "value" : "int_egress_tx_util"
8422 }
8423 ],
8424 "source_info" : {
8425 "filename" : "include/int_transit.p4",
8426 "line" : 88,
8427 "column" : 8,
8428 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8429 }
8430 },
8431 {
8432 "op" : "assign",
8433 "parameters" : [
8434 {
8435 "type" : "field",
8436 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8437 },
8438 {
8439 "type" : "hexstr",
8440 "value" : "0x00000000"
8441 }
8442 ],
8443 "source_info" : {
8444 "filename" : "include/int_transit.p4",
8445 "line" : 89,
8446 "column" : 8,
8447 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8448 }
8449 },
8450 {
8451 "op" : "add_header",
8452 "parameters" : [
8453 {
8454 "type" : "header",
8455 "value" : "int_q_congestion"
8456 }
8457 ],
8458 "source_info" : {
8459 "filename" : "include/int_transit.p4",
8460 "line" : 78,
8461 "column" : 8,
8462 "source_fragment" : "hdr.int_q_congestion.setValid()"
8463 }
8464 },
8465 {
8466 "op" : "assign",
8467 "parameters" : [
8468 {
8469 "type" : "field",
8470 "value" : ["int_q_congestion", "q_id"]
8471 },
8472 {
8473 "type" : "hexstr",
8474 "value" : "0x00"
8475 }
8476 ],
8477 "source_info" : {
8478 "filename" : "include/int_transit.p4",
8479 "line" : 79,
8480 "column" : 8,
8481 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8482 }
8483 },
8484 {
8485 "op" : "assign",
8486 "parameters" : [
8487 {
8488 "type" : "field",
8489 "value" : ["int_q_congestion", "q_congestion"]
8490 },
8491 {
8492 "type" : "hexstr",
8493 "value" : "0x000000"
8494 }
8495 ],
8496 "source_info" : {
8497 "filename" : "include/int_transit.p4",
8498 "line" : 82,
8499 "column" : 8,
8500 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8501 }
8502 }
8503 ]
8504 },
8505 {
8506 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
Charles Chan384aea22018-08-23 22:08:02 -07008507 "id" : 106,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008508 "runtime_data" : [],
8509 "primitives" : [
8510 {
8511 "op" : "add_header",
8512 "parameters" : [
8513 {
8514 "type" : "header",
8515 "value" : "int_egress_tstamp"
8516 }
8517 ],
8518 "source_info" : {
8519 "filename" : "include/int_transit.p4",
8520 "line" : 70,
8521 "column" : 8,
8522 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8523 }
8524 },
8525 {
8526 "op" : "assign",
8527 "parameters" : [
8528 {
8529 "type" : "field",
8530 "value" : ["int_egress_tstamp", "egress_tstamp"]
8531 },
8532 {
8533 "type" : "expression",
8534 "value" : {
8535 "type" : "expression",
8536 "value" : {
8537 "op" : "&",
8538 "left" : {
8539 "type" : "expression",
8540 "value" : {
8541 "op" : "+",
8542 "left" : {
8543 "type" : "field",
8544 "value" : ["standard_metadata", "enq_timestamp"]
8545 },
8546 "right" : {
8547 "type" : "field",
8548 "value" : ["standard_metadata", "deq_timedelta"]
8549 }
8550 }
8551 },
8552 "right" : {
8553 "type" : "hexstr",
8554 "value" : "0xffffffff"
8555 }
8556 }
8557 }
8558 }
8559 ],
8560 "source_info" : {
8561 "filename" : "include/int_transit.p4",
8562 "line" : 71,
8563 "column" : 8,
8564 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8565 }
8566 }
8567 ]
8568 },
8569 {
8570 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
Charles Chan384aea22018-08-23 22:08:02 -07008571 "id" : 107,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008572 "runtime_data" : [],
8573 "primitives" : [
8574 {
8575 "op" : "add_header",
8576 "parameters" : [
8577 {
8578 "type" : "header",
8579 "value" : "int_egress_tx_util"
8580 }
8581 ],
8582 "source_info" : {
8583 "filename" : "include/int_transit.p4",
8584 "line" : 88,
8585 "column" : 8,
8586 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8587 }
8588 },
8589 {
8590 "op" : "assign",
8591 "parameters" : [
8592 {
8593 "type" : "field",
8594 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8595 },
8596 {
8597 "type" : "hexstr",
8598 "value" : "0x00000000"
8599 }
8600 ],
8601 "source_info" : {
8602 "filename" : "include/int_transit.p4",
8603 "line" : 89,
8604 "column" : 8,
8605 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8606 }
8607 },
8608 {
8609 "op" : "add_header",
8610 "parameters" : [
8611 {
8612 "type" : "header",
8613 "value" : "int_egress_tstamp"
8614 }
8615 ],
8616 "source_info" : {
8617 "filename" : "include/int_transit.p4",
8618 "line" : 70,
8619 "column" : 8,
8620 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8621 }
8622 },
8623 {
8624 "op" : "assign",
8625 "parameters" : [
8626 {
8627 "type" : "field",
8628 "value" : ["int_egress_tstamp", "egress_tstamp"]
8629 },
8630 {
8631 "type" : "expression",
8632 "value" : {
8633 "type" : "expression",
8634 "value" : {
8635 "op" : "&",
8636 "left" : {
8637 "type" : "expression",
8638 "value" : {
8639 "op" : "+",
8640 "left" : {
8641 "type" : "field",
8642 "value" : ["standard_metadata", "enq_timestamp"]
8643 },
8644 "right" : {
8645 "type" : "field",
8646 "value" : ["standard_metadata", "deq_timedelta"]
8647 }
8648 }
8649 },
8650 "right" : {
8651 "type" : "hexstr",
8652 "value" : "0xffffffff"
8653 }
8654 }
8655 }
8656 }
8657 ],
8658 "source_info" : {
8659 "filename" : "include/int_transit.p4",
8660 "line" : 71,
8661 "column" : 8,
8662 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8663 }
8664 }
8665 ]
8666 },
8667 {
8668 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
Charles Chan384aea22018-08-23 22:08:02 -07008669 "id" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008670 "runtime_data" : [],
8671 "primitives" : [
8672 {
8673 "op" : "add_header",
8674 "parameters" : [
8675 {
8676 "type" : "header",
8677 "value" : "int_q_congestion"
8678 }
8679 ],
8680 "source_info" : {
8681 "filename" : "include/int_transit.p4",
8682 "line" : 78,
8683 "column" : 8,
8684 "source_fragment" : "hdr.int_q_congestion.setValid()"
8685 }
8686 },
8687 {
8688 "op" : "assign",
8689 "parameters" : [
8690 {
8691 "type" : "field",
8692 "value" : ["int_q_congestion", "q_id"]
8693 },
8694 {
8695 "type" : "hexstr",
8696 "value" : "0x00"
8697 }
8698 ],
8699 "source_info" : {
8700 "filename" : "include/int_transit.p4",
8701 "line" : 79,
8702 "column" : 8,
8703 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8704 }
8705 },
8706 {
8707 "op" : "assign",
8708 "parameters" : [
8709 {
8710 "type" : "field",
8711 "value" : ["int_q_congestion", "q_congestion"]
8712 },
8713 {
8714 "type" : "hexstr",
8715 "value" : "0x000000"
8716 }
8717 ],
8718 "source_info" : {
8719 "filename" : "include/int_transit.p4",
8720 "line" : 82,
8721 "column" : 8,
8722 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8723 }
8724 },
8725 {
8726 "op" : "add_header",
8727 "parameters" : [
8728 {
8729 "type" : "header",
8730 "value" : "int_egress_tstamp"
8731 }
8732 ],
8733 "source_info" : {
8734 "filename" : "include/int_transit.p4",
8735 "line" : 70,
8736 "column" : 8,
8737 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8738 }
8739 },
8740 {
8741 "op" : "assign",
8742 "parameters" : [
8743 {
8744 "type" : "field",
8745 "value" : ["int_egress_tstamp", "egress_tstamp"]
8746 },
8747 {
8748 "type" : "expression",
8749 "value" : {
8750 "type" : "expression",
8751 "value" : {
8752 "op" : "&",
8753 "left" : {
8754 "type" : "expression",
8755 "value" : {
8756 "op" : "+",
8757 "left" : {
8758 "type" : "field",
8759 "value" : ["standard_metadata", "enq_timestamp"]
8760 },
8761 "right" : {
8762 "type" : "field",
8763 "value" : ["standard_metadata", "deq_timedelta"]
8764 }
8765 }
8766 },
8767 "right" : {
8768 "type" : "hexstr",
8769 "value" : "0xffffffff"
8770 }
8771 }
8772 }
8773 }
8774 ],
8775 "source_info" : {
8776 "filename" : "include/int_transit.p4",
8777 "line" : 71,
8778 "column" : 8,
8779 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8780 }
8781 }
8782 ]
8783 },
8784 {
8785 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
Charles Chan384aea22018-08-23 22:08:02 -07008786 "id" : 109,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008787 "runtime_data" : [],
8788 "primitives" : [
8789 {
8790 "op" : "add_header",
8791 "parameters" : [
8792 {
8793 "type" : "header",
8794 "value" : "int_egress_tx_util"
8795 }
8796 ],
8797 "source_info" : {
8798 "filename" : "include/int_transit.p4",
8799 "line" : 88,
8800 "column" : 8,
8801 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8802 }
8803 },
8804 {
8805 "op" : "assign",
8806 "parameters" : [
8807 {
8808 "type" : "field",
8809 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8810 },
8811 {
8812 "type" : "hexstr",
8813 "value" : "0x00000000"
8814 }
8815 ],
8816 "source_info" : {
8817 "filename" : "include/int_transit.p4",
8818 "line" : 89,
8819 "column" : 8,
8820 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8821 }
8822 },
8823 {
8824 "op" : "add_header",
8825 "parameters" : [
8826 {
8827 "type" : "header",
8828 "value" : "int_q_congestion"
8829 }
8830 ],
8831 "source_info" : {
8832 "filename" : "include/int_transit.p4",
8833 "line" : 78,
8834 "column" : 8,
8835 "source_fragment" : "hdr.int_q_congestion.setValid()"
8836 }
8837 },
8838 {
8839 "op" : "assign",
8840 "parameters" : [
8841 {
8842 "type" : "field",
8843 "value" : ["int_q_congestion", "q_id"]
8844 },
8845 {
8846 "type" : "hexstr",
8847 "value" : "0x00"
8848 }
8849 ],
8850 "source_info" : {
8851 "filename" : "include/int_transit.p4",
8852 "line" : 79,
8853 "column" : 8,
8854 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8855 }
8856 },
8857 {
8858 "op" : "assign",
8859 "parameters" : [
8860 {
8861 "type" : "field",
8862 "value" : ["int_q_congestion", "q_congestion"]
8863 },
8864 {
8865 "type" : "hexstr",
8866 "value" : "0x000000"
8867 }
8868 ],
8869 "source_info" : {
8870 "filename" : "include/int_transit.p4",
8871 "line" : 82,
8872 "column" : 8,
8873 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8874 }
8875 },
8876 {
8877 "op" : "add_header",
8878 "parameters" : [
8879 {
8880 "type" : "header",
8881 "value" : "int_egress_tstamp"
8882 }
8883 ],
8884 "source_info" : {
8885 "filename" : "include/int_transit.p4",
8886 "line" : 70,
8887 "column" : 8,
8888 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8889 }
8890 },
8891 {
8892 "op" : "assign",
8893 "parameters" : [
8894 {
8895 "type" : "field",
8896 "value" : ["int_egress_tstamp", "egress_tstamp"]
8897 },
8898 {
8899 "type" : "expression",
8900 "value" : {
8901 "type" : "expression",
8902 "value" : {
8903 "op" : "&",
8904 "left" : {
8905 "type" : "expression",
8906 "value" : {
8907 "op" : "+",
8908 "left" : {
8909 "type" : "field",
8910 "value" : ["standard_metadata", "enq_timestamp"]
8911 },
8912 "right" : {
8913 "type" : "field",
8914 "value" : ["standard_metadata", "deq_timedelta"]
8915 }
8916 }
8917 },
8918 "right" : {
8919 "type" : "hexstr",
8920 "value" : "0xffffffff"
8921 }
8922 }
8923 }
8924 }
8925 ],
8926 "source_info" : {
8927 "filename" : "include/int_transit.p4",
8928 "line" : 71,
8929 "column" : 8,
8930 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8931 }
8932 }
8933 ]
8934 },
8935 {
8936 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
Charles Chan384aea22018-08-23 22:08:02 -07008937 "id" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008938 "runtime_data" : [],
8939 "primitives" : [
8940 {
8941 "op" : "add_header",
8942 "parameters" : [
8943 {
8944 "type" : "header",
8945 "value" : "int_ingress_tstamp"
8946 }
8947 ],
8948 "source_info" : {
8949 "filename" : "include/int_transit.p4",
8950 "line" : 65,
8951 "column" : 8,
8952 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8953 }
8954 },
8955 {
8956 "op" : "assign",
8957 "parameters" : [
8958 {
8959 "type" : "field",
8960 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8961 },
8962 {
8963 "type" : "field",
8964 "value" : ["standard_metadata", "enq_timestamp"]
8965 }
8966 ],
8967 "source_info" : {
8968 "filename" : "include/int_transit.p4",
8969 "line" : 66,
8970 "column" : 8,
8971 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8972 }
8973 }
8974 ]
8975 },
8976 {
8977 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
Charles Chan384aea22018-08-23 22:08:02 -07008978 "id" : 111,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008979 "runtime_data" : [],
8980 "primitives" : [
8981 {
8982 "op" : "add_header",
8983 "parameters" : [
8984 {
8985 "type" : "header",
8986 "value" : "int_egress_tx_util"
8987 }
8988 ],
8989 "source_info" : {
8990 "filename" : "include/int_transit.p4",
8991 "line" : 88,
8992 "column" : 8,
8993 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8994 }
8995 },
8996 {
8997 "op" : "assign",
8998 "parameters" : [
8999 {
9000 "type" : "field",
9001 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9002 },
9003 {
9004 "type" : "hexstr",
9005 "value" : "0x00000000"
9006 }
9007 ],
9008 "source_info" : {
9009 "filename" : "include/int_transit.p4",
9010 "line" : 89,
9011 "column" : 8,
9012 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9013 }
9014 },
9015 {
9016 "op" : "add_header",
9017 "parameters" : [
9018 {
9019 "type" : "header",
9020 "value" : "int_ingress_tstamp"
9021 }
9022 ],
9023 "source_info" : {
9024 "filename" : "include/int_transit.p4",
9025 "line" : 65,
9026 "column" : 8,
9027 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9028 }
9029 },
9030 {
9031 "op" : "assign",
9032 "parameters" : [
9033 {
9034 "type" : "field",
9035 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9036 },
9037 {
9038 "type" : "field",
9039 "value" : ["standard_metadata", "enq_timestamp"]
9040 }
9041 ],
9042 "source_info" : {
9043 "filename" : "include/int_transit.p4",
9044 "line" : 66,
9045 "column" : 8,
9046 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9047 }
9048 }
9049 ]
9050 },
9051 {
9052 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
Charles Chan384aea22018-08-23 22:08:02 -07009053 "id" : 112,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009054 "runtime_data" : [],
9055 "primitives" : [
9056 {
9057 "op" : "add_header",
9058 "parameters" : [
9059 {
9060 "type" : "header",
9061 "value" : "int_q_congestion"
9062 }
9063 ],
9064 "source_info" : {
9065 "filename" : "include/int_transit.p4",
9066 "line" : 78,
9067 "column" : 8,
9068 "source_fragment" : "hdr.int_q_congestion.setValid()"
9069 }
9070 },
9071 {
9072 "op" : "assign",
9073 "parameters" : [
9074 {
9075 "type" : "field",
9076 "value" : ["int_q_congestion", "q_id"]
9077 },
9078 {
9079 "type" : "hexstr",
9080 "value" : "0x00"
9081 }
9082 ],
9083 "source_info" : {
9084 "filename" : "include/int_transit.p4",
9085 "line" : 79,
9086 "column" : 8,
9087 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9088 }
9089 },
9090 {
9091 "op" : "assign",
9092 "parameters" : [
9093 {
9094 "type" : "field",
9095 "value" : ["int_q_congestion", "q_congestion"]
9096 },
9097 {
9098 "type" : "hexstr",
9099 "value" : "0x000000"
9100 }
9101 ],
9102 "source_info" : {
9103 "filename" : "include/int_transit.p4",
9104 "line" : 82,
9105 "column" : 8,
9106 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9107 }
9108 },
9109 {
9110 "op" : "add_header",
9111 "parameters" : [
9112 {
9113 "type" : "header",
9114 "value" : "int_ingress_tstamp"
9115 }
9116 ],
9117 "source_info" : {
9118 "filename" : "include/int_transit.p4",
9119 "line" : 65,
9120 "column" : 8,
9121 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9122 }
9123 },
9124 {
9125 "op" : "assign",
9126 "parameters" : [
9127 {
9128 "type" : "field",
9129 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9130 },
9131 {
9132 "type" : "field",
9133 "value" : ["standard_metadata", "enq_timestamp"]
9134 }
9135 ],
9136 "source_info" : {
9137 "filename" : "include/int_transit.p4",
9138 "line" : 66,
9139 "column" : 8,
9140 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9141 }
9142 }
9143 ]
9144 },
9145 {
9146 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
Charles Chan384aea22018-08-23 22:08:02 -07009147 "id" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009148 "runtime_data" : [],
9149 "primitives" : [
9150 {
9151 "op" : "add_header",
9152 "parameters" : [
9153 {
9154 "type" : "header",
9155 "value" : "int_egress_tx_util"
9156 }
9157 ],
9158 "source_info" : {
9159 "filename" : "include/int_transit.p4",
9160 "line" : 88,
9161 "column" : 8,
9162 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9163 }
9164 },
9165 {
9166 "op" : "assign",
9167 "parameters" : [
9168 {
9169 "type" : "field",
9170 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9171 },
9172 {
9173 "type" : "hexstr",
9174 "value" : "0x00000000"
9175 }
9176 ],
9177 "source_info" : {
9178 "filename" : "include/int_transit.p4",
9179 "line" : 89,
9180 "column" : 8,
9181 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9182 }
9183 },
9184 {
9185 "op" : "add_header",
9186 "parameters" : [
9187 {
9188 "type" : "header",
9189 "value" : "int_q_congestion"
9190 }
9191 ],
9192 "source_info" : {
9193 "filename" : "include/int_transit.p4",
9194 "line" : 78,
9195 "column" : 8,
9196 "source_fragment" : "hdr.int_q_congestion.setValid()"
9197 }
9198 },
9199 {
9200 "op" : "assign",
9201 "parameters" : [
9202 {
9203 "type" : "field",
9204 "value" : ["int_q_congestion", "q_id"]
9205 },
9206 {
9207 "type" : "hexstr",
9208 "value" : "0x00"
9209 }
9210 ],
9211 "source_info" : {
9212 "filename" : "include/int_transit.p4",
9213 "line" : 79,
9214 "column" : 8,
9215 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9216 }
9217 },
9218 {
9219 "op" : "assign",
9220 "parameters" : [
9221 {
9222 "type" : "field",
9223 "value" : ["int_q_congestion", "q_congestion"]
9224 },
9225 {
9226 "type" : "hexstr",
9227 "value" : "0x000000"
9228 }
9229 ],
9230 "source_info" : {
9231 "filename" : "include/int_transit.p4",
9232 "line" : 82,
9233 "column" : 8,
9234 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9235 }
9236 },
9237 {
9238 "op" : "add_header",
9239 "parameters" : [
9240 {
9241 "type" : "header",
9242 "value" : "int_ingress_tstamp"
9243 }
9244 ],
9245 "source_info" : {
9246 "filename" : "include/int_transit.p4",
9247 "line" : 65,
9248 "column" : 8,
9249 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9250 }
9251 },
9252 {
9253 "op" : "assign",
9254 "parameters" : [
9255 {
9256 "type" : "field",
9257 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9258 },
9259 {
9260 "type" : "field",
9261 "value" : ["standard_metadata", "enq_timestamp"]
9262 }
9263 ],
9264 "source_info" : {
9265 "filename" : "include/int_transit.p4",
9266 "line" : 66,
9267 "column" : 8,
9268 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9269 }
9270 }
9271 ]
9272 },
9273 {
9274 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
Charles Chan384aea22018-08-23 22:08:02 -07009275 "id" : 114,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009276 "runtime_data" : [],
9277 "primitives" : [
9278 {
9279 "op" : "add_header",
9280 "parameters" : [
9281 {
9282 "type" : "header",
9283 "value" : "int_egress_tstamp"
9284 }
9285 ],
9286 "source_info" : {
9287 "filename" : "include/int_transit.p4",
9288 "line" : 70,
9289 "column" : 8,
9290 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9291 }
9292 },
9293 {
9294 "op" : "assign",
9295 "parameters" : [
9296 {
9297 "type" : "field",
9298 "value" : ["int_egress_tstamp", "egress_tstamp"]
9299 },
9300 {
9301 "type" : "expression",
9302 "value" : {
9303 "type" : "expression",
9304 "value" : {
9305 "op" : "&",
9306 "left" : {
9307 "type" : "expression",
9308 "value" : {
9309 "op" : "+",
9310 "left" : {
9311 "type" : "field",
9312 "value" : ["standard_metadata", "enq_timestamp"]
9313 },
9314 "right" : {
9315 "type" : "field",
9316 "value" : ["standard_metadata", "deq_timedelta"]
9317 }
9318 }
9319 },
9320 "right" : {
9321 "type" : "hexstr",
9322 "value" : "0xffffffff"
9323 }
9324 }
9325 }
9326 }
9327 ],
9328 "source_info" : {
9329 "filename" : "include/int_transit.p4",
9330 "line" : 71,
9331 "column" : 8,
9332 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9333 }
9334 },
9335 {
9336 "op" : "add_header",
9337 "parameters" : [
9338 {
9339 "type" : "header",
9340 "value" : "int_ingress_tstamp"
9341 }
9342 ],
9343 "source_info" : {
9344 "filename" : "include/int_transit.p4",
9345 "line" : 65,
9346 "column" : 8,
9347 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9348 }
9349 },
9350 {
9351 "op" : "assign",
9352 "parameters" : [
9353 {
9354 "type" : "field",
9355 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9356 },
9357 {
9358 "type" : "field",
9359 "value" : ["standard_metadata", "enq_timestamp"]
9360 }
9361 ],
9362 "source_info" : {
9363 "filename" : "include/int_transit.p4",
9364 "line" : 66,
9365 "column" : 8,
9366 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9367 }
9368 }
9369 ]
9370 },
9371 {
9372 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
Charles Chan384aea22018-08-23 22:08:02 -07009373 "id" : 115,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009374 "runtime_data" : [],
9375 "primitives" : [
9376 {
9377 "op" : "add_header",
9378 "parameters" : [
9379 {
9380 "type" : "header",
9381 "value" : "int_egress_tx_util"
9382 }
9383 ],
9384 "source_info" : {
9385 "filename" : "include/int_transit.p4",
9386 "line" : 88,
9387 "column" : 8,
9388 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9389 }
9390 },
9391 {
9392 "op" : "assign",
9393 "parameters" : [
9394 {
9395 "type" : "field",
9396 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9397 },
9398 {
9399 "type" : "hexstr",
9400 "value" : "0x00000000"
9401 }
9402 ],
9403 "source_info" : {
9404 "filename" : "include/int_transit.p4",
9405 "line" : 89,
9406 "column" : 8,
9407 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9408 }
9409 },
9410 {
9411 "op" : "add_header",
9412 "parameters" : [
9413 {
9414 "type" : "header",
9415 "value" : "int_egress_tstamp"
9416 }
9417 ],
9418 "source_info" : {
9419 "filename" : "include/int_transit.p4",
9420 "line" : 70,
9421 "column" : 8,
9422 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9423 }
9424 },
9425 {
9426 "op" : "assign",
9427 "parameters" : [
9428 {
9429 "type" : "field",
9430 "value" : ["int_egress_tstamp", "egress_tstamp"]
9431 },
9432 {
9433 "type" : "expression",
9434 "value" : {
9435 "type" : "expression",
9436 "value" : {
9437 "op" : "&",
9438 "left" : {
9439 "type" : "expression",
9440 "value" : {
9441 "op" : "+",
9442 "left" : {
9443 "type" : "field",
9444 "value" : ["standard_metadata", "enq_timestamp"]
9445 },
9446 "right" : {
9447 "type" : "field",
9448 "value" : ["standard_metadata", "deq_timedelta"]
9449 }
9450 }
9451 },
9452 "right" : {
9453 "type" : "hexstr",
9454 "value" : "0xffffffff"
9455 }
9456 }
9457 }
9458 }
9459 ],
9460 "source_info" : {
9461 "filename" : "include/int_transit.p4",
9462 "line" : 71,
9463 "column" : 8,
9464 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9465 }
9466 },
9467 {
9468 "op" : "add_header",
9469 "parameters" : [
9470 {
9471 "type" : "header",
9472 "value" : "int_ingress_tstamp"
9473 }
9474 ],
9475 "source_info" : {
9476 "filename" : "include/int_transit.p4",
9477 "line" : 65,
9478 "column" : 8,
9479 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9480 }
9481 },
9482 {
9483 "op" : "assign",
9484 "parameters" : [
9485 {
9486 "type" : "field",
9487 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9488 },
9489 {
9490 "type" : "field",
9491 "value" : ["standard_metadata", "enq_timestamp"]
9492 }
9493 ],
9494 "source_info" : {
9495 "filename" : "include/int_transit.p4",
9496 "line" : 66,
9497 "column" : 8,
9498 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9499 }
9500 }
9501 ]
9502 },
9503 {
9504 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
Charles Chan384aea22018-08-23 22:08:02 -07009505 "id" : 116,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009506 "runtime_data" : [],
9507 "primitives" : [
9508 {
9509 "op" : "add_header",
9510 "parameters" : [
9511 {
9512 "type" : "header",
9513 "value" : "int_q_congestion"
9514 }
9515 ],
9516 "source_info" : {
9517 "filename" : "include/int_transit.p4",
9518 "line" : 78,
9519 "column" : 8,
9520 "source_fragment" : "hdr.int_q_congestion.setValid()"
9521 }
9522 },
9523 {
9524 "op" : "assign",
9525 "parameters" : [
9526 {
9527 "type" : "field",
9528 "value" : ["int_q_congestion", "q_id"]
9529 },
9530 {
9531 "type" : "hexstr",
9532 "value" : "0x00"
9533 }
9534 ],
9535 "source_info" : {
9536 "filename" : "include/int_transit.p4",
9537 "line" : 79,
9538 "column" : 8,
9539 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9540 }
9541 },
9542 {
9543 "op" : "assign",
9544 "parameters" : [
9545 {
9546 "type" : "field",
9547 "value" : ["int_q_congestion", "q_congestion"]
9548 },
9549 {
9550 "type" : "hexstr",
9551 "value" : "0x000000"
9552 }
9553 ],
9554 "source_info" : {
9555 "filename" : "include/int_transit.p4",
9556 "line" : 82,
9557 "column" : 8,
9558 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9559 }
9560 },
9561 {
9562 "op" : "add_header",
9563 "parameters" : [
9564 {
9565 "type" : "header",
9566 "value" : "int_egress_tstamp"
9567 }
9568 ],
9569 "source_info" : {
9570 "filename" : "include/int_transit.p4",
9571 "line" : 70,
9572 "column" : 8,
9573 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9574 }
9575 },
9576 {
9577 "op" : "assign",
9578 "parameters" : [
9579 {
9580 "type" : "field",
9581 "value" : ["int_egress_tstamp", "egress_tstamp"]
9582 },
9583 {
9584 "type" : "expression",
9585 "value" : {
9586 "type" : "expression",
9587 "value" : {
9588 "op" : "&",
9589 "left" : {
9590 "type" : "expression",
9591 "value" : {
9592 "op" : "+",
9593 "left" : {
9594 "type" : "field",
9595 "value" : ["standard_metadata", "enq_timestamp"]
9596 },
9597 "right" : {
9598 "type" : "field",
9599 "value" : ["standard_metadata", "deq_timedelta"]
9600 }
9601 }
9602 },
9603 "right" : {
9604 "type" : "hexstr",
9605 "value" : "0xffffffff"
9606 }
9607 }
9608 }
9609 }
9610 ],
9611 "source_info" : {
9612 "filename" : "include/int_transit.p4",
9613 "line" : 71,
9614 "column" : 8,
9615 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9616 }
9617 },
9618 {
9619 "op" : "add_header",
9620 "parameters" : [
9621 {
9622 "type" : "header",
9623 "value" : "int_ingress_tstamp"
9624 }
9625 ],
9626 "source_info" : {
9627 "filename" : "include/int_transit.p4",
9628 "line" : 65,
9629 "column" : 8,
9630 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9631 }
9632 },
9633 {
9634 "op" : "assign",
9635 "parameters" : [
9636 {
9637 "type" : "field",
9638 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9639 },
9640 {
9641 "type" : "field",
9642 "value" : ["standard_metadata", "enq_timestamp"]
9643 }
9644 ],
9645 "source_info" : {
9646 "filename" : "include/int_transit.p4",
9647 "line" : 66,
9648 "column" : 8,
9649 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9650 }
9651 }
9652 ]
9653 },
9654 {
9655 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
Charles Chan384aea22018-08-23 22:08:02 -07009656 "id" : 117,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009657 "runtime_data" : [],
9658 "primitives" : [
9659 {
9660 "op" : "add_header",
9661 "parameters" : [
9662 {
9663 "type" : "header",
9664 "value" : "int_egress_tx_util"
9665 }
9666 ],
9667 "source_info" : {
9668 "filename" : "include/int_transit.p4",
9669 "line" : 88,
9670 "column" : 8,
9671 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9672 }
9673 },
9674 {
9675 "op" : "assign",
9676 "parameters" : [
9677 {
9678 "type" : "field",
9679 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9680 },
9681 {
9682 "type" : "hexstr",
9683 "value" : "0x00000000"
9684 }
9685 ],
9686 "source_info" : {
9687 "filename" : "include/int_transit.p4",
9688 "line" : 89,
9689 "column" : 8,
9690 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9691 }
9692 },
9693 {
9694 "op" : "add_header",
9695 "parameters" : [
9696 {
9697 "type" : "header",
9698 "value" : "int_q_congestion"
9699 }
9700 ],
9701 "source_info" : {
9702 "filename" : "include/int_transit.p4",
9703 "line" : 78,
9704 "column" : 8,
9705 "source_fragment" : "hdr.int_q_congestion.setValid()"
9706 }
9707 },
9708 {
9709 "op" : "assign",
9710 "parameters" : [
9711 {
9712 "type" : "field",
9713 "value" : ["int_q_congestion", "q_id"]
9714 },
9715 {
9716 "type" : "hexstr",
9717 "value" : "0x00"
9718 }
9719 ],
9720 "source_info" : {
9721 "filename" : "include/int_transit.p4",
9722 "line" : 79,
9723 "column" : 8,
9724 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9725 }
9726 },
9727 {
9728 "op" : "assign",
9729 "parameters" : [
9730 {
9731 "type" : "field",
9732 "value" : ["int_q_congestion", "q_congestion"]
9733 },
9734 {
9735 "type" : "hexstr",
9736 "value" : "0x000000"
9737 }
9738 ],
9739 "source_info" : {
9740 "filename" : "include/int_transit.p4",
9741 "line" : 82,
9742 "column" : 8,
9743 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9744 }
9745 },
9746 {
9747 "op" : "add_header",
9748 "parameters" : [
9749 {
9750 "type" : "header",
9751 "value" : "int_egress_tstamp"
9752 }
9753 ],
9754 "source_info" : {
9755 "filename" : "include/int_transit.p4",
9756 "line" : 70,
9757 "column" : 8,
9758 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9759 }
9760 },
9761 {
9762 "op" : "assign",
9763 "parameters" : [
9764 {
9765 "type" : "field",
9766 "value" : ["int_egress_tstamp", "egress_tstamp"]
9767 },
9768 {
9769 "type" : "expression",
9770 "value" : {
9771 "type" : "expression",
9772 "value" : {
9773 "op" : "&",
9774 "left" : {
9775 "type" : "expression",
9776 "value" : {
9777 "op" : "+",
9778 "left" : {
9779 "type" : "field",
9780 "value" : ["standard_metadata", "enq_timestamp"]
9781 },
9782 "right" : {
9783 "type" : "field",
9784 "value" : ["standard_metadata", "deq_timedelta"]
9785 }
9786 }
9787 },
9788 "right" : {
9789 "type" : "hexstr",
9790 "value" : "0xffffffff"
9791 }
9792 }
9793 }
9794 }
9795 ],
9796 "source_info" : {
9797 "filename" : "include/int_transit.p4",
9798 "line" : 71,
9799 "column" : 8,
9800 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9801 }
9802 },
9803 {
9804 "op" : "add_header",
9805 "parameters" : [
9806 {
9807 "type" : "header",
9808 "value" : "int_ingress_tstamp"
9809 }
9810 ],
9811 "source_info" : {
9812 "filename" : "include/int_transit.p4",
9813 "line" : 65,
9814 "column" : 8,
9815 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9816 }
9817 },
9818 {
9819 "op" : "assign",
9820 "parameters" : [
9821 {
9822 "type" : "field",
9823 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9824 },
9825 {
9826 "type" : "field",
9827 "value" : ["standard_metadata", "enq_timestamp"]
9828 }
9829 ],
9830 "source_info" : {
9831 "filename" : "include/int_transit.p4",
9832 "line" : 66,
9833 "column" : 8,
9834 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9835 }
9836 }
9837 ]
9838 },
9839 {
9840 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
Charles Chan384aea22018-08-23 22:08:02 -07009841 "id" : 118,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009842 "runtime_data" : [],
9843 "primitives" : [
9844 {
9845 "op" : "assign",
9846 "parameters" : [
9847 {
9848 "type" : "field",
9849 "value" : ["ipv4", "total_len"]
9850 },
9851 {
9852 "type" : "expression",
9853 "value" : {
9854 "type" : "expression",
9855 "value" : {
9856 "op" : "&",
9857 "left" : {
9858 "type" : "expression",
9859 "value" : {
9860 "op" : "+",
9861 "left" : {
9862 "type" : "field",
9863 "value" : ["ipv4", "total_len"]
9864 },
9865 "right" : {
9866 "type" : "field",
9867 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9868 }
9869 }
9870 },
9871 "right" : {
9872 "type" : "hexstr",
9873 "value" : "0xffff"
9874 }
9875 }
9876 }
9877 }
9878 ],
9879 "source_info" : {
9880 "filename" : "include/int_transit.p4",
9881 "line" : 304,
9882 "column" : 8,
9883 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
9884 }
9885 }
9886 ]
9887 },
9888 {
9889 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
Charles Chan384aea22018-08-23 22:08:02 -07009890 "id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009891 "runtime_data" : [],
9892 "primitives" : [
9893 {
9894 "op" : "assign",
9895 "parameters" : [
9896 {
9897 "type" : "field",
9898 "value" : ["udp", "len"]
9899 },
9900 {
9901 "type" : "expression",
9902 "value" : {
9903 "type" : "expression",
9904 "value" : {
9905 "op" : "&",
9906 "left" : {
9907 "type" : "expression",
9908 "value" : {
9909 "op" : "+",
9910 "left" : {
9911 "type" : "field",
9912 "value" : ["udp", "len"]
9913 },
9914 "right" : {
9915 "type" : "field",
9916 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9917 }
9918 }
9919 },
9920 "right" : {
9921 "type" : "hexstr",
9922 "value" : "0xffff"
9923 }
9924 }
9925 }
9926 }
9927 ],
9928 "source_info" : {
9929 "filename" : "include/int_transit.p4",
9930 "line" : 307,
9931 "column" : 8,
9932 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
9933 }
9934 }
9935 ]
9936 },
9937 {
9938 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
Charles Chan384aea22018-08-23 22:08:02 -07009939 "id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009940 "runtime_data" : [],
9941 "primitives" : [
9942 {
9943 "op" : "assign",
9944 "parameters" : [
9945 {
9946 "type" : "field",
9947 "value" : ["intl4_shim", "len"]
9948 },
9949 {
9950 "type" : "expression",
9951 "value" : {
9952 "type" : "expression",
9953 "value" : {
9954 "op" : "&",
9955 "left" : {
9956 "type" : "expression",
9957 "value" : {
9958 "op" : "+",
9959 "left" : {
9960 "type" : "field",
9961 "value" : ["intl4_shim", "len"]
9962 },
9963 "right" : {
9964 "type" : "expression",
9965 "value" : {
9966 "op" : "&",
9967 "left" : {
9968 "type" : "field",
9969 "value" : ["int_header", "ins_cnt"]
9970 },
9971 "right" : {
9972 "type" : "hexstr",
9973 "value" : "0xff"
9974 }
9975 }
9976 }
9977 }
9978 },
9979 "right" : {
9980 "type" : "hexstr",
9981 "value" : "0xff"
9982 }
9983 }
9984 }
9985 }
9986 ],
9987 "source_info" : {
9988 "filename" : "include/int_transit.p4",
9989 "line" : 310,
9990 "column" : 8,
9991 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
9992 }
9993 }
9994 ]
9995 },
9996 {
9997 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
Charles Chan384aea22018-08-23 22:08:02 -07009998 "id" : 121,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009999 "runtime_data" : [
10000 {
10001 "name" : "src_mac",
10002 "bitwidth" : 48
10003 },
10004 {
10005 "name" : "mon_mac",
10006 "bitwidth" : 48
10007 },
10008 {
10009 "name" : "src_ip",
10010 "bitwidth" : 32
10011 },
10012 {
10013 "name" : "mon_ip",
10014 "bitwidth" : 32
10015 },
10016 {
10017 "name" : "mon_port",
10018 "bitwidth" : 16
10019 }
10020 ],
10021 "primitives" : [
10022 {
10023 "op" : "add_header",
10024 "parameters" : [
10025 {
10026 "type" : "header",
10027 "value" : "report_ethernet"
10028 }
10029 ],
10030 "source_info" : {
10031 "filename" : "include/int_report.p4",
10032 "line" : 50,
10033 "column" : 8,
10034 "source_fragment" : "hdr.report_ethernet.setValid()"
10035 }
10036 },
10037 {
10038 "op" : "assign",
10039 "parameters" : [
10040 {
10041 "type" : "field",
10042 "value" : ["report_ethernet", "dst_addr"]
10043 },
10044 {
10045 "type" : "runtime_data",
10046 "value" : 1
10047 }
10048 ],
10049 "source_info" : {
10050 "filename" : "include/int_report.p4",
10051 "line" : 51,
10052 "column" : 8,
10053 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
10054 }
10055 },
10056 {
10057 "op" : "assign",
10058 "parameters" : [
10059 {
10060 "type" : "field",
10061 "value" : ["report_ethernet", "src_addr"]
10062 },
10063 {
10064 "type" : "runtime_data",
10065 "value" : 0
10066 }
10067 ],
10068 "source_info" : {
10069 "filename" : "include/int_report.p4",
10070 "line" : 52,
10071 "column" : 8,
10072 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
10073 }
10074 },
10075 {
10076 "op" : "assign",
10077 "parameters" : [
10078 {
10079 "type" : "field",
10080 "value" : ["report_ethernet", "ether_type"]
10081 },
10082 {
10083 "type" : "hexstr",
10084 "value" : "0x0800"
10085 }
10086 ],
10087 "source_info" : {
10088 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010089 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010090 "column" : 31,
10091 "source_fragment" : "0x0800; ..."
10092 }
10093 },
10094 {
10095 "op" : "add_header",
10096 "parameters" : [
10097 {
10098 "type" : "header",
10099 "value" : "report_ipv4"
10100 }
10101 ],
10102 "source_info" : {
10103 "filename" : "include/int_report.p4",
10104 "line" : 56,
10105 "column" : 8,
10106 "source_fragment" : "hdr.report_ipv4.setValid()"
10107 }
10108 },
10109 {
10110 "op" : "assign",
10111 "parameters" : [
10112 {
10113 "type" : "field",
10114 "value" : ["report_ipv4", "version"]
10115 },
10116 {
10117 "type" : "hexstr",
10118 "value" : "0x04"
10119 }
10120 ],
10121 "source_info" : {
10122 "filename" : "include/int_report.p4",
10123 "line" : 57,
10124 "column" : 8,
10125 "source_fragment" : "hdr.report_ipv4.version = 4w4"
10126 }
10127 },
10128 {
10129 "op" : "assign",
10130 "parameters" : [
10131 {
10132 "type" : "field",
10133 "value" : ["report_ipv4", "ihl"]
10134 },
10135 {
10136 "type" : "hexstr",
10137 "value" : "0x05"
10138 }
10139 ],
10140 "source_info" : {
10141 "filename" : "include/int_report.p4",
10142 "line" : 58,
10143 "column" : 8,
10144 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
10145 }
10146 },
10147 {
10148 "op" : "assign",
10149 "parameters" : [
10150 {
10151 "type" : "field",
10152 "value" : ["report_ipv4", "dscp"]
10153 },
10154 {
10155 "type" : "hexstr",
10156 "value" : "0x00"
10157 }
10158 ],
10159 "source_info" : {
10160 "filename" : "include/int_report.p4",
10161 "line" : 59,
10162 "column" : 8,
10163 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
10164 }
10165 },
10166 {
10167 "op" : "assign",
10168 "parameters" : [
10169 {
10170 "type" : "field",
10171 "value" : ["report_ipv4", "ecn"]
10172 },
10173 {
10174 "type" : "hexstr",
10175 "value" : "0x00"
10176 }
10177 ],
10178 "source_info" : {
10179 "filename" : "include/int_report.p4",
10180 "line" : 60,
10181 "column" : 8,
10182 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
10183 }
10184 },
10185 {
10186 "op" : "assign",
10187 "parameters" : [
10188 {
10189 "type" : "field",
10190 "value" : ["report_ipv4", "total_len"]
10191 },
10192 {
10193 "type" : "expression",
10194 "value" : {
10195 "type" : "expression",
10196 "value" : {
10197 "op" : "&",
10198 "left" : {
10199 "type" : "expression",
10200 "value" : {
10201 "op" : "+",
10202 "left" : {
10203 "type" : "hexstr",
10204 "value" : "0x0036"
10205 },
10206 "right" : {
10207 "type" : "field",
10208 "value" : ["ipv4", "total_len"]
10209 }
10210 }
10211 },
10212 "right" : {
10213 "type" : "hexstr",
10214 "value" : "0xffff"
10215 }
10216 }
10217 }
10218 }
10219 ],
10220 "source_info" : {
10221 "filename" : "include/int_report.p4",
10222 "line" : 62,
10223 "column" : 8,
10224 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
10225 }
10226 },
10227 {
10228 "op" : "assign",
10229 "parameters" : [
10230 {
10231 "type" : "field",
10232 "value" : ["report_ipv4", "identification"]
10233 },
10234 {
10235 "type" : "hexstr",
10236 "value" : "0x0000"
10237 }
10238 ],
10239 "source_info" : {
10240 "filename" : "include/int_report.p4",
10241 "line" : 65,
10242 "column" : 8,
10243 "source_fragment" : "hdr.report_ipv4.identification = 0"
10244 }
10245 },
10246 {
10247 "op" : "assign",
10248 "parameters" : [
10249 {
10250 "type" : "field",
10251 "value" : ["report_ipv4", "flags"]
10252 },
10253 {
10254 "type" : "hexstr",
10255 "value" : "0x00"
10256 }
10257 ],
10258 "source_info" : {
10259 "filename" : "include/int_report.p4",
10260 "line" : 66,
10261 "column" : 8,
10262 "source_fragment" : "hdr.report_ipv4.flags = 0"
10263 }
10264 },
10265 {
10266 "op" : "assign",
10267 "parameters" : [
10268 {
10269 "type" : "field",
10270 "value" : ["report_ipv4", "frag_offset"]
10271 },
10272 {
10273 "type" : "hexstr",
10274 "value" : "0x0000"
10275 }
10276 ],
10277 "source_info" : {
10278 "filename" : "include/int_report.p4",
10279 "line" : 67,
10280 "column" : 8,
10281 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
10282 }
10283 },
10284 {
10285 "op" : "assign",
10286 "parameters" : [
10287 {
10288 "type" : "field",
10289 "value" : ["report_ipv4", "ttl"]
10290 },
10291 {
10292 "type" : "hexstr",
10293 "value" : "0xff"
10294 }
10295 ],
10296 "source_info" : {
10297 "filename" : "include/int_report.p4",
10298 "line" : 68,
10299 "column" : 8,
10300 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
10301 }
10302 },
10303 {
10304 "op" : "assign",
10305 "parameters" : [
10306 {
10307 "type" : "field",
10308 "value" : ["report_ipv4", "protocol"]
10309 },
10310 {
10311 "type" : "hexstr",
10312 "value" : "0x11"
10313 }
10314 ],
10315 "source_info" : {
10316 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010317 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010318 "column" : 25,
10319 "source_fragment" : "17; ..."
10320 }
10321 },
10322 {
10323 "op" : "assign",
10324 "parameters" : [
10325 {
10326 "type" : "field",
10327 "value" : ["report_ipv4", "src_addr"]
10328 },
10329 {
10330 "type" : "runtime_data",
10331 "value" : 2
10332 }
10333 ],
10334 "source_info" : {
10335 "filename" : "include/int_report.p4",
10336 "line" : 70,
10337 "column" : 8,
10338 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
10339 }
10340 },
10341 {
10342 "op" : "assign",
10343 "parameters" : [
10344 {
10345 "type" : "field",
10346 "value" : ["report_ipv4", "dst_addr"]
10347 },
10348 {
10349 "type" : "runtime_data",
10350 "value" : 3
10351 }
10352 ],
10353 "source_info" : {
10354 "filename" : "include/int_report.p4",
10355 "line" : 71,
10356 "column" : 8,
10357 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
10358 }
10359 },
10360 {
10361 "op" : "add_header",
10362 "parameters" : [
10363 {
10364 "type" : "header",
10365 "value" : "report_udp"
10366 }
10367 ],
10368 "source_info" : {
10369 "filename" : "include/int_report.p4",
10370 "line" : 74,
10371 "column" : 8,
10372 "source_fragment" : "hdr.report_udp.setValid()"
10373 }
10374 },
10375 {
10376 "op" : "assign",
10377 "parameters" : [
10378 {
10379 "type" : "field",
10380 "value" : ["report_udp", "src_port"]
10381 },
10382 {
10383 "type" : "hexstr",
10384 "value" : "0x0000"
10385 }
10386 ],
10387 "source_info" : {
10388 "filename" : "include/int_report.p4",
10389 "line" : 75,
10390 "column" : 8,
10391 "source_fragment" : "hdr.report_udp.src_port = 0"
10392 }
10393 },
10394 {
10395 "op" : "assign",
10396 "parameters" : [
10397 {
10398 "type" : "field",
10399 "value" : ["report_udp", "dst_port"]
10400 },
10401 {
10402 "type" : "runtime_data",
10403 "value" : 4
10404 }
10405 ],
10406 "source_info" : {
10407 "filename" : "include/int_report.p4",
10408 "line" : 76,
10409 "column" : 8,
10410 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
10411 }
10412 },
10413 {
10414 "op" : "assign",
10415 "parameters" : [
10416 {
10417 "type" : "field",
10418 "value" : ["report_udp", "len"]
10419 },
10420 {
10421 "type" : "expression",
10422 "value" : {
10423 "type" : "expression",
10424 "value" : {
10425 "op" : "&",
10426 "left" : {
10427 "type" : "expression",
10428 "value" : {
10429 "op" : "+",
10430 "left" : {
10431 "type" : "hexstr",
10432 "value" : "0x0022"
10433 },
10434 "right" : {
10435 "type" : "field",
10436 "value" : ["ipv4", "total_len"]
10437 }
10438 }
10439 },
10440 "right" : {
10441 "type" : "hexstr",
10442 "value" : "0xffff"
10443 }
10444 }
10445 }
10446 }
10447 ],
10448 "source_info" : {
10449 "filename" : "include/int_report.p4",
10450 "line" : 77,
10451 "column" : 8,
10452 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
10453 }
10454 },
10455 {
10456 "op" : "assign",
10457 "parameters" : [
10458 {
10459 "type" : "field",
10460 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
10461 },
10462 {
10463 "type" : "expression",
10464 "value" : {
10465 "type" : "expression",
10466 "value" : {
10467 "op" : "b2d",
10468 "left" : null,
10469 "right" : {
10470 "type" : "bool",
10471 "value" : true
10472 }
10473 }
10474 }
10475 }
10476 ],
10477 "source_info" : {
10478 "filename" : "include/int_report.p4",
10479 "line" : 80,
10480 "column" : 8,
10481 "source_fragment" : "fabric_metadata.compute_checksum = true"
10482 }
10483 },
10484 {
10485 "op" : "add_header",
10486 "parameters" : [
10487 {
10488 "type" : "header",
10489 "value" : "report_fixed_header"
10490 }
10491 ],
10492 "source_info" : {
10493 "filename" : "include/int_report.p4",
10494 "line" : 30,
10495 "column" : 8,
10496 "source_fragment" : "hdr.report_fixed_header.setValid()"
10497 }
10498 },
10499 {
10500 "op" : "assign",
10501 "parameters" : [
10502 {
10503 "type" : "field",
10504 "value" : ["report_fixed_header", "ver"]
10505 },
10506 {
10507 "type" : "hexstr",
10508 "value" : "0x00"
10509 }
10510 ],
10511 "source_info" : {
10512 "filename" : "include/int_report.p4",
10513 "line" : 31,
10514 "column" : 8,
10515 "source_fragment" : "hdr.report_fixed_header.ver = 0"
10516 }
10517 },
10518 {
10519 "op" : "assign",
10520 "parameters" : [
10521 {
10522 "type" : "field",
10523 "value" : ["report_fixed_header", "nproto"]
10524 },
10525 {
10526 "type" : "hexstr",
10527 "value" : "0x00"
10528 }
10529 ],
10530 "source_info" : {
10531 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010532 "line" : 132,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010533 "column" : 31,
10534 "source_fragment" : "0; ..."
10535 }
10536 },
10537 {
10538 "op" : "assign",
10539 "parameters" : [
10540 {
10541 "type" : "field",
10542 "value" : ["report_fixed_header", "d"]
10543 },
10544 {
10545 "type" : "hexstr",
10546 "value" : "0x00"
10547 }
10548 ],
10549 "source_info" : {
10550 "filename" : "include/int_report.p4",
10551 "line" : 34,
10552 "column" : 8,
10553 "source_fragment" : "hdr.report_fixed_header.d = 0"
10554 }
10555 },
10556 {
10557 "op" : "assign",
10558 "parameters" : [
10559 {
10560 "type" : "field",
10561 "value" : ["report_fixed_header", "q"]
10562 },
10563 {
10564 "type" : "hexstr",
10565 "value" : "0x00"
10566 }
10567 ],
10568 "source_info" : {
10569 "filename" : "include/int_report.p4",
10570 "line" : 35,
10571 "column" : 8,
10572 "source_fragment" : "hdr.report_fixed_header.q = 0"
10573 }
10574 },
10575 {
10576 "op" : "assign",
10577 "parameters" : [
10578 {
10579 "type" : "field",
10580 "value" : ["report_fixed_header", "f"]
10581 },
10582 {
10583 "type" : "hexstr",
10584 "value" : "0x01"
10585 }
10586 ],
10587 "source_info" : {
10588 "filename" : "include/int_report.p4",
10589 "line" : 36,
10590 "column" : 8,
10591 "source_fragment" : "hdr.report_fixed_header.f = 1"
10592 }
10593 },
10594 {
10595 "op" : "assign",
10596 "parameters" : [
10597 {
10598 "type" : "field",
10599 "value" : ["report_fixed_header", "rsvd"]
10600 },
10601 {
10602 "type" : "hexstr",
10603 "value" : "0x0000"
10604 }
10605 ],
10606 "source_info" : {
10607 "filename" : "include/int_report.p4",
10608 "line" : 37,
10609 "column" : 8,
10610 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
10611 }
10612 },
10613 {
10614 "op" : "assign",
10615 "parameters" : [
10616 {
10617 "type" : "field",
10618 "value" : ["report_fixed_header", "hw_id"]
10619 },
10620 {
10621 "type" : "hexstr",
10622 "value" : "0x01"
10623 }
10624 ],
10625 "source_info" : {
10626 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010627 "line" : 136,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010628 "column" : 21,
10629 "source_fragment" : "1; ..."
10630 }
10631 },
10632 {
10633 "op" : "assign",
10634 "parameters" : [
10635 {
10636 "type" : "field",
10637 "value" : ["report_fixed_header", "seq_no"]
10638 },
10639 {
10640 "type" : "hexstr",
10641 "value" : "0x00000000"
10642 }
10643 ],
10644 "source_info" : {
10645 "filename" : "include/int_report.p4",
10646 "line" : 41,
10647 "column" : 8,
10648 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
10649 }
10650 },
10651 {
10652 "op" : "assign",
10653 "parameters" : [
10654 {
10655 "type" : "field",
10656 "value" : ["report_fixed_header", "ingress_tstamp"]
10657 },
10658 {
10659 "type" : "field",
10660 "value" : ["standard_metadata", "enq_timestamp"]
10661 }
10662 ],
10663 "source_info" : {
10664 "filename" : "include/int_report.p4",
10665 "line" : 43,
10666 "column" : 8,
10667 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
10668 }
10669 }
10670 ]
10671 },
10672 {
10673 "name" : "FabricEgress.process_int_sink.restore_header",
Charles Chan384aea22018-08-23 22:08:02 -070010674 "id" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010675 "runtime_data" : [],
10676 "primitives" : [
10677 {
10678 "op" : "assign",
10679 "parameters" : [
10680 {
10681 "type" : "field",
10682 "value" : ["udp", "dst_port"]
10683 },
10684 {
10685 "type" : "field",
10686 "value" : ["intl4_tail", "dest_port"]
10687 }
10688 ],
10689 "source_info" : {
10690 "filename" : "include/int_sink.p4",
10691 "line" : 26,
10692 "column" : 8,
10693 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
10694 }
10695 },
10696 {
10697 "op" : "assign",
10698 "parameters" : [
10699 {
10700 "type" : "field",
10701 "value" : ["ipv4", "dscp"]
10702 },
10703 {
10704 "type" : "expression",
10705 "value" : {
10706 "type" : "expression",
10707 "value" : {
10708 "op" : "&",
10709 "left" : {
10710 "type" : "field",
10711 "value" : ["intl4_tail", "dscp"]
10712 },
10713 "right" : {
10714 "type" : "hexstr",
10715 "value" : "0x3f"
10716 }
10717 }
10718 }
10719 }
10720 ],
10721 "source_info" : {
10722 "filename" : "include/int_sink.p4",
10723 "line" : 27,
10724 "column" : 8,
10725 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
10726 }
10727 }
10728 ]
10729 },
10730 {
10731 "name" : "FabricEgress.process_int_sink.int_sink",
Charles Chan384aea22018-08-23 22:08:02 -070010732 "id" : 123,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010733 "runtime_data" : [],
10734 "primitives" : [
10735 {
10736 "op" : "assign",
10737 "parameters" : [
10738 {
10739 "type" : "field",
10740 "value" : ["ipv4", "total_len"]
10741 },
10742 {
10743 "type" : "expression",
10744 "value" : {
10745 "type" : "expression",
10746 "value" : {
10747 "op" : "&",
10748 "left" : {
10749 "type" : "expression",
10750 "value" : {
10751 "op" : "-",
10752 "left" : {
10753 "type" : "field",
10754 "value" : ["ipv4", "total_len"]
10755 },
10756 "right" : {
10757 "type" : "expression",
10758 "value" : {
10759 "op" : "&",
10760 "left" : {
10761 "type" : "expression",
10762 "value" : {
10763 "op" : "&",
10764 "left" : {
10765 "type" : "expression",
10766 "value" : {
10767 "op" : "<<",
10768 "left" : {
10769 "type" : "field",
10770 "value" : ["intl4_shim", "len"]
10771 },
10772 "right" : {
10773 "type" : "hexstr",
10774 "value" : "0x2"
10775 }
10776 }
10777 },
10778 "right" : {
10779 "type" : "hexstr",
10780 "value" : "0xff"
10781 }
10782 }
10783 },
10784 "right" : {
10785 "type" : "hexstr",
10786 "value" : "0xffff"
10787 }
10788 }
10789 }
10790 }
10791 },
10792 "right" : {
10793 "type" : "hexstr",
10794 "value" : "0xffff"
10795 }
10796 }
10797 }
10798 }
10799 ],
10800 "source_info" : {
10801 "filename" : "include/int_sink.p4",
10802 "line" : 32,
10803 "column" : 8,
10804 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
10805 }
10806 },
10807 {
10808 "op" : "assign",
10809 "parameters" : [
10810 {
10811 "type" : "field",
10812 "value" : ["udp", "len"]
10813 },
10814 {
10815 "type" : "expression",
10816 "value" : {
10817 "type" : "expression",
10818 "value" : {
10819 "op" : "&",
10820 "left" : {
10821 "type" : "expression",
10822 "value" : {
10823 "op" : "-",
10824 "left" : {
10825 "type" : "field",
10826 "value" : ["udp", "len"]
10827 },
10828 "right" : {
10829 "type" : "expression",
10830 "value" : {
10831 "op" : "&",
10832 "left" : {
10833 "type" : "expression",
10834 "value" : {
10835 "op" : "&",
10836 "left" : {
10837 "type" : "expression",
10838 "value" : {
10839 "op" : "<<",
10840 "left" : {
10841 "type" : "field",
10842 "value" : ["intl4_shim", "len"]
10843 },
10844 "right" : {
10845 "type" : "hexstr",
10846 "value" : "0x2"
10847 }
10848 }
10849 },
10850 "right" : {
10851 "type" : "hexstr",
10852 "value" : "0xff"
10853 }
10854 }
10855 },
10856 "right" : {
10857 "type" : "hexstr",
10858 "value" : "0xffff"
10859 }
10860 }
10861 }
10862 }
10863 },
10864 "right" : {
10865 "type" : "hexstr",
10866 "value" : "0xffff"
10867 }
10868 }
10869 }
10870 }
10871 ],
10872 "source_info" : {
10873 "filename" : "include/int_sink.p4",
10874 "line" : 33,
10875 "column" : 8,
10876 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
10877 }
10878 },
10879 {
10880 "op" : "remove_header",
10881 "parameters" : [
10882 {
10883 "type" : "header",
10884 "value" : "int_header"
10885 }
10886 ],
10887 "source_info" : {
10888 "filename" : "include/int_sink.p4",
10889 "line" : 35,
10890 "column" : 8,
10891 "source_fragment" : "hdr.int_header.setInvalid()"
10892 }
10893 },
10894 {
10895 "op" : "remove_header",
10896 "parameters" : [
10897 {
10898 "type" : "header",
10899 "value" : "int_data"
10900 }
10901 ],
10902 "source_info" : {
10903 "filename" : "include/int_sink.p4",
10904 "line" : 36,
10905 "column" : 8,
10906 "source_fragment" : "hdr.int_data.setInvalid()"
10907 }
10908 },
10909 {
10910 "op" : "remove_header",
10911 "parameters" : [
10912 {
10913 "type" : "header",
10914 "value" : "intl4_shim"
10915 }
10916 ],
10917 "source_info" : {
10918 "filename" : "include/int_sink.p4",
10919 "line" : 37,
10920 "column" : 8,
10921 "source_fragment" : "hdr.intl4_shim.setInvalid()"
10922 }
10923 },
10924 {
10925 "op" : "remove_header",
10926 "parameters" : [
10927 {
10928 "type" : "header",
10929 "value" : "intl4_tail"
10930 }
10931 ],
10932 "source_info" : {
10933 "filename" : "include/int_sink.p4",
10934 "line" : 38,
10935 "column" : 8,
10936 "source_fragment" : "hdr.intl4_tail.setInvalid()"
10937 }
10938 },
10939 {
10940 "op" : "remove_header",
10941 "parameters" : [
10942 {
10943 "type" : "header",
10944 "value" : "int_switch_id"
10945 }
10946 ],
10947 "source_info" : {
10948 "filename" : "include/int_sink.p4",
10949 "line" : 39,
10950 "column" : 8,
10951 "source_fragment" : "hdr.int_switch_id.setInvalid()"
10952 }
10953 },
10954 {
10955 "op" : "remove_header",
10956 "parameters" : [
10957 {
10958 "type" : "header",
10959 "value" : "int_port_ids"
10960 }
10961 ],
10962 "source_info" : {
10963 "filename" : "include/int_sink.p4",
10964 "line" : 40,
10965 "column" : 8,
10966 "source_fragment" : "hdr.int_port_ids.setInvalid()"
10967 }
10968 },
10969 {
10970 "op" : "remove_header",
10971 "parameters" : [
10972 {
10973 "type" : "header",
10974 "value" : "int_hop_latency"
10975 }
10976 ],
10977 "source_info" : {
10978 "filename" : "include/int_sink.p4",
10979 "line" : 41,
10980 "column" : 8,
10981 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
10982 }
10983 },
10984 {
10985 "op" : "remove_header",
10986 "parameters" : [
10987 {
10988 "type" : "header",
10989 "value" : "int_q_occupancy"
10990 }
10991 ],
10992 "source_info" : {
10993 "filename" : "include/int_sink.p4",
10994 "line" : 42,
10995 "column" : 8,
10996 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
10997 }
10998 },
10999 {
11000 "op" : "remove_header",
11001 "parameters" : [
11002 {
11003 "type" : "header",
11004 "value" : "int_ingress_tstamp"
11005 }
11006 ],
11007 "source_info" : {
11008 "filename" : "include/int_sink.p4",
11009 "line" : 43,
11010 "column" : 8,
11011 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
11012 }
11013 },
11014 {
11015 "op" : "remove_header",
11016 "parameters" : [
11017 {
11018 "type" : "header",
11019 "value" : "int_egress_tstamp"
11020 }
11021 ],
11022 "source_info" : {
11023 "filename" : "include/int_sink.p4",
11024 "line" : 44,
11025 "column" : 8,
11026 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
11027 }
11028 },
11029 {
11030 "op" : "remove_header",
11031 "parameters" : [
11032 {
11033 "type" : "header",
11034 "value" : "int_q_congestion"
11035 }
11036 ],
11037 "source_info" : {
11038 "filename" : "include/int_sink.p4",
11039 "line" : 45,
11040 "column" : 8,
11041 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
11042 }
11043 },
11044 {
11045 "op" : "remove_header",
11046 "parameters" : [
11047 {
11048 "type" : "header",
11049 "value" : "int_egress_tx_util"
11050 }
11051 ],
11052 "source_info" : {
11053 "filename" : "include/int_sink.p4",
11054 "line" : 46,
11055 "column" : 8,
11056 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
11057 }
11058 }
11059 ]
11060 },
11061 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011062 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070011063 "id" : 124,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011064 "runtime_data" : [],
11065 "primitives" : [
11066 {
11067 "op" : "assign",
11068 "parameters" : [
11069 {
11070 "type" : "field",
11071 "value" : ["ethernet", "ether_type"]
11072 },
11073 {
11074 "type" : "field",
11075 "value" : ["vlan_tag", "ether_type"]
11076 }
11077 ],
11078 "source_info" : {
11079 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011080 "line" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011081 "column" : 8,
11082 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11083 }
11084 },
11085 {
11086 "op" : "remove_header",
11087 "parameters" : [
11088 {
11089 "type" : "header",
11090 "value" : "vlan_tag"
11091 }
11092 ],
11093 "source_info" : {
11094 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011095 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011096 "column" : 8,
11097 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11098 }
11099 }
11100 ]
11101 },
11102 {
11103 "name" : "FabricEgress.egress_next.pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070011104 "id" : 125,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011105 "runtime_data" : [],
11106 "primitives" : [
11107 {
11108 "op" : "assign",
11109 "parameters" : [
11110 {
11111 "type" : "field",
11112 "value" : ["ethernet", "ether_type"]
11113 },
11114 {
11115 "type" : "field",
11116 "value" : ["vlan_tag", "ether_type"]
11117 }
11118 ],
11119 "source_info" : {
11120 "filename" : "include/control/next.p4",
11121 "line" : 253,
11122 "column" : 8,
11123 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11124 }
11125 },
11126 {
11127 "op" : "remove_header",
11128 "parameters" : [
11129 {
11130 "type" : "header",
11131 "value" : "vlan_tag"
11132 }
11133 ],
11134 "source_info" : {
11135 "filename" : "include/control/next.p4",
11136 "line" : 254,
11137 "column" : 8,
11138 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11139 }
11140 }
11141 ]
11142 },
11143 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011144 "name" : "act_31",
Charles Chan384aea22018-08-23 22:08:02 -070011145 "id" : 126,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011146 "runtime_data" : [],
11147 "primitives" : [
11148 {
11149 "op" : "add_header",
11150 "parameters" : [
11151 {
11152 "type" : "header",
11153 "value" : "packet_in"
11154 }
11155 ],
11156 "source_info" : {
11157 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011158 "line" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011159 "column" : 12,
11160 "source_fragment" : "hdr.packet_in.setValid()"
11161 }
11162 },
11163 {
11164 "op" : "assign",
11165 "parameters" : [
11166 {
11167 "type" : "field",
11168 "value" : ["packet_in", "ingress_port"]
11169 },
11170 {
11171 "type" : "field",
11172 "value" : ["standard_metadata", "ingress_port"]
11173 }
11174 ],
11175 "source_info" : {
11176 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011177 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011178 "column" : 12,
11179 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11180 }
11181 }
11182 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011183 }
11184 ],
11185 "pipelines" : [
11186 {
11187 "name" : "ingress",
11188 "id" : 0,
11189 "source_info" : {
11190 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011191 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011192 "column" : 8,
11193 "source_fragment" : "FabricIngress"
11194 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011195 "init_table" : "tbl_act",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011196 "tables" : [
11197 {
11198 "name" : "tbl_act",
11199 "id" : 0,
11200 "key" : [],
11201 "match_type" : "exact",
11202 "type" : "simple",
11203 "max_size" : 1024,
11204 "with_counters" : false,
11205 "support_timeout" : false,
11206 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011207 "action_ids" : [43],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011208 "actions" : ["act_0"],
11209 "base_default_next" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011210 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011211 "act_0" : "node_3"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011212 },
11213 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011214 "action_id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011215 "action_const" : true,
11216 "action_data" : [],
11217 "action_entry_const" : true
11218 }
11219 },
11220 {
11221 "name" : "tbl_act_0",
11222 "id" : 1,
11223 "key" : [],
11224 "match_type" : "exact",
11225 "type" : "simple",
11226 "max_size" : 1024,
11227 "with_counters" : false,
11228 "support_timeout" : false,
11229 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011230 "action_ids" : [42],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011231 "actions" : ["act"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011232 "base_default_next" : "node_5",
11233 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011234 "act" : "node_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011235 },
11236 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011237 "action_id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011238 "action_const" : true,
11239 "action_data" : [],
11240 "action_entry_const" : true
11241 }
11242 },
11243 {
11244 "name" : "tbl_act_1",
11245 "id" : 2,
11246 "key" : [],
11247 "match_type" : "exact",
11248 "type" : "simple",
11249 "max_size" : 1024,
11250 "with_counters" : false,
11251 "support_timeout" : false,
11252 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011253 "action_ids" : [46],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011254 "actions" : ["act_3"],
11255 "base_default_next" : "node_7",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011256 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011257 "act_3" : "node_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011258 },
11259 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011260 "action_id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011261 "action_const" : true,
11262 "action_data" : [],
11263 "action_entry_const" : true
11264 }
11265 },
11266 {
11267 "name" : "tbl_act_2",
11268 "id" : 3,
11269 "key" : [],
11270 "match_type" : "exact",
11271 "type" : "simple",
11272 "max_size" : 1024,
11273 "with_counters" : false,
11274 "support_timeout" : false,
11275 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011276 "action_ids" : [44],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011277 "actions" : ["act_1"],
11278 "base_default_next" : "node_10",
11279 "next_tables" : {
11280 "act_1" : "node_10"
11281 },
11282 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011283 "action_id" : 44,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011284 "action_const" : true,
11285 "action_data" : [],
11286 "action_entry_const" : true
11287 }
11288 },
11289 {
11290 "name" : "tbl_act_3",
11291 "id" : 4,
11292 "key" : [],
11293 "match_type" : "exact",
11294 "type" : "simple",
11295 "max_size" : 1024,
11296 "with_counters" : false,
11297 "support_timeout" : false,
11298 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011299 "action_ids" : [45],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011300 "actions" : ["act_2"],
11301 "base_default_next" : "node_10",
11302 "next_tables" : {
11303 "act_2" : "node_10"
11304 },
11305 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011306 "action_id" : 45,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011307 "action_const" : true,
11308 "action_data" : [],
11309 "action_entry_const" : true
11310 }
11311 },
11312 {
11313 "name" : "tbl_act_4",
11314 "id" : 5,
11315 "key" : [],
11316 "match_type" : "exact",
11317 "type" : "simple",
11318 "max_size" : 1024,
11319 "with_counters" : false,
11320 "support_timeout" : false,
11321 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011322 "action_ids" : [47],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011323 "actions" : ["act_4"],
11324 "base_default_next" : null,
11325 "next_tables" : {
11326 "act_4" : null
11327 },
11328 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011329 "action_id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011330 "action_const" : true,
11331 "action_data" : [],
11332 "action_entry_const" : true
11333 }
11334 },
11335 {
11336 "name" : "tbl_act_5",
11337 "id" : 6,
11338 "key" : [],
11339 "match_type" : "exact",
11340 "type" : "simple",
11341 "max_size" : 1024,
11342 "with_counters" : false,
11343 "support_timeout" : false,
11344 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011345 "action_ids" : [55],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011346 "actions" : ["act_12"],
11347 "base_default_next" : "node_13",
11348 "next_tables" : {
11349 "act_12" : "node_13"
11350 },
11351 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011352 "action_id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011353 "action_const" : true,
11354 "action_data" : [],
11355 "action_entry_const" : true
11356 }
11357 },
11358 {
11359 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011360 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011361 "source_info" : {
11362 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011363 "line" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011364 "column" : 10,
11365 "source_fragment" : "s1u_filter_table"
11366 },
11367 "key" : [
11368 {
11369 "match_type" : "exact",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011370 "name" : "gtpu_ipv4.dst_addr",
11371 "target" : ["gtpu_ipv4", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011372 "mask" : null
11373 }
11374 ],
11375 "match_type" : "exact",
11376 "type" : "simple",
11377 "max_size" : 1024,
11378 "with_counters" : false,
11379 "support_timeout" : false,
11380 "direct_meters" : null,
11381 "action_ids" : [1],
11382 "actions" : ["NoAction"],
11383 "base_default_next" : null,
11384 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011385 "__HIT__" : "tbl_act_6",
11386 "__MISS__" : "tbl_act_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011387 },
11388 "default_entry" : {
11389 "action_id" : 1,
11390 "action_const" : false,
11391 "action_data" : [],
11392 "action_entry_const" : false
11393 }
11394 },
11395 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011396 "name" : "tbl_act_6",
11397 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011398 "key" : [],
11399 "match_type" : "exact",
11400 "type" : "simple",
11401 "max_size" : 1024,
11402 "with_counters" : false,
11403 "support_timeout" : false,
11404 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011405 "action_ids" : [48],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011406 "actions" : ["act_5"],
11407 "base_default_next" : "node_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011408 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011409 "act_5" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011410 },
11411 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011412 "action_id" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011413 "action_const" : true,
11414 "action_data" : [],
11415 "action_entry_const" : true
11416 }
11417 },
11418 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011419 "name" : "tbl_act_7",
11420 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011421 "key" : [],
11422 "match_type" : "exact",
11423 "type" : "simple",
11424 "max_size" : 1024,
11425 "with_counters" : false,
11426 "support_timeout" : false,
11427 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011428 "action_ids" : [49],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011429 "actions" : ["act_6"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011430 "base_default_next" : "node_17",
11431 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011432 "act_6" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011433 },
11434 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011435 "action_id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011436 "action_const" : true,
11437 "action_data" : [],
11438 "action_entry_const" : true
11439 }
11440 },
11441 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011442 "name" : "tbl_drop_now",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011443 "id" : 10,
11444 "key" : [],
11445 "match_type" : "exact",
11446 "type" : "simple",
11447 "max_size" : 1024,
11448 "with_counters" : false,
11449 "support_timeout" : false,
11450 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011451 "action_ids" : [12],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011452 "actions" : ["drop_now"],
11453 "base_default_next" : "tbl_act_8",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011454 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011455 "drop_now" : "tbl_act_8"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011456 },
11457 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011458 "action_id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011459 "action_const" : true,
11460 "action_data" : [],
11461 "action_entry_const" : true
11462 }
11463 },
11464 {
11465 "name" : "tbl_act_8",
11466 "id" : 11,
11467 "key" : [],
11468 "match_type" : "exact",
11469 "type" : "simple",
11470 "max_size" : 1024,
11471 "with_counters" : false,
11472 "support_timeout" : false,
11473 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011474 "action_ids" : [50],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011475 "actions" : ["act_7"],
11476 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011477 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011478 "act_7" : "tbl_spgw_ingress_gtpu_decap"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011479 },
11480 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011481 "action_id" : 50,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011482 "action_const" : true,
11483 "action_data" : [],
11484 "action_entry_const" : true
11485 }
11486 },
11487 {
11488 "name" : "tbl_spgw_ingress_gtpu_decap",
11489 "id" : 12,
11490 "key" : [],
11491 "match_type" : "exact",
11492 "type" : "simple",
11493 "max_size" : 1024,
11494 "with_counters" : false,
11495 "support_timeout" : false,
11496 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011497 "action_ids" : [13],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011498 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011499 "base_default_next" : "node_27",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011500 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011501 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011502 },
11503 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011504 "action_id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011505 "action_const" : true,
11506 "action_data" : [],
11507 "action_entry_const" : true
11508 }
11509 },
11510 {
11511 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
11512 "id" : 13,
11513 "source_info" : {
11514 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011515 "line" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011516 "column" : 10,
11517 "source_fragment" : "dl_sess_lookup"
11518 },
11519 "key" : [
11520 {
11521 "match_type" : "exact",
11522 "name" : "ipv4.dst_addr",
11523 "target" : ["ipv4", "dst_addr"],
11524 "mask" : null
11525 }
11526 ],
11527 "match_type" : "exact",
11528 "type" : "simple",
11529 "max_size" : 1024,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011530 "with_counters" : true,
11531 "support_timeout" : false,
11532 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011533 "action_ids" : [14, 0],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011534 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
11535 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011536 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011537 "__HIT__" : "tbl_act_9",
11538 "__MISS__" : "tbl_act_10"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011539 },
11540 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011541 "action_id" : 0,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011542 "action_const" : false,
11543 "action_data" : [],
11544 "action_entry_const" : false
11545 }
11546 },
11547 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011548 "name" : "tbl_act_9",
11549 "id" : 14,
11550 "key" : [],
11551 "match_type" : "exact",
11552 "type" : "simple",
11553 "max_size" : 1024,
11554 "with_counters" : false,
11555 "support_timeout" : false,
11556 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011557 "action_ids" : [51],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011558 "actions" : ["act_8"],
11559 "base_default_next" : "node_24",
11560 "next_tables" : {
11561 "act_8" : "node_24"
11562 },
11563 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011564 "action_id" : 51,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011565 "action_const" : true,
11566 "action_data" : [],
11567 "action_entry_const" : true
11568 }
11569 },
11570 {
11571 "name" : "tbl_act_10",
11572 "id" : 15,
11573 "key" : [],
11574 "match_type" : "exact",
11575 "type" : "simple",
11576 "max_size" : 1024,
11577 "with_counters" : false,
11578 "support_timeout" : false,
11579 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011580 "action_ids" : [52],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011581 "actions" : ["act_9"],
11582 "base_default_next" : "node_24",
11583 "next_tables" : {
11584 "act_9" : "node_24"
11585 },
11586 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011587 "action_id" : 52,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011588 "action_const" : true,
11589 "action_data" : [],
11590 "action_entry_const" : true
11591 }
11592 },
11593 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011594 "name" : "tbl_act_11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011595 "id" : 16,
11596 "key" : [],
11597 "match_type" : "exact",
11598 "type" : "simple",
11599 "max_size" : 1024,
11600 "with_counters" : false,
11601 "support_timeout" : false,
11602 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011603 "action_ids" : [53],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011604 "actions" : ["act_10"],
11605 "base_default_next" : "node_27",
11606 "next_tables" : {
11607 "act_10" : "node_27"
11608 },
11609 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011610 "action_id" : 53,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011611 "action_const" : true,
11612 "action_data" : [],
11613 "action_entry_const" : true
11614 }
11615 },
11616 {
11617 "name" : "tbl_act_12",
11618 "id" : 17,
11619 "key" : [],
11620 "match_type" : "exact",
11621 "type" : "simple",
11622 "max_size" : 1024,
11623 "with_counters" : false,
11624 "support_timeout" : false,
11625 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011626 "action_ids" : [54],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011627 "actions" : ["act_11"],
11628 "base_default_next" : "node_27",
11629 "next_tables" : {
11630 "act_11" : "node_27"
11631 },
11632 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011633 "action_id" : 54,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011634 "action_const" : true,
11635 "action_data" : [],
11636 "action_entry_const" : true
11637 }
11638 },
11639 {
11640 "name" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011641 "id" : 18,
11642 "key" : [],
11643 "match_type" : "exact",
11644 "type" : "simple",
11645 "max_size" : 1024,
11646 "with_counters" : false,
11647 "support_timeout" : false,
11648 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011649 "action_ids" : [56],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011650 "actions" : ["act_13"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011651 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
11652 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011653 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011654 },
11655 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011656 "action_id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011657 "action_const" : true,
11658 "action_data" : [],
11659 "action_entry_const" : true
11660 }
11661 },
11662 {
11663 "name" : "FabricIngress.filtering.ingress_port_vlan",
11664 "id" : 19,
11665 "source_info" : {
11666 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011667 "line" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011668 "column" : 10,
11669 "source_fragment" : "ingress_port_vlan"
11670 },
11671 "key" : [
11672 {
11673 "match_type" : "exact",
11674 "name" : "standard_metadata.ingress_port",
11675 "target" : ["standard_metadata", "ingress_port"],
11676 "mask" : null
11677 },
11678 {
11679 "match_type" : "exact",
11680 "name" : "hdr.vlan_tag.is_valid",
11681 "target" : ["vlan_tag", "$valid$"],
11682 "mask" : null
11683 },
11684 {
11685 "match_type" : "ternary",
11686 "name" : "hdr.vlan_tag.vlan_id",
11687 "target" : ["vlan_tag", "vlan_id"],
11688 "mask" : null
11689 }
11690 ],
11691 "match_type" : "ternary",
11692 "type" : "simple",
11693 "max_size" : 1024,
11694 "with_counters" : true,
11695 "support_timeout" : false,
11696 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011697 "action_ids" : [19, 18, 17, 20],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011698 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
11699 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011700 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011701 "__HIT__" : "tbl_act_14",
11702 "__MISS__" : "tbl_act_15"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011703 },
11704 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011705 "action_id" : 19,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011706 "action_const" : true,
11707 "action_data" : ["0xffe"],
11708 "action_entry_const" : true
11709 }
11710 },
11711 {
11712 "name" : "tbl_act_14",
11713 "id" : 20,
11714 "key" : [],
11715 "match_type" : "exact",
11716 "type" : "simple",
11717 "max_size" : 1024,
11718 "with_counters" : false,
11719 "support_timeout" : false,
11720 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011721 "action_ids" : [57],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011722 "actions" : ["act_14"],
11723 "base_default_next" : "node_32",
11724 "next_tables" : {
11725 "act_14" : "node_32"
11726 },
11727 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011728 "action_id" : 57,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011729 "action_const" : true,
11730 "action_data" : [],
11731 "action_entry_const" : true
11732 }
11733 },
11734 {
11735 "name" : "tbl_act_15",
11736 "id" : 21,
11737 "key" : [],
11738 "match_type" : "exact",
11739 "type" : "simple",
11740 "max_size" : 1024,
11741 "with_counters" : false,
11742 "support_timeout" : false,
11743 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011744 "action_ids" : [58],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011745 "actions" : ["act_15"],
11746 "base_default_next" : "node_32",
11747 "next_tables" : {
11748 "act_15" : "node_32"
11749 },
11750 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011751 "action_id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011752 "action_const" : true,
11753 "action_data" : [],
11754 "action_entry_const" : true
11755 }
11756 },
11757 {
11758 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011759 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011760 "source_info" : {
11761 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011762 "line" : 103,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011763 "column" : 10,
11764 "source_fragment" : "fwd_classifier"
11765 },
11766 "key" : [
11767 {
11768 "match_type" : "exact",
11769 "name" : "standard_metadata.ingress_port",
11770 "target" : ["standard_metadata", "ingress_port"],
11771 "mask" : null
11772 },
11773 {
Charles Chan384aea22018-08-23 22:08:02 -070011774 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011775 "name" : "hdr.ethernet.dst_addr",
11776 "target" : ["ethernet", "dst_addr"],
11777 "mask" : null
11778 },
11779 {
11780 "match_type" : "exact",
Yi Tseng8235a1a2018-07-24 20:57:28 +080011781 "name" : "hdr.vlan_tag.ether_type",
11782 "target" : ["vlan_tag", "ether_type"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011783 "mask" : null
11784 }
11785 ],
Charles Chan384aea22018-08-23 22:08:02 -070011786 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011787 "type" : "simple",
11788 "max_size" : 1024,
11789 "with_counters" : true,
11790 "support_timeout" : false,
11791 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011792 "action_ids" : [21],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011793 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011794 "base_default_next" : "node_35",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011795 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011796 "FabricIngress.filtering.set_forwarding_type" : "node_35"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011797 },
11798 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011799 "action_id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011800 "action_const" : true,
11801 "action_data" : ["0x0"],
11802 "action_entry_const" : true
11803 }
11804 },
11805 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011806 "name" : "tbl_act_16",
11807 "id" : 23,
11808 "key" : [],
11809 "match_type" : "exact",
11810 "type" : "simple",
11811 "max_size" : 1024,
11812 "with_counters" : false,
11813 "support_timeout" : false,
11814 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011815 "action_ids" : [59],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011816 "actions" : ["act_16"],
11817 "base_default_next" : "node_35",
11818 "next_tables" : {
11819 "act_16" : "node_35"
11820 },
11821 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011822 "action_id" : 59,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011823 "action_const" : true,
11824 "action_data" : [],
11825 "action_entry_const" : true
11826 }
11827 },
11828 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011829 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011830 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011831 "source_info" : {
11832 "filename" : "include/control/forwarding.p4",
11833 "line" : 41,
11834 "column" : 10,
11835 "source_fragment" : "bridging"
11836 },
11837 "key" : [
11838 {
11839 "match_type" : "exact",
11840 "name" : "hdr.vlan_tag.vlan_id",
11841 "target" : ["vlan_tag", "vlan_id"],
11842 "mask" : null
11843 },
11844 {
11845 "match_type" : "ternary",
11846 "name" : "hdr.ethernet.dst_addr",
11847 "target" : ["ethernet", "dst_addr"],
11848 "mask" : null
11849 }
11850 ],
11851 "match_type" : "ternary",
11852 "type" : "simple",
11853 "max_size" : 1024,
11854 "with_counters" : true,
11855 "support_timeout" : false,
11856 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011857 "action_ids" : [22, 4],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011858 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
11859 "base_default_next" : "FabricIngress.forwarding.acl",
11860 "next_tables" : {
11861 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
11862 "NoAction" : "FabricIngress.forwarding.acl"
11863 },
11864 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011865 "action_id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011866 "action_const" : false,
11867 "action_data" : [],
11868 "action_entry_const" : false
11869 }
11870 },
11871 {
11872 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011873 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011874 "source_info" : {
11875 "filename" : "include/control/forwarding.p4",
11876 "line" : 65,
11877 "column" : 10,
11878 "source_fragment" : "mpls"
11879 },
11880 "key" : [
11881 {
11882 "match_type" : "exact",
11883 "name" : "hdr.mpls.label",
11884 "target" : ["mpls", "label"],
11885 "mask" : null
11886 }
11887 ],
11888 "match_type" : "exact",
11889 "type" : "simple",
11890 "max_size" : 1024,
11891 "with_counters" : true,
11892 "support_timeout" : false,
11893 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011894 "action_ids" : [23, 5],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011895 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011896 "base_default_next" : "tbl_act_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011897 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011898 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_17",
11899 "NoAction" : "tbl_act_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011900 },
11901 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011902 "action_id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011903 "action_const" : false,
11904 "action_data" : [],
11905 "action_entry_const" : false
11906 }
11907 },
11908 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011909 "name" : "tbl_act_17",
11910 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011911 "key" : [],
11912 "match_type" : "exact",
11913 "type" : "simple",
11914 "max_size" : 1024,
11915 "with_counters" : false,
11916 "support_timeout" : false,
11917 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011918 "action_ids" : [60],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011919 "actions" : ["act_17"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011920 "base_default_next" : "FabricIngress.forwarding.acl",
11921 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011922 "act_17" : "FabricIngress.forwarding.acl"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011923 },
11924 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011925 "action_id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011926 "action_const" : true,
11927 "action_data" : [],
11928 "action_entry_const" : true
11929 }
11930 },
11931 {
Charles Chan384aea22018-08-23 22:08:02 -070011932 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011933 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011934 "source_info" : {
11935 "filename" : "include/control/forwarding.p4",
11936 "line" : 87,
11937 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070011938 "source_fragment" : "routing_v4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011939 },
11940 "key" : [
11941 {
11942 "match_type" : "lpm",
11943 "name" : "hdr.ipv4.dst_addr",
11944 "target" : ["ipv4", "dst_addr"],
11945 "mask" : null
11946 }
11947 ],
11948 "match_type" : "lpm",
11949 "type" : "simple",
11950 "max_size" : 1024,
11951 "with_counters" : true,
11952 "support_timeout" : false,
11953 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011954 "action_ids" : [24, 6],
11955 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "NoAction"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011956 "base_default_next" : "FabricIngress.forwarding.acl",
11957 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070011958 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011959 "NoAction" : "FabricIngress.forwarding.acl"
11960 },
11961 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011962 "action_id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011963 "action_const" : false,
11964 "action_data" : [],
11965 "action_entry_const" : false
11966 }
11967 },
11968 {
Charles Chan384aea22018-08-23 22:08:02 -070011969 "name" : "FabricIngress.forwarding.routing_v6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011970 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011971 "source_info" : {
11972 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070011973 "line" : 173,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011974 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070011975 "source_fragment" : "routing_v6"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011976 },
11977 "key" : [
11978 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011979 "match_type" : "lpm",
Charles Chan384aea22018-08-23 22:08:02 -070011980 "name" : "hdr.ipv6.dst_addr",
11981 "target" : ["ipv6", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011982 "mask" : null
11983 }
11984 ],
11985 "match_type" : "lpm",
11986 "type" : "simple",
11987 "max_size" : 1024,
11988 "with_counters" : true,
11989 "support_timeout" : false,
11990 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011991 "action_ids" : [30, 7],
11992 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v6", "NoAction"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011993 "base_default_next" : "FabricIngress.forwarding.acl",
11994 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070011995 "FabricIngress.forwarding.set_next_id_routing_v6" : "FabricIngress.forwarding.acl",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011996 "NoAction" : "FabricIngress.forwarding.acl"
11997 },
11998 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011999 "action_id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012000 "action_const" : false,
12001 "action_data" : [],
12002 "action_entry_const" : false
12003 }
12004 },
12005 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012006 "name" : "FabricIngress.forwarding.acl",
Charles Chan384aea22018-08-23 22:08:02 -070012007 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012008 "source_info" : {
12009 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012010 "line" : 131,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012011 "column" : 10,
12012 "source_fragment" : "acl"
12013 },
12014 "key" : [
12015 {
12016 "match_type" : "ternary",
12017 "name" : "standard_metadata.ingress_port",
12018 "target" : ["standard_metadata", "ingress_port"],
12019 "mask" : null
12020 },
12021 {
12022 "match_type" : "ternary",
12023 "name" : "fabric_metadata.ip_proto",
12024 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
12025 "mask" : null
12026 },
12027 {
12028 "match_type" : "ternary",
12029 "name" : "fabric_metadata.l4_src_port",
12030 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
12031 "mask" : null
12032 },
12033 {
12034 "match_type" : "ternary",
12035 "name" : "fabric_metadata.l4_dst_port",
12036 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12037 "mask" : null
12038 },
12039 {
12040 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012041 "name" : "hdr.ethernet.dst_addr",
12042 "target" : ["ethernet", "dst_addr"],
12043 "mask" : null
12044 },
12045 {
12046 "match_type" : "ternary",
12047 "name" : "hdr.ethernet.src_addr",
12048 "target" : ["ethernet", "src_addr"],
12049 "mask" : null
12050 },
12051 {
12052 "match_type" : "ternary",
12053 "name" : "hdr.vlan_tag.vlan_id",
12054 "target" : ["vlan_tag", "vlan_id"],
12055 "mask" : null
12056 },
12057 {
12058 "match_type" : "ternary",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012059 "name" : "hdr.vlan_tag.ether_type",
12060 "target" : ["vlan_tag", "ether_type"],
12061 "mask" : null
12062 },
12063 {
12064 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012065 "name" : "hdr.ipv4.src_addr",
12066 "target" : ["ipv4", "src_addr"],
12067 "mask" : null
12068 },
12069 {
12070 "match_type" : "ternary",
12071 "name" : "hdr.ipv4.dst_addr",
12072 "target" : ["ipv4", "dst_addr"],
12073 "mask" : null
12074 },
12075 {
12076 "match_type" : "ternary",
12077 "name" : "hdr.icmp.icmp_type",
12078 "target" : ["icmp", "icmp_type"],
12079 "mask" : null
12080 },
12081 {
12082 "match_type" : "ternary",
12083 "name" : "hdr.icmp.icmp_code",
12084 "target" : ["icmp", "icmp_code"],
12085 "mask" : null
12086 }
12087 ],
12088 "match_type" : "ternary",
12089 "type" : "simple",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012090 "max_size" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012091 "with_counters" : true,
12092 "support_timeout" : false,
12093 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012094 "action_ids" : [25, 26, 27, 28, 29],
Charles Chancf696e52018-08-16 16:25:13 -070012095 "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 -070012096 "base_default_next" : "tbl_act_18",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012097 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012098 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_18",
12099 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_18",
12100 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_18",
12101 "FabricIngress.forwarding.drop" : "tbl_act_18",
12102 "FabricIngress.forwarding.nop_acl" : "tbl_act_18"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012103 },
12104 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012105 "action_id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012106 "action_const" : true,
12107 "action_data" : [],
12108 "action_entry_const" : true
12109 }
12110 },
12111 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012112 "name" : "tbl_act_18",
Charles Chan384aea22018-08-23 22:08:02 -070012113 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012114 "key" : [],
12115 "match_type" : "exact",
12116 "type" : "simple",
12117 "max_size" : 1024,
12118 "with_counters" : false,
12119 "support_timeout" : false,
12120 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012121 "action_ids" : [61],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012122 "actions" : ["act_18"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012123 "base_default_next" : "FabricIngress.next.vlan_meta",
12124 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012125 "act_18" : "FabricIngress.next.vlan_meta"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012126 },
12127 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012128 "action_id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012129 "action_const" : true,
12130 "action_data" : [],
12131 "action_entry_const" : true
12132 }
12133 },
12134 {
12135 "name" : "FabricIngress.next.vlan_meta",
Charles Chan384aea22018-08-23 22:08:02 -070012136 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012137 "source_info" : {
12138 "filename" : "include/control/next.p4",
12139 "line" : 65,
12140 "column" : 10,
12141 "source_fragment" : "vlan_meta"
12142 },
12143 "key" : [
12144 {
12145 "match_type" : "exact",
12146 "name" : "fabric_metadata.next_id",
12147 "target" : ["scalars", "fabric_metadata_t.next_id"],
12148 "mask" : null
12149 }
12150 ],
12151 "match_type" : "exact",
12152 "type" : "simple",
12153 "max_size" : 1024,
12154 "with_counters" : true,
12155 "support_timeout" : false,
12156 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012157 "action_ids" : [31, 11],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012158 "actions" : ["FabricIngress.next.set_vlan", "nop"],
12159 "base_default_next" : "FabricIngress.next.simple",
12160 "next_tables" : {
12161 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
12162 "nop" : "FabricIngress.next.simple"
12163 },
12164 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012165 "action_id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012166 "action_const" : false,
12167 "action_data" : [],
12168 "action_entry_const" : false
12169 }
12170 },
12171 {
12172 "name" : "FabricIngress.next.simple",
Charles Chan384aea22018-08-23 22:08:02 -070012173 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012174 "source_info" : {
12175 "filename" : "include/control/next.p4",
12176 "line" : 122,
12177 "column" : 10,
12178 "source_fragment" : "simple"
12179 },
12180 "key" : [
12181 {
12182 "match_type" : "exact",
12183 "name" : "fabric_metadata.next_id",
12184 "target" : ["scalars", "fabric_metadata_t.next_id"],
12185 "mask" : null
12186 }
12187 ],
12188 "match_type" : "exact",
12189 "type" : "simple",
12190 "max_size" : 1024,
12191 "with_counters" : true,
12192 "support_timeout" : false,
12193 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012194 "action_ids" : [32, 33, 34, 35, 36, 37, 8],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012195 "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"],
12196 "base_default_next" : null,
12197 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012198 "__HIT__" : "tbl_act_19",
12199 "__MISS__" : "tbl_act_20"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012200 },
12201 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012202 "action_id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012203 "action_const" : false,
12204 "action_data" : [],
12205 "action_entry_const" : false
12206 }
12207 },
12208 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012209 "name" : "tbl_act_19",
Charles Chan384aea22018-08-23 22:08:02 -070012210 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012211 "key" : [],
12212 "match_type" : "exact",
12213 "type" : "simple",
12214 "max_size" : 1024,
12215 "with_counters" : false,
12216 "support_timeout" : false,
12217 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012218 "action_ids" : [62],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012219 "actions" : ["act_19"],
Charles Chan384aea22018-08-23 22:08:02 -070012220 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012221 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012222 "act_19" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012223 },
12224 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012225 "action_id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012226 "action_const" : true,
12227 "action_data" : [],
12228 "action_entry_const" : true
12229 }
12230 },
12231 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012232 "name" : "tbl_act_20",
Charles Chan384aea22018-08-23 22:08:02 -070012233 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012234 "key" : [],
12235 "match_type" : "exact",
12236 "type" : "simple",
12237 "max_size" : 1024,
12238 "with_counters" : false,
12239 "support_timeout" : false,
12240 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012241 "action_ids" : [63],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012242 "actions" : ["act_20"],
Charles Chan384aea22018-08-23 22:08:02 -070012243 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012244 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012245 "act_20" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012246 },
12247 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012248 "action_id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012249 "action_const" : true,
12250 "action_data" : [],
12251 "action_entry_const" : true
12252 }
12253 },
12254 {
12255 "name" : "FabricIngress.next.hashed",
Charles Chan384aea22018-08-23 22:08:02 -070012256 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012257 "source_info" : {
12258 "filename" : "include/control/next.p4",
12259 "line" : 175,
12260 "column" : 10,
12261 "source_fragment" : "hashed"
12262 },
12263 "key" : [
12264 {
12265 "match_type" : "exact",
12266 "name" : "fabric_metadata.next_id",
12267 "target" : ["scalars", "fabric_metadata_t.next_id"],
12268 "mask" : null
12269 }
12270 ],
12271 "match_type" : "exact",
12272 "type" : "indirect_ws",
12273 "action_profile" : "FabricIngress.next.ecmp_selector",
12274 "max_size" : 1024,
12275 "with_counters" : true,
12276 "support_timeout" : false,
12277 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012278 "action_ids" : [38, 39, 40, 9],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012279 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
12280 "base_default_next" : null,
12281 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012282 "__HIT__" : "tbl_act_21",
12283 "__MISS__" : "tbl_act_22"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012284 }
12285 },
12286 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012287 "name" : "tbl_act_21",
Charles Chan384aea22018-08-23 22:08:02 -070012288 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012289 "key" : [],
12290 "match_type" : "exact",
12291 "type" : "simple",
12292 "max_size" : 1024,
12293 "with_counters" : false,
12294 "support_timeout" : false,
12295 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012296 "action_ids" : [64],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012297 "actions" : ["act_21"],
Charles Chan384aea22018-08-23 22:08:02 -070012298 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012299 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012300 "act_21" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012301 },
12302 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012303 "action_id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012304 "action_const" : true,
12305 "action_data" : [],
12306 "action_entry_const" : true
12307 }
12308 },
12309 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012310 "name" : "tbl_act_22",
Charles Chan384aea22018-08-23 22:08:02 -070012311 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012312 "key" : [],
12313 "match_type" : "exact",
12314 "type" : "simple",
12315 "max_size" : 1024,
12316 "with_counters" : false,
12317 "support_timeout" : false,
12318 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012319 "action_ids" : [65],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012320 "actions" : ["act_22"],
Charles Chan384aea22018-08-23 22:08:02 -070012321 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012322 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012323 "act_22" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012324 },
12325 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012326 "action_id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012327 "action_const" : true,
12328 "action_data" : [],
12329 "action_entry_const" : true
12330 }
12331 },
12332 {
12333 "name" : "FabricIngress.next.multicast",
Charles Chan384aea22018-08-23 22:08:02 -070012334 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012335 "source_info" : {
12336 "filename" : "include/control/next.p4",
12337 "line" : 207,
12338 "column" : 10,
12339 "source_fragment" : "multicast"
12340 },
12341 "key" : [
12342 {
12343 "match_type" : "exact",
12344 "name" : "fabric_metadata.next_id",
12345 "target" : ["scalars", "fabric_metadata_t.next_id"],
12346 "mask" : null
12347 }
12348 ],
12349 "match_type" : "exact",
12350 "type" : "simple",
12351 "max_size" : 1024,
12352 "with_counters" : true,
12353 "support_timeout" : false,
12354 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012355 "action_ids" : [41, 10],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012356 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
12357 "base_default_next" : null,
12358 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012359 "__HIT__" : "tbl_act_23",
12360 "__MISS__" : "tbl_act_24"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012361 },
12362 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012363 "action_id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012364 "action_const" : false,
12365 "action_data" : [],
12366 "action_entry_const" : false
12367 }
12368 },
12369 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012370 "name" : "tbl_act_23",
Charles Chan384aea22018-08-23 22:08:02 -070012371 "id" : 39,
12372 "key" : [],
12373 "match_type" : "exact",
12374 "type" : "simple",
12375 "max_size" : 1024,
12376 "with_counters" : false,
12377 "support_timeout" : false,
12378 "direct_meters" : null,
12379 "action_ids" : [66],
12380 "actions" : ["act_23"],
12381 "base_default_next" : "node_58",
12382 "next_tables" : {
12383 "act_23" : "node_58"
12384 },
12385 "default_entry" : {
12386 "action_id" : 66,
12387 "action_const" : true,
12388 "action_data" : [],
12389 "action_entry_const" : true
12390 }
12391 },
12392 {
12393 "name" : "tbl_act_24",
12394 "id" : 40,
12395 "key" : [],
12396 "match_type" : "exact",
12397 "type" : "simple",
12398 "max_size" : 1024,
12399 "with_counters" : false,
12400 "support_timeout" : false,
12401 "direct_meters" : null,
12402 "action_ids" : [67],
12403 "actions" : ["act_24"],
12404 "base_default_next" : "node_58",
12405 "next_tables" : {
12406 "act_24" : "node_58"
12407 },
12408 "default_entry" : {
12409 "action_id" : 67,
12410 "action_const" : true,
12411 "action_data" : [],
12412 "action_entry_const" : true
12413 }
12414 },
12415 {
12416 "name" : "tbl_act_25",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012417 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012418 "key" : [],
12419 "match_type" : "exact",
12420 "type" : "simple",
12421 "max_size" : 1024,
12422 "with_counters" : false,
12423 "support_timeout" : false,
12424 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012425 "action_ids" : [68],
12426 "actions" : ["act_25"],
12427 "base_default_next" : "node_60",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012428 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012429 "act_25" : "node_60"
12430 },
12431 "default_entry" : {
12432 "action_id" : 68,
12433 "action_const" : true,
12434 "action_data" : [],
12435 "action_entry_const" : true
12436 }
12437 },
12438 {
12439 "name" : "tbl_act_26",
12440 "id" : 42,
12441 "key" : [],
12442 "match_type" : "exact",
12443 "type" : "simple",
12444 "max_size" : 1024,
12445 "with_counters" : false,
12446 "support_timeout" : false,
12447 "direct_meters" : null,
12448 "action_ids" : [69],
12449 "actions" : ["act_26"],
12450 "base_default_next" : "node_66",
12451 "next_tables" : {
12452 "act_26" : "node_66"
12453 },
12454 "default_entry" : {
12455 "action_id" : 69,
12456 "action_const" : true,
12457 "action_data" : [],
12458 "action_entry_const" : true
12459 }
12460 },
12461 {
12462 "name" : "tbl_act_27",
12463 "id" : 43,
12464 "key" : [],
12465 "match_type" : "exact",
12466 "type" : "simple",
12467 "max_size" : 1024,
12468 "with_counters" : false,
12469 "support_timeout" : false,
12470 "direct_meters" : null,
12471 "action_ids" : [70],
12472 "actions" : ["act_27"],
12473 "base_default_next" : "node_66",
12474 "next_tables" : {
12475 "act_27" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012476 },
12477 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012478 "action_id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012479 "action_const" : true,
12480 "action_data" : [],
12481 "action_entry_const" : true
12482 }
12483 },
12484 {
Charles Chan384aea22018-08-23 22:08:02 -070012485 "name" : "tbl_act_28",
12486 "id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012487 "key" : [],
12488 "match_type" : "exact",
12489 "type" : "simple",
12490 "max_size" : 1024,
12491 "with_counters" : false,
12492 "support_timeout" : false,
12493 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012494 "action_ids" : [71],
Charles Chan384aea22018-08-23 22:08:02 -070012495 "actions" : ["act_28"],
12496 "base_default_next" : "node_68",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012497 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012498 "act_28" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012499 },
12500 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012501 "action_id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012502 "action_const" : true,
12503 "action_data" : [],
12504 "action_entry_const" : true
12505 }
12506 },
12507 {
Charles Chan384aea22018-08-23 22:08:02 -070012508 "name" : "tbl_act_29",
12509 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012510 "key" : [],
12511 "match_type" : "exact",
12512 "type" : "simple",
12513 "max_size" : 1024,
12514 "with_counters" : false,
12515 "support_timeout" : false,
12516 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012517 "action_ids" : [72],
Charles Chan384aea22018-08-23 22:08:02 -070012518 "actions" : ["act_29"],
12519 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012520 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012521 "act_29" : "FabricIngress.process_set_source_sink.tb_set_source"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012522 },
12523 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012524 "action_id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012525 "action_const" : true,
12526 "action_data" : [],
12527 "action_entry_const" : true
12528 }
12529 },
12530 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012531 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
Charles Chan384aea22018-08-23 22:08:02 -070012532 "id" : 46,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012533 "source_info" : {
12534 "filename" : "include/int_source.p4",
12535 "line" : 101,
12536 "column" : 10,
12537 "source_fragment" : "tb_set_source"
12538 },
12539 "key" : [
12540 {
12541 "match_type" : "exact",
12542 "name" : "standard_metadata.ingress_port",
12543 "target" : ["standard_metadata", "ingress_port"],
12544 "mask" : null
12545 }
12546 ],
12547 "match_type" : "exact",
12548 "type" : "simple",
12549 "max_size" : 256,
12550 "with_counters" : true,
12551 "support_timeout" : false,
12552 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012553 "action_ids" : [15, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012554 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
12555 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
12556 "next_tables" : {
12557 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
12558 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
12559 },
12560 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012561 "action_id" : 2,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012562 "action_const" : false,
12563 "action_data" : [],
12564 "action_entry_const" : false
12565 }
12566 },
12567 {
12568 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
Charles Chan384aea22018-08-23 22:08:02 -070012569 "id" : 47,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012570 "source_info" : {
12571 "filename" : "include/int_source.p4",
12572 "line" : 111,
12573 "column" : 10,
12574 "source_fragment" : "tb_set_sink"
12575 },
12576 "key" : [
12577 {
12578 "match_type" : "exact",
12579 "name" : "standard_metadata.egress_spec",
12580 "target" : ["standard_metadata", "egress_spec"],
12581 "mask" : null
12582 }
12583 ],
12584 "match_type" : "exact",
12585 "type" : "simple",
12586 "max_size" : 256,
12587 "with_counters" : true,
12588 "support_timeout" : false,
12589 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012590 "action_ids" : [16, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012591 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
Charles Chan384aea22018-08-23 22:08:02 -070012592 "base_default_next" : "node_72",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012593 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012594 "FabricIngress.process_set_source_sink.int_set_sink" : "node_72",
12595 "NoAction" : "node_72"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012596 },
12597 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012598 "action_id" : 3,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012599 "action_const" : false,
12600 "action_data" : [],
12601 "action_entry_const" : false
12602 }
12603 },
12604 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012605 "name" : "tbl_act_30",
Charles Chan384aea22018-08-23 22:08:02 -070012606 "id" : 48,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012607 "key" : [],
12608 "match_type" : "exact",
12609 "type" : "simple",
12610 "max_size" : 1024,
12611 "with_counters" : false,
12612 "support_timeout" : false,
12613 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012614 "action_ids" : [73],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012615 "actions" : ["act_30"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012616 "base_default_next" : null,
12617 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012618 "act_30" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012619 },
12620 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012621 "action_id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012622 "action_const" : true,
12623 "action_data" : [],
12624 "action_entry_const" : true
12625 }
12626 }
12627 ],
12628 "action_profiles" : [
12629 {
12630 "name" : "FabricIngress.next.ecmp_selector",
12631 "id" : 0,
12632 "max_size" : 64,
12633 "selector" : {
12634 "algo" : "crc16",
12635 "input" : [
12636 {
12637 "type" : "field",
12638 "value" : ["ipv4", "dst_addr"]
12639 },
12640 {
12641 "type" : "field",
12642 "value" : ["ipv4", "src_addr"]
12643 },
12644 {
12645 "type" : "field",
12646 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
12647 },
12648 {
12649 "type" : "field",
12650 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
12651 },
12652 {
12653 "type" : "field",
12654 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
12655 }
12656 ]
12657 }
12658 }
12659 ],
12660 "conditionals" : [
12661 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012662 "name" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012663 "id" : 0,
12664 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012665 "filename" : "include/spgw.p4",
12666 "line" : 30,
12667 "column" : 12,
12668 "source_fragment" : "! is_gtpu_encapped"
12669 },
12670 "expression" : {
12671 "type" : "expression",
12672 "value" : {
12673 "op" : "not",
12674 "left" : null,
12675 "right" : {
12676 "type" : "expression",
12677 "value" : {
12678 "op" : "d2b",
12679 "left" : null,
12680 "right" : {
12681 "type" : "field",
12682 "value" : ["gtpu", "$valid$"]
12683 }
12684 }
12685 }
12686 }
12687 },
12688 "true_next" : "tbl_act_0",
12689 "false_next" : "node_5"
12690 },
12691 {
12692 "name" : "node_5",
12693 "id" : 1,
12694 "expression" : {
12695 "type" : "expression",
12696 "value" : {
12697 "op" : "not",
12698 "left" : null,
12699 "right" : {
12700 "type" : "expression",
12701 "value" : {
12702 "op" : "d2b",
12703 "left" : null,
12704 "right" : {
12705 "type" : "field",
12706 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
12707 }
12708 }
12709 }
12710 }
12711 },
12712 "true_next" : "tbl_act_1",
12713 "false_next" : "node_10"
12714 },
12715 {
12716 "name" : "node_7",
12717 "id" : 2,
12718 "source_info" : {
12719 "filename" : "include/spgw.p4",
12720 "line" : 34,
12721 "column" : 12,
12722 "source_fragment" : "inner_udp.isValid()"
12723 },
12724 "expression" : {
12725 "type" : "expression",
12726 "value" : {
12727 "op" : "d2b",
12728 "left" : null,
12729 "right" : {
12730 "type" : "field",
12731 "value" : ["inner_udp", "$valid$"]
12732 }
12733 }
12734 },
12735 "true_next" : "tbl_act_2",
12736 "false_next" : "tbl_act_3"
12737 },
12738 {
12739 "name" : "node_10",
12740 "id" : 3,
12741 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012742 "filename" : "include/control/packetio.p4",
12743 "line" : 25,
12744 "column" : 12,
12745 "source_fragment" : "hdr.packet_out.isValid()"
12746 },
12747 "expression" : {
12748 "type" : "expression",
12749 "value" : {
12750 "op" : "d2b",
12751 "left" : null,
12752 "right" : {
12753 "type" : "field",
12754 "value" : ["packet_out", "$valid$"]
12755 }
12756 }
12757 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012758 "true_next" : "tbl_act_4",
12759 "false_next" : "tbl_act_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012760 },
12761 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012762 "name" : "node_13",
12763 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012764 "source_info" : {
12765 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012766 "line" : 139,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012767 "column" : 12,
12768 "source_fragment" : "gtpu.isValid()"
12769 },
12770 "expression" : {
12771 "type" : "expression",
12772 "value" : {
12773 "op" : "d2b",
12774 "left" : null,
12775 "right" : {
12776 "type" : "field",
12777 "value" : ["gtpu", "$valid$"]
12778 }
12779 }
12780 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012781 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
12782 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012783 },
12784 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012785 "name" : "node_17",
12786 "id" : 5,
12787 "source_info" : {
12788 "filename" : "include/spgw.p4",
12789 "line" : 143,
12790 "column" : 16,
12791 "source_fragment" : "!s1u_filter_table.apply().hit"
12792 },
12793 "expression" : {
12794 "type" : "expression",
12795 "value" : {
12796 "op" : "not",
12797 "left" : null,
12798 "right" : {
12799 "type" : "expression",
12800 "value" : {
12801 "op" : "d2b",
12802 "left" : null,
12803 "right" : {
12804 "type" : "field",
12805 "value" : ["scalars", "spgw_ingress_tmp_1"]
12806 }
12807 }
12808 }
12809 }
12810 },
12811 "true_next" : "tbl_drop_now",
12812 "false_next" : "tbl_act_8"
12813 },
12814 {
12815 "name" : "node_24",
12816 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012817 "expression" : {
12818 "type" : "expression",
12819 "value" : {
12820 "op" : "d2b",
12821 "left" : null,
12822 "right" : {
12823 "type" : "field",
12824 "value" : ["scalars", "spgw_ingress_tmp_2"]
12825 }
12826 }
12827 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012828 "true_next" : "tbl_act_11",
12829 "false_next" : "tbl_act_12"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012830 },
12831 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012832 "name" : "node_27",
12833 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012834 "expression" : {
12835 "type" : "expression",
12836 "value" : {
12837 "op" : "not",
12838 "left" : null,
12839 "right" : {
12840 "type" : "expression",
12841 "value" : {
12842 "op" : "d2b",
12843 "left" : null,
12844 "right" : {
12845 "type" : "field",
12846 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
12847 }
12848 }
12849 }
12850 }
12851 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012852 "true_next" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012853 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
12854 },
12855 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012856 "name" : "node_32",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012857 "id" : 8,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012858 "expression" : {
12859 "type" : "expression",
12860 "value" : {
12861 "op" : "d2b",
12862 "left" : null,
12863 "right" : {
12864 "type" : "field",
12865 "value" : ["scalars", "filtering_tmp_0"]
12866 }
12867 }
12868 },
12869 "true_next" : "FabricIngress.filtering.fwd_classifier",
12870 "false_next" : "tbl_act_16"
12871 },
12872 {
12873 "name" : "node_35",
12874 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012875 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012876 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070012877 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012878 "column" : 11,
12879 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
12880 },
12881 "expression" : {
12882 "type" : "expression",
12883 "value" : {
12884 "op" : "==",
12885 "left" : {
12886 "type" : "field",
12887 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12888 },
12889 "right" : {
12890 "type" : "hexstr",
12891 "value" : "0x00"
12892 }
12893 }
12894 },
12895 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012896 "false_next" : "node_37"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012897 },
12898 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012899 "name" : "node_37",
12900 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012901 "source_info" : {
12902 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070012903 "line" : 187,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012904 "column" : 17,
12905 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
12906 },
12907 "expression" : {
12908 "type" : "expression",
12909 "value" : {
12910 "op" : "==",
12911 "left" : {
12912 "type" : "field",
12913 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12914 },
12915 "right" : {
12916 "type" : "hexstr",
12917 "value" : "0x01"
12918 }
12919 }
12920 },
12921 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012922 "false_next" : "node_40"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012923 },
12924 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012925 "name" : "node_40",
12926 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012927 "source_info" : {
12928 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070012929 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012930 "column" : 17,
12931 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
12932 },
12933 "expression" : {
12934 "type" : "expression",
12935 "value" : {
12936 "op" : "==",
12937 "left" : {
12938 "type" : "field",
12939 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12940 },
12941 "right" : {
12942 "type" : "hexstr",
12943 "value" : "0x02"
12944 }
12945 }
12946 },
Charles Chan384aea22018-08-23 22:08:02 -070012947 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012948 "false_next" : "node_42"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012949 },
12950 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012951 "name" : "node_42",
12952 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012953 "source_info" : {
12954 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070012955 "line" : 195,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012956 "column" : 17,
12957 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
12958 },
12959 "expression" : {
12960 "type" : "expression",
12961 "value" : {
12962 "op" : "==",
12963 "left" : {
12964 "type" : "field",
12965 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12966 },
12967 "right" : {
12968 "type" : "hexstr",
12969 "value" : "0x04"
12970 }
12971 }
12972 },
Charles Chan384aea22018-08-23 22:08:02 -070012973 "true_next" : "FabricIngress.forwarding.routing_v6",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012974 "false_next" : "FabricIngress.forwarding.acl"
12975 },
12976 {
Charles Chan384aea22018-08-23 22:08:02 -070012977 "name" : "node_50",
12978 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012979 "source_info" : {
12980 "filename" : "include/control/next.p4",
12981 "line" : 219,
12982 "column" : 12,
12983 "source_fragment" : "!simple.apply().hit"
12984 },
12985 "expression" : {
12986 "type" : "expression",
12987 "value" : {
12988 "op" : "not",
12989 "left" : null,
12990 "right" : {
12991 "type" : "expression",
12992 "value" : {
12993 "op" : "d2b",
12994 "left" : null,
12995 "right" : {
12996 "type" : "field",
12997 "value" : ["scalars", "next_tmp_4"]
12998 }
12999 }
13000 }
13001 }
13002 },
13003 "true_next" : "FabricIngress.next.hashed",
Charles Chan384aea22018-08-23 22:08:02 -070013004 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013005 },
13006 {
Charles Chan384aea22018-08-23 22:08:02 -070013007 "name" : "node_54",
13008 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013009 "source_info" : {
13010 "filename" : "include/control/next.p4",
13011 "line" : 220,
13012 "column" : 16,
13013 "source_fragment" : "!hashed.apply().hit"
13014 },
13015 "expression" : {
13016 "type" : "expression",
13017 "value" : {
13018 "op" : "not",
13019 "left" : null,
13020 "right" : {
13021 "type" : "expression",
13022 "value" : {
13023 "op" : "d2b",
13024 "left" : null,
13025 "right" : {
13026 "type" : "field",
13027 "value" : ["scalars", "next_tmp_3"]
13028 }
13029 }
13030 }
13031 }
13032 },
13033 "true_next" : "FabricIngress.next.multicast",
Charles Chan384aea22018-08-23 22:08:02 -070013034 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013035 },
13036 {
Charles Chan384aea22018-08-23 22:08:02 -070013037 "name" : "node_58",
13038 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013039 "source_info" : {
13040 "filename" : "include/control/next.p4",
13041 "line" : 221,
13042 "column" : 20,
13043 "source_fragment" : "!multicast.apply().hit"
13044 },
13045 "expression" : {
13046 "type" : "expression",
13047 "value" : {
13048 "op" : "not",
13049 "left" : null,
13050 "right" : {
13051 "type" : "expression",
13052 "value" : {
13053 "op" : "d2b",
13054 "left" : null,
13055 "right" : {
13056 "type" : "field",
13057 "value" : ["scalars", "next_tmp_2"]
13058 }
13059 }
13060 }
13061 }
13062 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013063 "true_next" : "tbl_act_25",
Charles Chan384aea22018-08-23 22:08:02 -070013064 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013065 },
13066 {
Charles Chan384aea22018-08-23 22:08:02 -070013067 "name" : "node_60",
13068 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013069 "expression" : {
13070 "type" : "expression",
13071 "value" : {
13072 "op" : "not",
13073 "left" : null,
13074 "right" : {
13075 "type" : "expression",
13076 "value" : {
13077 "op" : "d2b",
13078 "left" : null,
13079 "right" : {
13080 "type" : "field",
13081 "value" : ["scalars", "next_hasReturned_0"]
13082 }
13083 }
13084 }
13085 }
13086 },
Charles Chan384aea22018-08-23 22:08:02 -070013087 "true_next" : "node_61",
13088 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013089 },
13090 {
Charles Chan384aea22018-08-23 22:08:02 -070013091 "name" : "node_61",
13092 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013093 "source_info" : {
13094 "filename" : "include/control/next.p4",
13095 "line" : 228,
13096 "column" : 12,
13097 "source_fragment" : "!hdr.mpls.isValid()"
13098 },
13099 "expression" : {
13100 "type" : "expression",
13101 "value" : {
13102 "op" : "not",
13103 "left" : null,
13104 "right" : {
13105 "type" : "expression",
13106 "value" : {
13107 "op" : "d2b",
13108 "left" : null,
13109 "right" : {
13110 "type" : "field",
13111 "value" : ["mpls", "$valid$"]
13112 }
13113 }
13114 }
13115 }
13116 },
Charles Chan384aea22018-08-23 22:08:02 -070013117 "true_next" : "node_62",
13118 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013119 },
13120 {
Charles Chan384aea22018-08-23 22:08:02 -070013121 "name" : "node_62",
13122 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013123 "source_info" : {
13124 "filename" : "include/control/next.p4",
13125 "line" : 229,
13126 "column" : 15,
13127 "source_fragment" : "hdr.ipv4.isValid()"
13128 },
13129 "expression" : {
13130 "type" : "expression",
13131 "value" : {
13132 "op" : "d2b",
13133 "left" : null,
13134 "right" : {
13135 "type" : "field",
13136 "value" : ["ipv4", "$valid$"]
13137 }
13138 }
13139 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013140 "true_next" : "tbl_act_26",
Charles Chan384aea22018-08-23 22:08:02 -070013141 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013142 },
13143 {
Charles Chan384aea22018-08-23 22:08:02 -070013144 "name" : "node_64",
13145 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013146 "source_info" : {
13147 "filename" : "include/control/next.p4",
13148 "line" : 233,
13149 "column" : 21,
13150 "source_fragment" : "hdr.ipv6.isValid()"
13151 },
13152 "expression" : {
13153 "type" : "expression",
13154 "value" : {
13155 "op" : "d2b",
13156 "left" : null,
13157 "right" : {
13158 "type" : "field",
13159 "value" : ["ipv6", "$valid$"]
13160 }
13161 }
13162 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013163 "true_next" : "tbl_act_27",
Charles Chan384aea22018-08-23 22:08:02 -070013164 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013165 },
13166 {
Charles Chan384aea22018-08-23 22:08:02 -070013167 "name" : "node_66",
13168 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013169 "source_info" : {
13170 "filename" : "include/control/port_counter.p4",
13171 "line" : 27,
13172 "column" : 12,
13173 "source_fragment" : "standard_metadata.egress_spec < 511"
13174 },
13175 "expression" : {
13176 "type" : "expression",
13177 "value" : {
13178 "op" : "<",
13179 "left" : {
13180 "type" : "field",
13181 "value" : ["standard_metadata", "egress_spec"]
13182 },
13183 "right" : {
13184 "type" : "hexstr",
13185 "value" : "0x01ff"
13186 }
13187 }
13188 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013189 "true_next" : "tbl_act_28",
Charles Chan384aea22018-08-23 22:08:02 -070013190 "false_next" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013191 },
13192 {
Charles Chan384aea22018-08-23 22:08:02 -070013193 "name" : "node_68",
13194 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013195 "source_info" : {
13196 "filename" : "include/control/port_counter.p4",
13197 "line" : 30,
13198 "column" : 12,
13199 "source_fragment" : "standard_metadata.ingress_port < 511"
13200 },
13201 "expression" : {
13202 "type" : "expression",
13203 "value" : {
13204 "op" : "<",
13205 "left" : {
13206 "type" : "field",
13207 "value" : ["standard_metadata", "ingress_port"]
13208 },
13209 "right" : {
13210 "type" : "hexstr",
13211 "value" : "0x01ff"
13212 }
13213 }
13214 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013215 "true_next" : "tbl_act_29",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013216 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
13217 },
13218 {
Charles Chan384aea22018-08-23 22:08:02 -070013219 "name" : "node_72",
13220 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013221 "source_info" : {
13222 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013223 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013224 "column" : 11,
13225 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
13226 },
13227 "expression" : {
13228 "type" : "expression",
13229 "value" : {
13230 "op" : "==",
13231 "left" : {
13232 "type" : "field",
13233 "value" : ["userMetadata.int_meta", "sink"]
13234 },
13235 "right" : {
13236 "type" : "hexstr",
13237 "value" : "0x01"
13238 }
13239 }
13240 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013241 "false_next" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013242 "true_next" : "tbl_act_30"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013243 }
13244 ]
13245 },
13246 {
13247 "name" : "egress",
13248 "id" : 1,
13249 "source_info" : {
13250 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013251 "line" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013252 "column" : 8,
13253 "source_fragment" : "FabricEgress"
13254 },
Charles Chan384aea22018-08-23 22:08:02 -070013255 "init_table" : "node_76",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013256 "tables" : [
13257 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013258 "name" : "tbl_pkt_io_egress_pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070013259 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013260 "key" : [],
13261 "match_type" : "exact",
13262 "type" : "simple",
13263 "max_size" : 1024,
13264 "with_counters" : false,
13265 "support_timeout" : false,
13266 "direct_meters" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013267 "action_ids" : [124],
13268 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
13269 "base_default_next" : "node_80",
13270 "next_tables" : {
13271 "FabricEgress.pkt_io_egress.pop_vlan" : "node_80"
13272 },
13273 "default_entry" : {
13274 "action_id" : 124,
13275 "action_const" : true,
13276 "action_data" : [],
13277 "action_entry_const" : true
13278 }
13279 },
13280 {
13281 "name" : "tbl_drop_now_0",
13282 "id" : 50,
13283 "key" : [],
13284 "match_type" : "exact",
13285 "type" : "simple",
13286 "max_size" : 1024,
13287 "with_counters" : false,
13288 "support_timeout" : false,
13289 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013290 "action_ids" : [80],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013291 "actions" : ["drop_now"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013292 "base_default_next" : "tbl_act_31",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013293 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013294 "drop_now" : "tbl_act_31"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013295 },
13296 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013297 "action_id" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013298 "action_const" : true,
13299 "action_data" : [],
13300 "action_entry_const" : true
13301 }
13302 },
13303 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013304 "name" : "tbl_act_31",
13305 "id" : 51,
13306 "key" : [],
13307 "match_type" : "exact",
13308 "type" : "simple",
13309 "max_size" : 1024,
13310 "with_counters" : false,
13311 "support_timeout" : false,
13312 "direct_meters" : null,
13313 "action_ids" : [126],
13314 "actions" : ["act_31"],
13315 "base_default_next" : null,
13316 "next_tables" : {
13317 "act_31" : null
13318 },
13319 "default_entry" : {
13320 "action_id" : 126,
13321 "action_const" : true,
13322 "action_data" : [],
13323 "action_entry_const" : true
13324 }
13325 },
13326 {
13327 "name" : "tbl_drop_now_1",
13328 "id" : 52,
13329 "key" : [],
13330 "match_type" : "exact",
13331 "type" : "simple",
13332 "max_size" : 1024,
13333 "with_counters" : false,
13334 "support_timeout" : false,
13335 "direct_meters" : null,
13336 "action_ids" : [81],
13337 "actions" : ["drop_now"],
13338 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
13339 "next_tables" : {
13340 "drop_now" : "FabricEgress.egress_next.egress_vlan"
13341 },
13342 "default_entry" : {
13343 "action_id" : 81,
13344 "action_const" : true,
13345 "action_data" : [],
13346 "action_entry_const" : true
13347 }
13348 },
13349 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013350 "name" : "FabricEgress.egress_next.egress_vlan",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013351 "id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013352 "source_info" : {
13353 "filename" : "include/control/next.p4",
13354 "line" : 258,
13355 "column" : 10,
13356 "source_fragment" : "egress_vlan"
13357 },
13358 "key" : [
13359 {
13360 "match_type" : "exact",
13361 "name" : "hdr.vlan_tag.vlan_id",
13362 "target" : ["vlan_tag", "vlan_id"],
13363 "mask" : null
13364 },
13365 {
13366 "match_type" : "exact",
13367 "name" : "standard_metadata.egress_port",
13368 "target" : ["standard_metadata", "egress_port"],
13369 "mask" : null
13370 }
13371 ],
13372 "match_type" : "exact",
13373 "type" : "simple",
13374 "max_size" : 1024,
13375 "with_counters" : true,
13376 "support_timeout" : false,
13377 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013378 "action_ids" : [125, 79],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013379 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013380 "base_default_next" : "node_86",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013381 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013382 "FabricEgress.egress_next.pop_vlan" : "node_86",
13383 "nop" : "node_86"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013384 },
13385 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013386 "action_id" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013387 "action_const" : false,
13388 "action_data" : [],
13389 "action_entry_const" : false
13390 }
13391 },
13392 {
Charles Chan384aea22018-08-23 22:08:02 -070013393 "name" : "tbl_spgw_egress_gtpu_encap",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013394 "id" : 54,
13395 "key" : [],
13396 "match_type" : "exact",
13397 "type" : "simple",
13398 "max_size" : 1024,
13399 "with_counters" : false,
13400 "support_timeout" : false,
13401 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013402 "action_ids" : [82],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013403 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013404 "base_default_next" : "node_88",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013405 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013406 "FabricEgress.spgw_egress.gtpu_encap" : "node_88"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013407 },
13408 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013409 "action_id" : 82,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013410 "action_const" : true,
13411 "action_data" : [],
13412 "action_entry_const" : true
13413 }
13414 },
13415 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013416 "name" : "FabricEgress.process_int_source.tb_int_source",
Charles Chan384aea22018-08-23 22:08:02 -070013417 "id" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013418 "source_info" : {
13419 "filename" : "include/int_source.p4",
13420 "line" : 66,
13421 "column" : 10,
13422 "source_fragment" : "tb_int_source"
13423 },
13424 "key" : [
13425 {
13426 "match_type" : "ternary",
13427 "name" : "hdr.ipv4.src_addr",
13428 "target" : ["ipv4", "src_addr"],
13429 "mask" : null
13430 },
13431 {
13432 "match_type" : "ternary",
13433 "name" : "hdr.ipv4.dst_addr",
13434 "target" : ["ipv4", "dst_addr"],
13435 "mask" : null
13436 },
13437 {
13438 "match_type" : "ternary",
13439 "name" : "fabric_metadata.l4_src_port",
13440 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
13441 "mask" : null
13442 },
13443 {
13444 "match_type" : "ternary",
13445 "name" : "fabric_metadata.l4_dst_port",
13446 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
13447 "mask" : null
13448 }
13449 ],
13450 "match_type" : "ternary",
13451 "type" : "simple",
13452 "max_size" : 1024,
13453 "with_counters" : true,
13454 "support_timeout" : false,
13455 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013456 "action_ids" : [83, 74],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013457 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013458 "base_default_next" : "node_91",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013459 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013460 "FabricEgress.process_int_source.int_source_dscp" : "node_91",
13461 "NoAction" : "node_91"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013462 },
13463 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013464 "action_id" : 74,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013465 "action_const" : false,
13466 "action_data" : [],
13467 "action_entry_const" : false
13468 }
13469 },
13470 {
13471 "name" : "FabricEgress.process_int_transit.tb_int_insert",
Charles Chan384aea22018-08-23 22:08:02 -070013472 "id" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013473 "source_info" : {
13474 "filename" : "include/int_transit.p4",
13475 "line" : 227,
13476 "column" : 10,
13477 "source_fragment" : "tb_int_insert"
13478 },
13479 "key" : [],
13480 "match_type" : "exact",
13481 "type" : "simple",
13482 "max_size" : 2,
13483 "with_counters" : true,
13484 "support_timeout" : false,
13485 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013486 "action_ids" : [85, 75],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013487 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
13488 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13489 "next_tables" : {
13490 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13491 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
13492 },
13493 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013494 "action_id" : 75,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013495 "action_const" : false,
13496 "action_data" : [],
13497 "action_entry_const" : false
13498 }
13499 },
13500 {
13501 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
Charles Chan384aea22018-08-23 22:08:02 -070013502 "id" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013503 "source_info" : {
13504 "filename" : "include/int_transit.p4",
13505 "line" : 237,
13506 "column" : 10,
13507 "source_fragment" : "tb_int_inst_0003"
13508 },
13509 "key" : [
13510 {
13511 "match_type" : "exact",
13512 "name" : "hdr.int_header.instruction_mask_0003",
13513 "target" : ["int_header", "instruction_mask_0003"],
13514 "mask" : null
13515 }
13516 ],
13517 "match_type" : "exact",
13518 "type" : "simple",
13519 "max_size" : 16,
13520 "with_counters" : true,
13521 "support_timeout" : false,
13522 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013523 "action_ids" : [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 76],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013524 "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"],
13525 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13526 "next_tables" : {
13527 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13528 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13529 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13530 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13531 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13532 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13533 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13534 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13535 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13536 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13537 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13538 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13539 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13540 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13541 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13542 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13543 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
13544 },
13545 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013546 "action_id" : 76,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013547 "action_const" : false,
13548 "action_data" : [],
13549 "action_entry_const" : false
13550 }
13551 },
13552 {
13553 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
Charles Chan384aea22018-08-23 22:08:02 -070013554 "id" : 58,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013555 "source_info" : {
13556 "filename" : "include/int_transit.p4",
13557 "line" : 264,
13558 "column" : 10,
13559 "source_fragment" : "tb_int_inst_0407"
13560 },
13561 "key" : [
13562 {
13563 "match_type" : "exact",
13564 "name" : "hdr.int_header.instruction_mask_0407",
13565 "target" : ["int_header", "instruction_mask_0407"],
13566 "mask" : null
13567 }
13568 ],
13569 "match_type" : "exact",
13570 "type" : "simple",
13571 "max_size" : 16,
13572 "with_counters" : true,
13573 "support_timeout" : false,
13574 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013575 "action_ids" : [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 77],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013576 "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"],
13577 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
13578 "next_tables" : {
13579 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
13580 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
13581 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
13582 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
13583 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
13584 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
13585 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
13586 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
13587 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
13588 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
13589 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
13590 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
13591 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
13592 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
13593 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
13594 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
13595 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
13596 },
13597 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013598 "action_id" : 77,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013599 "action_const" : false,
13600 "action_data" : [],
13601 "action_entry_const" : false
13602 }
13603 },
13604 {
13605 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
Charles Chan384aea22018-08-23 22:08:02 -070013606 "id" : 59,
13607 "key" : [],
13608 "match_type" : "exact",
13609 "type" : "simple",
13610 "max_size" : 1024,
13611 "with_counters" : false,
13612 "support_timeout" : false,
13613 "direct_meters" : null,
13614 "action_ids" : [84],
13615 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013616 "base_default_next" : "node_96",
Charles Chan384aea22018-08-23 22:08:02 -070013617 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013618 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_96"
Charles Chan384aea22018-08-23 22:08:02 -070013619 },
13620 "default_entry" : {
13621 "action_id" : 84,
13622 "action_const" : true,
13623 "action_data" : [],
13624 "action_entry_const" : true
13625 }
13626 },
13627 {
13628 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
13629 "id" : 60,
13630 "key" : [],
13631 "match_type" : "exact",
13632 "type" : "simple",
13633 "max_size" : 1024,
13634 "with_counters" : false,
13635 "support_timeout" : false,
13636 "direct_meters" : null,
13637 "action_ids" : [118],
13638 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013639 "base_default_next" : "node_98",
Charles Chan384aea22018-08-23 22:08:02 -070013640 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013641 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_98"
Charles Chan384aea22018-08-23 22:08:02 -070013642 },
13643 "default_entry" : {
13644 "action_id" : 118,
13645 "action_const" : true,
13646 "action_data" : [],
13647 "action_entry_const" : true
13648 }
13649 },
13650 {
13651 "name" : "tbl_process_int_outer_encap_int_update_udp",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013652 "id" : 61,
13653 "key" : [],
13654 "match_type" : "exact",
13655 "type" : "simple",
13656 "max_size" : 1024,
13657 "with_counters" : false,
13658 "support_timeout" : false,
13659 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013660 "action_ids" : [119],
13661 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013662 "base_default_next" : "node_100",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013663 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013664 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_100"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013665 },
13666 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013667 "action_id" : 119,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013668 "action_const" : true,
13669 "action_data" : [],
13670 "action_entry_const" : true
13671 }
13672 },
13673 {
Charles Chan384aea22018-08-23 22:08:02 -070013674 "name" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013675 "id" : 62,
13676 "key" : [],
13677 "match_type" : "exact",
13678 "type" : "simple",
13679 "max_size" : 1024,
13680 "with_counters" : false,
13681 "support_timeout" : false,
13682 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013683 "action_ids" : [120],
13684 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013685 "base_default_next" : "node_102",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013686 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013687 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_102"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013688 },
13689 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013690 "action_id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013691 "action_const" : true,
13692 "action_data" : [],
13693 "action_entry_const" : true
13694 }
13695 },
13696 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013697 "name" : "FabricEgress.process_int_report.tb_generate_report",
Charles Chan384aea22018-08-23 22:08:02 -070013698 "id" : 63,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013699 "source_info" : {
13700 "filename" : "include/int_report.p4",
13701 "line" : 87,
13702 "column" : 10,
13703 "source_fragment" : "tb_generate_report"
13704 },
13705 "key" : [],
13706 "match_type" : "exact",
13707 "type" : "simple",
13708 "max_size" : 1024,
13709 "with_counters" : false,
13710 "support_timeout" : false,
13711 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013712 "action_ids" : [121, 78],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013713 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013714 "base_default_next" : "node_104",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013715 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013716 "FabricEgress.process_int_report.do_report_encapsulation" : "node_104",
13717 "NoAction" : "node_104"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013718 },
13719 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013720 "action_id" : 78,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013721 "action_const" : false,
13722 "action_data" : [],
13723 "action_entry_const" : false
13724 }
13725 },
13726 {
13727 "name" : "tbl_process_int_sink_restore_header",
Charles Chan384aea22018-08-23 22:08:02 -070013728 "id" : 64,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013729 "key" : [],
13730 "match_type" : "exact",
13731 "type" : "simple",
13732 "max_size" : 1024,
13733 "with_counters" : false,
13734 "support_timeout" : false,
13735 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013736 "action_ids" : [122],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013737 "actions" : ["FabricEgress.process_int_sink.restore_header"],
13738 "base_default_next" : "tbl_process_int_sink_int_sink",
13739 "next_tables" : {
13740 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
13741 },
13742 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013743 "action_id" : 122,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013744 "action_const" : true,
13745 "action_data" : [],
13746 "action_entry_const" : true
13747 }
13748 },
13749 {
13750 "name" : "tbl_process_int_sink_int_sink",
Charles Chan384aea22018-08-23 22:08:02 -070013751 "id" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013752 "key" : [],
13753 "match_type" : "exact",
13754 "type" : "simple",
13755 "max_size" : 1024,
13756 "with_counters" : false,
13757 "support_timeout" : false,
13758 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013759 "action_ids" : [123],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013760 "actions" : ["FabricEgress.process_int_sink.int_sink"],
13761 "base_default_next" : null,
13762 "next_tables" : {
13763 "FabricEgress.process_int_sink.int_sink" : null
13764 },
13765 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013766 "action_id" : 123,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013767 "action_const" : true,
13768 "action_data" : [],
13769 "action_entry_const" : true
13770 }
13771 }
13772 ],
13773 "action_profiles" : [],
13774 "conditionals" : [
13775 {
Charles Chan384aea22018-08-23 22:08:02 -070013776 "name" : "node_76",
13777 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013778 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013779 "filename" : "include/control/packetio.p4",
13780 "line" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013781 "column" : 12,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013782 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013783 },
13784 "expression" : {
13785 "type" : "expression",
13786 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013787 "op" : "==",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013788 "left" : {
13789 "type" : "expression",
13790 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013791 "op" : "d2b",
13792 "left" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013793 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013794 "type" : "field",
13795 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013796 }
13797 }
13798 },
13799 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013800 "type" : "bool",
13801 "value" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013802 }
13803 }
13804 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013805 "true_next" : null,
13806 "false_next" : "node_77"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013807 },
13808 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013809 "name" : "node_77",
Charles Chan384aea22018-08-23 22:08:02 -070013810 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013811 "source_info" : {
13812 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013813 "line" : 47,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013814 "column" : 12,
13815 "source_fragment" : "standard_metadata.egress_port == 255"
13816 },
13817 "expression" : {
13818 "type" : "expression",
13819 "value" : {
13820 "op" : "==",
13821 "left" : {
13822 "type" : "field",
13823 "value" : ["standard_metadata", "egress_port"]
13824 },
13825 "right" : {
13826 "type" : "hexstr",
13827 "value" : "0x00ff"
13828 }
13829 }
13830 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013831 "true_next" : "node_78",
13832 "false_next" : "node_83"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013833 },
13834 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013835 "name" : "node_78",
Charles Chan384aea22018-08-23 22:08:02 -070013836 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013837 "source_info" : {
13838 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013839 "line" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013840 "column" : 16,
13841 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
13842 },
13843 "expression" : {
13844 "type" : "expression",
13845 "value" : {
13846 "op" : "and",
13847 "left" : {
13848 "type" : "expression",
13849 "value" : {
13850 "op" : "d2b",
13851 "left" : null,
13852 "right" : {
13853 "type" : "field",
13854 "value" : ["vlan_tag", "$valid$"]
13855 }
13856 }
13857 },
13858 "right" : {
13859 "type" : "expression",
13860 "value" : {
13861 "op" : "==",
13862 "left" : {
13863 "type" : "expression",
13864 "value" : {
13865 "op" : "d2b",
13866 "left" : null,
13867 "right" : {
13868 "type" : "field",
13869 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
13870 }
13871 }
13872 },
13873 "right" : {
13874 "type" : "bool",
13875 "value" : true
13876 }
13877 }
13878 }
13879 }
13880 },
13881 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013882 "false_next" : "node_80"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013883 },
13884 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013885 "name" : "node_80",
Charles Chan384aea22018-08-23 22:08:02 -070013886 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013887 "source_info" : {
13888 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013889 "line" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013890 "column" : 16,
13891 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
13892 },
13893 "expression" : {
13894 "type" : "expression",
13895 "value" : {
13896 "op" : "and",
13897 "left" : {
13898 "type" : "expression",
13899 "value" : {
13900 "op" : "==",
13901 "left" : {
13902 "type" : "expression",
13903 "value" : {
13904 "op" : "d2b",
13905 "left" : null,
13906 "right" : {
13907 "type" : "field",
13908 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13909 }
13910 }
13911 },
13912 "right" : {
13913 "type" : "bool",
13914 "value" : true
13915 }
13916 }
13917 },
13918 "right" : {
13919 "type" : "expression",
13920 "value" : {
13921 "op" : "==",
13922 "left" : {
13923 "type" : "expression",
13924 "value" : {
13925 "op" : "d2b",
13926 "left" : null,
13927 "right" : {
13928 "type" : "field",
13929 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
13930 }
13931 }
13932 },
13933 "right" : {
13934 "type" : "bool",
13935 "value" : false
13936 }
13937 }
13938 }
13939 }
13940 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013941 "true_next" : "tbl_drop_now_0",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013942 "false_next" : "tbl_act_31"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013943 },
13944 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013945 "name" : "node_83",
Charles Chan384aea22018-08-23 22:08:02 -070013946 "id" : 27,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013947 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013948 "filename" : "include/control/next.p4",
13949 "line" : 272,
13950 "column" : 12,
13951 "source_fragment" : "fabric_metadata.is_multicast == true ..."
13952 },
13953 "expression" : {
13954 "type" : "expression",
13955 "value" : {
13956 "op" : "and",
13957 "left" : {
13958 "type" : "expression",
13959 "value" : {
13960 "op" : "==",
13961 "left" : {
13962 "type" : "expression",
13963 "value" : {
13964 "op" : "d2b",
13965 "left" : null,
13966 "right" : {
13967 "type" : "field",
13968 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13969 }
13970 }
13971 },
13972 "right" : {
13973 "type" : "bool",
13974 "value" : true
13975 }
13976 }
13977 },
13978 "right" : {
13979 "type" : "expression",
13980 "value" : {
13981 "op" : "==",
13982 "left" : {
13983 "type" : "field",
13984 "value" : ["standard_metadata", "ingress_port"]
13985 },
13986 "right" : {
13987 "type" : "field",
13988 "value" : ["standard_metadata", "egress_port"]
13989 }
13990 }
13991 }
13992 }
13993 },
13994 "true_next" : "tbl_drop_now_1",
13995 "false_next" : "FabricEgress.egress_next.egress_vlan"
13996 },
13997 {
13998 "name" : "node_86",
13999 "id" : 28,
14000 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014001 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014002 "line" : 221,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014003 "column" : 12,
14004 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
14005 },
14006 "expression" : {
14007 "type" : "expression",
14008 "value" : {
14009 "op" : "==",
14010 "left" : {
14011 "type" : "field",
14012 "value" : ["userMetadata.spgw", "direction"]
14013 },
14014 "right" : {
14015 "type" : "hexstr",
14016 "value" : "0x02"
14017 }
14018 }
14019 },
14020 "true_next" : "tbl_spgw_egress_gtpu_encap",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014021 "false_next" : "node_88"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014022 },
14023 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014024 "name" : "node_88",
14025 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014026 "source_info" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014027 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014028 "line" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014029 "column" : 12,
14030 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
14031 },
14032 "expression" : {
14033 "type" : "expression",
14034 "value" : {
14035 "op" : "and",
14036 "left" : {
14037 "type" : "expression",
14038 "value" : {
14039 "op" : "and",
14040 "left" : {
14041 "type" : "expression",
14042 "value" : {
14043 "op" : "!=",
14044 "left" : {
14045 "type" : "field",
14046 "value" : ["standard_metadata", "ingress_port"]
14047 },
14048 "right" : {
14049 "type" : "hexstr",
14050 "value" : "0x00ff"
14051 }
14052 }
14053 },
14054 "right" : {
14055 "type" : "expression",
14056 "value" : {
14057 "op" : "!=",
14058 "left" : {
14059 "type" : "field",
14060 "value" : ["standard_metadata", "egress_port"]
14061 },
14062 "right" : {
14063 "type" : "hexstr",
14064 "value" : "0x00ff"
14065 }
14066 }
14067 }
14068 }
14069 },
14070 "right" : {
14071 "type" : "expression",
14072 "value" : {
14073 "op" : "or",
14074 "left" : {
14075 "type" : "expression",
14076 "value" : {
14077 "op" : "d2b",
14078 "left" : null,
14079 "right" : {
14080 "type" : "field",
14081 "value" : ["udp", "$valid$"]
14082 }
14083 }
14084 },
14085 "right" : {
14086 "type" : "expression",
14087 "value" : {
14088 "op" : "d2b",
14089 "left" : null,
14090 "right" : {
14091 "type" : "field",
14092 "value" : ["tcp", "$valid$"]
14093 }
14094 }
14095 }
14096 }
14097 }
14098 }
14099 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014100 "false_next" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014101 "true_next" : "node_89"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014102 },
14103 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014104 "name" : "node_89",
14105 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014106 "source_info" : {
14107 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014108 "line" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014109 "column" : 16,
14110 "source_fragment" : "fabric_metadata.int_meta.source == 1"
14111 },
14112 "expression" : {
14113 "type" : "expression",
14114 "value" : {
14115 "op" : "==",
14116 "left" : {
14117 "type" : "field",
14118 "value" : ["userMetadata.int_meta", "source"]
14119 },
14120 "right" : {
14121 "type" : "hexstr",
14122 "value" : "0x01"
14123 }
14124 }
14125 },
14126 "true_next" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014127 "false_next" : "node_91"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014128 },
14129 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014130 "name" : "node_91",
14131 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014132 "source_info" : {
14133 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014134 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014135 "column" : 15,
14136 "source_fragment" : "hdr.int_header.isValid()"
14137 },
14138 "expression" : {
14139 "type" : "expression",
14140 "value" : {
14141 "op" : "d2b",
14142 "left" : null,
14143 "right" : {
14144 "type" : "field",
14145 "value" : ["int_header", "$valid$"]
14146 }
14147 }
14148 },
14149 "false_next" : null,
14150 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
14151 },
14152 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014153 "name" : "node_96",
14154 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014155 "source_info" : {
14156 "filename" : "include/int_transit.p4",
14157 "line" : 314,
14158 "column" : 12,
14159 "source_fragment" : "hdr.ipv4.isValid()"
14160 },
14161 "expression" : {
14162 "type" : "expression",
14163 "value" : {
14164 "op" : "d2b",
14165 "left" : null,
14166 "right" : {
14167 "type" : "field",
14168 "value" : ["ipv4", "$valid$"]
14169 }
14170 }
14171 },
14172 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014173 "false_next" : "node_98"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014174 },
14175 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014176 "name" : "node_98",
14177 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014178 "source_info" : {
14179 "filename" : "include/int_transit.p4",
14180 "line" : 317,
14181 "column" : 12,
14182 "source_fragment" : "hdr.udp.isValid()"
14183 },
14184 "expression" : {
14185 "type" : "expression",
14186 "value" : {
14187 "op" : "d2b",
14188 "left" : null,
14189 "right" : {
14190 "type" : "field",
14191 "value" : ["udp", "$valid$"]
14192 }
14193 }
14194 },
14195 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014196 "false_next" : "node_100"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014197 },
14198 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014199 "name" : "node_100",
14200 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014201 "source_info" : {
14202 "filename" : "include/int_transit.p4",
14203 "line" : 320,
14204 "column" : 12,
14205 "source_fragment" : "hdr.intl4_shim.isValid()"
14206 },
14207 "expression" : {
14208 "type" : "expression",
14209 "value" : {
14210 "op" : "d2b",
14211 "left" : null,
14212 "right" : {
14213 "type" : "field",
14214 "value" : ["intl4_shim", "$valid$"]
14215 }
14216 }
14217 },
14218 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014219 "false_next" : "node_102"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014220 },
14221 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014222 "name" : "node_102",
14223 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014224 "source_info" : {
14225 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014226 "line" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014227 "column" : 20,
14228 "source_fragment" : "standard_metadata.instance_type == 1"
14229 },
14230 "expression" : {
14231 "type" : "expression",
14232 "value" : {
14233 "op" : "==",
14234 "left" : {
14235 "type" : "field",
14236 "value" : ["standard_metadata", "instance_type"]
14237 },
14238 "right" : {
14239 "type" : "hexstr",
14240 "value" : "0x00000001"
14241 }
14242 }
14243 },
14244 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014245 "false_next" : "node_104"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014246 },
14247 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014248 "name" : "node_104",
14249 "id" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014250 "source_info" : {
14251 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014252 "line" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014253 "column" : 20,
14254 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
14255 },
14256 "expression" : {
14257 "type" : "expression",
14258 "value" : {
14259 "op" : "==",
14260 "left" : {
14261 "type" : "field",
14262 "value" : ["userMetadata.int_meta", "sink"]
14263 },
14264 "right" : {
14265 "type" : "hexstr",
14266 "value" : "0x01"
14267 }
14268 }
14269 },
14270 "false_next" : null,
14271 "true_next" : "tbl_process_int_sink_restore_header"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014272 }
14273 ]
14274 }
14275 ],
14276 "checksums" : [
14277 {
14278 "name" : "cksum",
14279 "id" : 0,
14280 "target" : ["ipv4", "hdr_checksum"],
14281 "type" : "generic",
14282 "calculation" : "calc",
14283 "if_cond" : {
14284 "type" : "expression",
14285 "value" : {
14286 "op" : "d2b",
14287 "left" : null,
14288 "right" : {
14289 "type" : "field",
14290 "value" : ["ipv4", "$valid$"]
14291 }
14292 }
14293 }
14294 },
14295 {
14296 "name" : "cksum_0",
14297 "id" : 1,
14298 "target" : ["gtpu_ipv4", "hdr_checksum"],
14299 "type" : "generic",
14300 "calculation" : "calc_0",
14301 "if_cond" : {
14302 "type" : "expression",
14303 "value" : {
14304 "op" : "d2b",
14305 "left" : null,
14306 "right" : {
14307 "type" : "field",
14308 "value" : ["gtpu_ipv4", "$valid$"]
14309 }
14310 }
14311 }
14312 },
14313 {
14314 "name" : "cksum_1",
14315 "id" : 2,
14316 "target" : ["ipv4", "hdr_checksum"],
14317 "type" : "generic",
14318 "calculation" : "calc_1",
14319 "if_cond" : {
14320 "type" : "expression",
14321 "value" : {
14322 "op" : "d2b",
14323 "left" : null,
14324 "right" : {
14325 "type" : "field",
14326 "value" : ["ipv4", "$valid$"]
14327 }
14328 }
14329 }
14330 }
14331 ],
14332 "force_arith" : [],
14333 "extern_instances" : [],
14334 "field_aliases" : [
14335 [
14336 "queueing_metadata.enq_timestamp",
14337 ["standard_metadata", "enq_timestamp"]
14338 ],
14339 [
14340 "queueing_metadata.enq_qdepth",
14341 ["standard_metadata", "enq_qdepth"]
14342 ],
14343 [
14344 "queueing_metadata.deq_timedelta",
14345 ["standard_metadata", "deq_timedelta"]
14346 ],
14347 [
14348 "queueing_metadata.deq_qdepth",
14349 ["standard_metadata", "deq_qdepth"]
14350 ],
14351 [
14352 "intrinsic_metadata.ingress_global_timestamp",
14353 ["standard_metadata", "ingress_global_timestamp"]
14354 ],
14355 [
14356 "intrinsic_metadata.egress_global_timestamp",
14357 ["standard_metadata", "egress_global_timestamp"]
14358 ],
14359 [
14360 "intrinsic_metadata.lf_field_list",
14361 ["standard_metadata", "lf_field_list"]
14362 ],
14363 [
14364 "intrinsic_metadata.mcast_grp",
14365 ["standard_metadata", "mcast_grp"]
14366 ],
14367 [
14368 "intrinsic_metadata.resubmit_flag",
14369 ["standard_metadata", "resubmit_flag"]
14370 ],
14371 [
14372 "intrinsic_metadata.egress_rid",
14373 ["standard_metadata", "egress_rid"]
14374 ],
14375 [
14376 "intrinsic_metadata.recirculate_flag",
14377 ["standard_metadata", "recirculate_flag"]
14378 ]
14379 ],
14380 "program" : "fabric.p4",
14381 "__meta__" : {
14382 "version" : [2, 18],
14383 "compiler" : "https://github.com/p4lang/p4c"
14384 }
14385}