blob: 67d1b4511389d18e23e27b84c12b845bbddd67b2 [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 {
Charles Chancd03f072018-08-31 17:46:37 -07002664 "name" : "FabricIngress.forwarding.nop_routing_v4",
Charles Chan384aea22018-08-23 22:08:02 -07002665 "id" : 25,
Charles Chancd03f072018-08-31 17:46:37 -07002666 "runtime_data" : [],
2667 "primitives" : []
2668 },
2669 {
2670 "name" : "FabricIngress.forwarding.set_next_id_acl",
2671 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002672 "runtime_data" : [
2673 {
2674 "name" : "next_id",
2675 "bitwidth" : 32
2676 }
2677 ],
2678 "primitives" : [
2679 {
2680 "op" : "assign",
2681 "parameters" : [
2682 {
2683 "type" : "field",
2684 "value" : ["scalars", "fabric_metadata_t.next_id"]
2685 },
2686 {
2687 "type" : "runtime_data",
2688 "value" : 0
2689 }
2690 ],
2691 "source_info" : {
2692 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002693 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002694 "column" : 8,
2695 "source_fragment" : "fabric_metadata.next_id = next_id"
2696 }
2697 }
2698 ]
2699 },
2700 {
2701 "name" : "FabricIngress.forwarding.punt_to_cpu",
Charles Chancd03f072018-08-31 17:46:37 -07002702 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002703 "runtime_data" : [],
2704 "primitives" : [
2705 {
2706 "op" : "assign",
2707 "parameters" : [
2708 {
2709 "type" : "field",
2710 "value" : ["standard_metadata", "egress_spec"]
2711 },
2712 {
2713 "type" : "hexstr",
2714 "value" : "0x00ff"
2715 }
2716 ],
2717 "source_info" : {
2718 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002719 "line" : 116,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002720 "column" : 8,
2721 "source_fragment" : "standard_metadata.egress_spec = 255"
2722 }
2723 },
2724 {
2725 "op" : "exit",
2726 "parameters" : [],
2727 "source_info" : {
2728 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002729 "line" : 118,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002730 "column" : 8,
2731 "source_fragment" : "exit"
2732 }
2733 }
2734 ]
2735 },
2736 {
2737 "name" : "FabricIngress.forwarding.clone_to_cpu",
Charles Chancd03f072018-08-31 17:46:37 -07002738 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002739 "runtime_data" : [],
2740 "primitives" : [
2741 {
2742 "op" : "assign",
2743 "parameters" : [
2744 {
2745 "type" : "field",
2746 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2747 },
2748 {
2749 "type" : "expression",
2750 "value" : {
2751 "type" : "expression",
2752 "value" : {
2753 "op" : "b2d",
2754 "left" : null,
2755 "right" : {
2756 "type" : "bool",
2757 "value" : true
2758 }
2759 }
2760 }
2761 }
2762 ],
2763 "source_info" : {
2764 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002765 "line" : 123,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002766 "column" : 8,
2767 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2768 }
2769 }
2770 ]
2771 },
2772 {
2773 "name" : "FabricIngress.forwarding.drop",
Charles Chancd03f072018-08-31 17:46:37 -07002774 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002775 "runtime_data" : [],
2776 "primitives" : [
2777 {
2778 "op" : "drop",
2779 "parameters" : [],
2780 "source_info" : {
2781 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002782 "line" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002783 "column" : 8,
2784 "source_fragment" : "mark_to_drop()"
2785 }
2786 }
2787 ]
2788 },
2789 {
Charles Chancf696e52018-08-16 16:25:13 -07002790 "name" : "FabricIngress.forwarding.nop_acl",
Charles Chancd03f072018-08-31 17:46:37 -07002791 "id" : 30,
Charles Chancf696e52018-08-16 16:25:13 -07002792 "runtime_data" : [],
2793 "primitives" : []
2794 },
2795 {
Charles Chan384aea22018-08-23 22:08:02 -07002796 "name" : "FabricIngress.forwarding.set_next_id_routing_v6",
Charles Chancd03f072018-08-31 17:46:37 -07002797 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002798 "runtime_data" : [
2799 {
2800 "name" : "next_id",
2801 "bitwidth" : 32
2802 }
2803 ],
2804 "primitives" : [
2805 {
2806 "op" : "assign",
2807 "parameters" : [
2808 {
2809 "type" : "field",
2810 "value" : ["scalars", "fabric_metadata_t.next_id"]
2811 },
2812 {
2813 "type" : "runtime_data",
2814 "value" : 0
2815 }
2816 ],
2817 "source_info" : {
2818 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -07002819 "line" : 174,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002820 "column" : 8,
2821 "source_fragment" : "fabric_metadata.next_id = next_id"
2822 }
2823 }
2824 ]
2825 },
2826 {
2827 "name" : "FabricIngress.next.set_vlan",
Charles Chancd03f072018-08-31 17:46:37 -07002828 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002829 "runtime_data" : [
2830 {
2831 "name" : "new_vlan_id",
2832 "bitwidth" : 12
2833 }
2834 ],
2835 "primitives" : [
2836 {
2837 "op" : "assign",
2838 "parameters" : [
2839 {
2840 "type" : "field",
2841 "value" : ["vlan_tag", "vlan_id"]
2842 },
2843 {
2844 "type" : "runtime_data",
2845 "value" : 0
2846 }
2847 ],
2848 "source_info" : {
2849 "filename" : "include/control/next.p4",
2850 "line" : 61,
2851 "column" : 8,
2852 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2853 }
2854 }
2855 ]
2856 },
2857 {
2858 "name" : "FabricIngress.next.output_simple",
Charles Chancd03f072018-08-31 17:46:37 -07002859 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002860 "runtime_data" : [
2861 {
2862 "name" : "port_num",
2863 "bitwidth" : 9
2864 }
2865 ],
2866 "primitives" : [
2867 {
2868 "op" : "assign",
2869 "parameters" : [
2870 {
2871 "type" : "field",
2872 "value" : ["standard_metadata", "egress_spec"]
2873 },
2874 {
2875 "type" : "runtime_data",
2876 "value" : 0
2877 }
2878 ],
2879 "source_info" : {
2880 "filename" : "include/control/next.p4",
2881 "line" : 85,
2882 "column" : 8,
2883 "source_fragment" : "standard_metadata.egress_spec = port_num"
2884 }
2885 }
2886 ]
2887 },
2888 {
2889 "name" : "FabricIngress.next.set_vlan_output",
Charles Chancd03f072018-08-31 17:46:37 -07002890 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002891 "runtime_data" : [
2892 {
2893 "name" : "new_vlan_id",
2894 "bitwidth" : 12
2895 },
2896 {
2897 "name" : "port_num",
2898 "bitwidth" : 9
2899 }
2900 ],
2901 "primitives" : [
2902 {
2903 "op" : "assign",
2904 "parameters" : [
2905 {
2906 "type" : "field",
2907 "value" : ["vlan_tag", "vlan_id"]
2908 },
2909 {
2910 "type" : "runtime_data",
2911 "value" : 0
2912 }
2913 ],
2914 "source_info" : {
2915 "filename" : "include/control/next.p4",
2916 "line" : 90,
2917 "column" : 8,
2918 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2919 }
2920 },
2921 {
2922 "op" : "assign",
2923 "parameters" : [
2924 {
2925 "type" : "field",
2926 "value" : ["standard_metadata", "egress_spec"]
2927 },
2928 {
2929 "type" : "runtime_data",
2930 "value" : 1
2931 }
2932 ],
2933 "source_info" : {
2934 "filename" : "include/control/next.p4",
2935 "line" : 85,
2936 "column" : 8,
2937 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2938 }
2939 }
2940 ]
2941 },
2942 {
2943 "name" : "FabricIngress.next.l3_routing_simple",
Charles Chancd03f072018-08-31 17:46:37 -07002944 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002945 "runtime_data" : [
2946 {
2947 "name" : "port_num",
2948 "bitwidth" : 9
2949 },
2950 {
2951 "name" : "smac",
2952 "bitwidth" : 48
2953 },
2954 {
2955 "name" : "dmac",
2956 "bitwidth" : 48
2957 }
2958 ],
2959 "primitives" : [
2960 {
2961 "op" : "assign",
2962 "parameters" : [
2963 {
2964 "type" : "field",
2965 "value" : ["ethernet", "src_addr"]
2966 },
2967 {
2968 "type" : "runtime_data",
2969 "value" : 1
2970 }
2971 ],
2972 "source_info" : {
2973 "filename" : "include/control/next.p4",
2974 "line" : 37,
2975 "column" : 8,
2976 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2977 }
2978 },
2979 {
2980 "op" : "assign",
2981 "parameters" : [
2982 {
2983 "type" : "field",
2984 "value" : ["ethernet", "dst_addr"]
2985 },
2986 {
2987 "type" : "runtime_data",
2988 "value" : 2
2989 }
2990 ],
2991 "source_info" : {
2992 "filename" : "include/control/next.p4",
2993 "line" : 41,
2994 "column" : 8,
2995 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2996 }
2997 },
2998 {
2999 "op" : "assign",
3000 "parameters" : [
3001 {
3002 "type" : "field",
3003 "value" : ["standard_metadata", "egress_spec"]
3004 },
3005 {
3006 "type" : "runtime_data",
3007 "value" : 0
3008 }
3009 ],
3010 "source_info" : {
3011 "filename" : "include/control/next.p4",
3012 "line" : 85,
3013 "column" : 8,
3014 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3015 }
3016 }
3017 ]
3018 },
3019 {
3020 "name" : "FabricIngress.next.mpls_routing_v4_simple",
Charles Chan384aea22018-08-23 22:08:02 -07003021 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003022 "runtime_data" : [
3023 {
3024 "name" : "port_num",
3025 "bitwidth" : 9
3026 },
3027 {
3028 "name" : "smac",
3029 "bitwidth" : 48
3030 },
3031 {
3032 "name" : "dmac",
3033 "bitwidth" : 48
3034 },
3035 {
3036 "name" : "label",
3037 "bitwidth" : 20
3038 }
3039 ],
3040 "primitives" : [
3041 {
3042 "op" : "assign",
3043 "parameters" : [
3044 {
3045 "type" : "field",
3046 "value" : ["ethernet", "src_addr"]
3047 },
3048 {
3049 "type" : "runtime_data",
3050 "value" : 1
3051 }
3052 ],
3053 "source_info" : {
3054 "filename" : "include/control/next.p4",
3055 "line" : 37,
3056 "column" : 8,
3057 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3058 }
3059 },
3060 {
3061 "op" : "assign",
3062 "parameters" : [
3063 {
3064 "type" : "field",
3065 "value" : ["ethernet", "dst_addr"]
3066 },
3067 {
3068 "type" : "runtime_data",
3069 "value" : 2
3070 }
3071 ],
3072 "source_info" : {
3073 "filename" : "include/control/next.p4",
3074 "line" : 41,
3075 "column" : 8,
3076 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3077 }
3078 },
3079 {
3080 "op" : "assign",
3081 "parameters" : [
3082 {
3083 "type" : "field",
3084 "value" : ["standard_metadata", "egress_spec"]
3085 },
3086 {
3087 "type" : "runtime_data",
3088 "value" : 0
3089 }
3090 ],
3091 "source_info" : {
3092 "filename" : "include/control/next.p4",
3093 "line" : 85,
3094 "column" : 8,
3095 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3096 }
3097 },
3098 {
3099 "op" : "add_header",
3100 "parameters" : [
3101 {
3102 "type" : "header",
3103 "value" : "mpls"
3104 }
3105 ],
3106 "source_info" : {
3107 "filename" : "include/control/next.p4",
3108 "line" : 46,
3109 "column" : 8,
3110 "source_fragment" : "hdr.mpls.setValid()"
3111 }
3112 },
3113 {
3114 "op" : "assign",
3115 "parameters" : [
3116 {
3117 "type" : "field",
3118 "value" : ["vlan_tag", "ether_type"]
3119 },
3120 {
3121 "type" : "hexstr",
3122 "value" : "0x8847"
3123 }
3124 ],
3125 "source_info" : {
3126 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003127 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003128 "column" : 31,
3129 "source_fragment" : "0x8847; ..."
3130 }
3131 },
3132 {
3133 "op" : "assign",
3134 "parameters" : [
3135 {
3136 "type" : "field",
3137 "value" : ["mpls", "label"]
3138 },
3139 {
3140 "type" : "runtime_data",
3141 "value" : 3
3142 }
3143 ],
3144 "source_info" : {
3145 "filename" : "include/control/next.p4",
3146 "line" : 48,
3147 "column" : 8,
3148 "source_fragment" : "hdr.mpls.label = label; ..."
3149 }
3150 },
3151 {
3152 "op" : "assign",
3153 "parameters" : [
3154 {
3155 "type" : "field",
3156 "value" : ["mpls", "tc"]
3157 },
3158 {
3159 "type" : "hexstr",
3160 "value" : "0x00"
3161 }
3162 ],
3163 "source_info" : {
3164 "filename" : "include/control/next.p4",
3165 "line" : 49,
3166 "column" : 8,
3167 "source_fragment" : "hdr.mpls.tc = tc; ..."
3168 }
3169 },
3170 {
3171 "op" : "assign",
3172 "parameters" : [
3173 {
3174 "type" : "field",
3175 "value" : ["mpls", "bos"]
3176 },
3177 {
3178 "type" : "hexstr",
3179 "value" : "0x01"
3180 }
3181 ],
3182 "source_info" : {
3183 "filename" : "include/control/next.p4",
3184 "line" : 50,
3185 "column" : 8,
3186 "source_fragment" : "hdr.mpls.bos = 1w1"
3187 }
3188 },
3189 {
3190 "op" : "assign",
3191 "parameters" : [
3192 {
3193 "type" : "field",
3194 "value" : ["mpls", "ttl"]
3195 },
3196 {
3197 "type" : "hexstr",
3198 "value" : "0x40"
3199 }
3200 ],
3201 "source_info" : {
3202 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003203 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003204 "column" : 32,
3205 "source_fragment" : "64; ..."
3206 }
3207 }
3208 ]
3209 },
3210 {
Charles Chancd03f072018-08-31 17:46:37 -07003211 "name" : "FabricIngress.next.mpls_routing_v6_simple",
Charles Chan384aea22018-08-23 22:08:02 -07003212 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003213 "runtime_data" : [
3214 {
3215 "name" : "port_num",
3216 "bitwidth" : 9
3217 },
3218 {
3219 "name" : "smac",
3220 "bitwidth" : 48
3221 },
3222 {
3223 "name" : "dmac",
3224 "bitwidth" : 48
3225 },
3226 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003227 "name" : "label",
3228 "bitwidth" : 20
3229 }
3230 ],
3231 "primitives" : [
3232 {
3233 "op" : "assign",
3234 "parameters" : [
3235 {
3236 "type" : "field",
3237 "value" : ["ethernet", "src_addr"]
3238 },
3239 {
3240 "type" : "runtime_data",
3241 "value" : 1
3242 }
3243 ],
3244 "source_info" : {
3245 "filename" : "include/control/next.p4",
3246 "line" : 37,
3247 "column" : 8,
3248 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3249 }
3250 },
3251 {
3252 "op" : "assign",
3253 "parameters" : [
3254 {
3255 "type" : "field",
3256 "value" : ["ethernet", "dst_addr"]
3257 },
3258 {
3259 "type" : "runtime_data",
3260 "value" : 2
3261 }
3262 ],
3263 "source_info" : {
3264 "filename" : "include/control/next.p4",
3265 "line" : 41,
3266 "column" : 8,
3267 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3268 }
3269 },
3270 {
3271 "op" : "assign",
3272 "parameters" : [
3273 {
3274 "type" : "field",
3275 "value" : ["standard_metadata", "egress_spec"]
3276 },
3277 {
3278 "type" : "runtime_data",
3279 "value" : 0
3280 }
3281 ],
3282 "source_info" : {
3283 "filename" : "include/control/next.p4",
Charles Chancd03f072018-08-31 17:46:37 -07003284 "line" : 85,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003285 "column" : 8,
3286 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3287 }
3288 },
3289 {
3290 "op" : "add_header",
3291 "parameters" : [
3292 {
3293 "type" : "header",
3294 "value" : "mpls"
3295 }
3296 ],
3297 "source_info" : {
3298 "filename" : "include/control/next.p4",
3299 "line" : 46,
3300 "column" : 8,
3301 "source_fragment" : "hdr.mpls.setValid()"
3302 }
3303 },
3304 {
3305 "op" : "assign",
3306 "parameters" : [
3307 {
3308 "type" : "field",
3309 "value" : ["vlan_tag", "ether_type"]
3310 },
3311 {
3312 "type" : "hexstr",
3313 "value" : "0x8847"
3314 }
3315 ],
3316 "source_info" : {
3317 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003318 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003319 "column" : 31,
3320 "source_fragment" : "0x8847; ..."
3321 }
3322 },
3323 {
3324 "op" : "assign",
3325 "parameters" : [
3326 {
3327 "type" : "field",
3328 "value" : ["mpls", "label"]
3329 },
3330 {
3331 "type" : "runtime_data",
3332 "value" : 3
3333 }
3334 ],
3335 "source_info" : {
3336 "filename" : "include/control/next.p4",
3337 "line" : 48,
3338 "column" : 8,
3339 "source_fragment" : "hdr.mpls.label = label; ..."
3340 }
3341 },
3342 {
3343 "op" : "assign",
3344 "parameters" : [
3345 {
3346 "type" : "field",
3347 "value" : ["mpls", "tc"]
3348 },
3349 {
3350 "type" : "hexstr",
3351 "value" : "0x00"
3352 }
3353 ],
3354 "source_info" : {
3355 "filename" : "include/control/next.p4",
3356 "line" : 49,
3357 "column" : 8,
3358 "source_fragment" : "hdr.mpls.tc = tc; ..."
3359 }
3360 },
3361 {
3362 "op" : "assign",
3363 "parameters" : [
3364 {
3365 "type" : "field",
3366 "value" : ["mpls", "bos"]
3367 },
3368 {
3369 "type" : "hexstr",
3370 "value" : "0x01"
3371 }
3372 ],
3373 "source_info" : {
3374 "filename" : "include/control/next.p4",
3375 "line" : 50,
3376 "column" : 8,
3377 "source_fragment" : "hdr.mpls.bos = 1w1"
3378 }
3379 },
3380 {
3381 "op" : "assign",
3382 "parameters" : [
3383 {
3384 "type" : "field",
3385 "value" : ["mpls", "ttl"]
3386 },
3387 {
3388 "type" : "hexstr",
3389 "value" : "0x40"
3390 }
3391 ],
3392 "source_info" : {
3393 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003394 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003395 "column" : 32,
3396 "source_fragment" : "64; ..."
3397 }
3398 }
3399 ]
3400 },
3401 {
Charles Chancd03f072018-08-31 17:46:37 -07003402 "name" : "FabricIngress.next.l3_routing_vlan",
3403 "id" : 38,
3404 "runtime_data" : [
3405 {
3406 "name" : "port_num",
3407 "bitwidth" : 9
3408 },
3409 {
3410 "name" : "smac",
3411 "bitwidth" : 48
3412 },
3413 {
3414 "name" : "dmac",
3415 "bitwidth" : 48
3416 },
3417 {
3418 "name" : "new_vlan_id",
3419 "bitwidth" : 12
3420 }
3421 ],
3422 "primitives" : [
3423 {
3424 "op" : "assign",
3425 "parameters" : [
3426 {
3427 "type" : "field",
3428 "value" : ["ethernet", "src_addr"]
3429 },
3430 {
3431 "type" : "runtime_data",
3432 "value" : 1
3433 }
3434 ],
3435 "source_info" : {
3436 "filename" : "include/control/next.p4",
3437 "line" : 37,
3438 "column" : 8,
3439 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3440 }
3441 },
3442 {
3443 "op" : "assign",
3444 "parameters" : [
3445 {
3446 "type" : "field",
3447 "value" : ["ethernet", "dst_addr"]
3448 },
3449 {
3450 "type" : "runtime_data",
3451 "value" : 2
3452 }
3453 ],
3454 "source_info" : {
3455 "filename" : "include/control/next.p4",
3456 "line" : 41,
3457 "column" : 8,
3458 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3459 }
3460 },
3461 {
3462 "op" : "assign",
3463 "parameters" : [
3464 {
3465 "type" : "field",
3466 "value" : ["vlan_tag", "vlan_id"]
3467 },
3468 {
3469 "type" : "runtime_data",
3470 "value" : 3
3471 }
3472 ],
3473 "source_info" : {
3474 "filename" : "include/control/next.p4",
3475 "line" : 90,
3476 "column" : 8,
3477 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3478 }
3479 },
3480 {
3481 "op" : "assign",
3482 "parameters" : [
3483 {
3484 "type" : "field",
3485 "value" : ["standard_metadata", "egress_spec"]
3486 },
3487 {
3488 "type" : "runtime_data",
3489 "value" : 0
3490 }
3491 ],
3492 "source_info" : {
3493 "filename" : "include/control/next.p4",
3494 "line" : 85,
3495 "column" : 8,
3496 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3497 }
3498 }
3499 ]
3500 },
3501 {
3502 "name" : "FabricIngress.next.l3_routing_hashed",
3503 "id" : 39,
3504 "runtime_data" : [
3505 {
3506 "name" : "port_num",
3507 "bitwidth" : 9
3508 },
3509 {
3510 "name" : "smac",
3511 "bitwidth" : 48
3512 },
3513 {
3514 "name" : "dmac",
3515 "bitwidth" : 48
3516 }
3517 ],
3518 "primitives" : [
3519 {
3520 "op" : "assign",
3521 "parameters" : [
3522 {
3523 "type" : "field",
3524 "value" : ["ethernet", "src_addr"]
3525 },
3526 {
3527 "type" : "runtime_data",
3528 "value" : 1
3529 }
3530 ],
3531 "source_info" : {
3532 "filename" : "include/control/next.p4",
3533 "line" : 37,
3534 "column" : 8,
3535 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3536 }
3537 },
3538 {
3539 "op" : "assign",
3540 "parameters" : [
3541 {
3542 "type" : "field",
3543 "value" : ["ethernet", "dst_addr"]
3544 },
3545 {
3546 "type" : "runtime_data",
3547 "value" : 2
3548 }
3549 ],
3550 "source_info" : {
3551 "filename" : "include/control/next.p4",
3552 "line" : 41,
3553 "column" : 8,
3554 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3555 }
3556 },
3557 {
3558 "op" : "assign",
3559 "parameters" : [
3560 {
3561 "type" : "field",
3562 "value" : ["standard_metadata", "egress_spec"]
3563 },
3564 {
3565 "type" : "runtime_data",
3566 "value" : 0
3567 }
3568 ],
3569 "source_info" : {
3570 "filename" : "include/control/next.p4",
3571 "line" : 149,
3572 "column" : 8,
3573 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3574 }
3575 }
3576 ]
3577 },
3578 {
3579 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003580 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003581 "runtime_data" : [
3582 {
3583 "name" : "port_num",
3584 "bitwidth" : 9
3585 },
3586 {
3587 "name" : "smac",
3588 "bitwidth" : 48
3589 },
3590 {
3591 "name" : "dmac",
3592 "bitwidth" : 48
3593 },
3594 {
3595 "name" : "label",
3596 "bitwidth" : 20
3597 }
3598 ],
3599 "primitives" : [
3600 {
3601 "op" : "assign",
3602 "parameters" : [
3603 {
3604 "type" : "field",
3605 "value" : ["ethernet", "src_addr"]
3606 },
3607 {
3608 "type" : "runtime_data",
3609 "value" : 1
3610 }
3611 ],
3612 "source_info" : {
3613 "filename" : "include/control/next.p4",
3614 "line" : 37,
3615 "column" : 8,
3616 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3617 }
3618 },
3619 {
3620 "op" : "assign",
3621 "parameters" : [
3622 {
3623 "type" : "field",
3624 "value" : ["ethernet", "dst_addr"]
3625 },
3626 {
3627 "type" : "runtime_data",
3628 "value" : 2
3629 }
3630 ],
3631 "source_info" : {
3632 "filename" : "include/control/next.p4",
3633 "line" : 41,
3634 "column" : 8,
3635 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3636 }
3637 },
3638 {
3639 "op" : "assign",
3640 "parameters" : [
3641 {
3642 "type" : "field",
3643 "value" : ["standard_metadata", "egress_spec"]
3644 },
3645 {
3646 "type" : "runtime_data",
3647 "value" : 0
3648 }
3649 ],
3650 "source_info" : {
3651 "filename" : "include/control/next.p4",
3652 "line" : 149,
3653 "column" : 8,
3654 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3655 }
3656 },
3657 {
3658 "op" : "add_header",
3659 "parameters" : [
3660 {
3661 "type" : "header",
3662 "value" : "mpls"
3663 }
3664 ],
3665 "source_info" : {
3666 "filename" : "include/control/next.p4",
3667 "line" : 46,
3668 "column" : 8,
3669 "source_fragment" : "hdr.mpls.setValid()"
3670 }
3671 },
3672 {
3673 "op" : "assign",
3674 "parameters" : [
3675 {
3676 "type" : "field",
3677 "value" : ["vlan_tag", "ether_type"]
3678 },
3679 {
3680 "type" : "hexstr",
3681 "value" : "0x8847"
3682 }
3683 ],
3684 "source_info" : {
3685 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003686 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003687 "column" : 31,
3688 "source_fragment" : "0x8847; ..."
3689 }
3690 },
3691 {
3692 "op" : "assign",
3693 "parameters" : [
3694 {
3695 "type" : "field",
3696 "value" : ["mpls", "label"]
3697 },
3698 {
3699 "type" : "runtime_data",
3700 "value" : 3
3701 }
3702 ],
3703 "source_info" : {
3704 "filename" : "include/control/next.p4",
3705 "line" : 48,
3706 "column" : 8,
3707 "source_fragment" : "hdr.mpls.label = label; ..."
3708 }
3709 },
3710 {
3711 "op" : "assign",
3712 "parameters" : [
3713 {
3714 "type" : "field",
3715 "value" : ["mpls", "tc"]
3716 },
3717 {
3718 "type" : "hexstr",
3719 "value" : "0x00"
3720 }
3721 ],
3722 "source_info" : {
3723 "filename" : "include/control/next.p4",
3724 "line" : 49,
3725 "column" : 8,
3726 "source_fragment" : "hdr.mpls.tc = tc; ..."
3727 }
3728 },
3729 {
3730 "op" : "assign",
3731 "parameters" : [
3732 {
3733 "type" : "field",
3734 "value" : ["mpls", "bos"]
3735 },
3736 {
3737 "type" : "hexstr",
3738 "value" : "0x01"
3739 }
3740 ],
3741 "source_info" : {
3742 "filename" : "include/control/next.p4",
3743 "line" : 50,
3744 "column" : 8,
3745 "source_fragment" : "hdr.mpls.bos = 1w1"
3746 }
3747 },
3748 {
3749 "op" : "assign",
3750 "parameters" : [
3751 {
3752 "type" : "field",
3753 "value" : ["mpls", "ttl"]
3754 },
3755 {
3756 "type" : "hexstr",
3757 "value" : "0x40"
3758 }
3759 ],
3760 "source_info" : {
3761 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003762 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003763 "column" : 32,
3764 "source_fragment" : "64; ..."
3765 }
3766 }
3767 ]
3768 },
3769 {
Charles Chancd03f072018-08-31 17:46:37 -07003770 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003771 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003772 "runtime_data" : [
3773 {
Charles Chancd03f072018-08-31 17:46:37 -07003774 "name" : "port_num",
3775 "bitwidth" : 9
3776 },
3777 {
3778 "name" : "smac",
3779 "bitwidth" : 48
3780 },
3781 {
3782 "name" : "dmac",
3783 "bitwidth" : 48
3784 },
3785 {
3786 "name" : "label",
3787 "bitwidth" : 20
3788 }
3789 ],
3790 "primitives" : [
3791 {
3792 "op" : "assign",
3793 "parameters" : [
3794 {
3795 "type" : "field",
3796 "value" : ["ethernet", "src_addr"]
3797 },
3798 {
3799 "type" : "runtime_data",
3800 "value" : 1
3801 }
3802 ],
3803 "source_info" : {
3804 "filename" : "include/control/next.p4",
3805 "line" : 37,
3806 "column" : 8,
3807 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3808 }
3809 },
3810 {
3811 "op" : "assign",
3812 "parameters" : [
3813 {
3814 "type" : "field",
3815 "value" : ["ethernet", "dst_addr"]
3816 },
3817 {
3818 "type" : "runtime_data",
3819 "value" : 2
3820 }
3821 ],
3822 "source_info" : {
3823 "filename" : "include/control/next.p4",
3824 "line" : 41,
3825 "column" : 8,
3826 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3827 }
3828 },
3829 {
3830 "op" : "assign",
3831 "parameters" : [
3832 {
3833 "type" : "field",
3834 "value" : ["standard_metadata", "egress_spec"]
3835 },
3836 {
3837 "type" : "runtime_data",
3838 "value" : 0
3839 }
3840 ],
3841 "source_info" : {
3842 "filename" : "include/control/next.p4",
3843 "line" : 149,
3844 "column" : 8,
3845 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3846 }
3847 },
3848 {
3849 "op" : "add_header",
3850 "parameters" : [
3851 {
3852 "type" : "header",
3853 "value" : "mpls"
3854 }
3855 ],
3856 "source_info" : {
3857 "filename" : "include/control/next.p4",
3858 "line" : 46,
3859 "column" : 8,
3860 "source_fragment" : "hdr.mpls.setValid()"
3861 }
3862 },
3863 {
3864 "op" : "assign",
3865 "parameters" : [
3866 {
3867 "type" : "field",
3868 "value" : ["vlan_tag", "ether_type"]
3869 },
3870 {
3871 "type" : "hexstr",
3872 "value" : "0x8847"
3873 }
3874 ],
3875 "source_info" : {
3876 "filename" : "include/control/../define.p4",
3877 "line" : 90,
3878 "column" : 31,
3879 "source_fragment" : "0x8847; ..."
3880 }
3881 },
3882 {
3883 "op" : "assign",
3884 "parameters" : [
3885 {
3886 "type" : "field",
3887 "value" : ["mpls", "label"]
3888 },
3889 {
3890 "type" : "runtime_data",
3891 "value" : 3
3892 }
3893 ],
3894 "source_info" : {
3895 "filename" : "include/control/next.p4",
3896 "line" : 48,
3897 "column" : 8,
3898 "source_fragment" : "hdr.mpls.label = label; ..."
3899 }
3900 },
3901 {
3902 "op" : "assign",
3903 "parameters" : [
3904 {
3905 "type" : "field",
3906 "value" : ["mpls", "tc"]
3907 },
3908 {
3909 "type" : "hexstr",
3910 "value" : "0x00"
3911 }
3912 ],
3913 "source_info" : {
3914 "filename" : "include/control/next.p4",
3915 "line" : 49,
3916 "column" : 8,
3917 "source_fragment" : "hdr.mpls.tc = tc; ..."
3918 }
3919 },
3920 {
3921 "op" : "assign",
3922 "parameters" : [
3923 {
3924 "type" : "field",
3925 "value" : ["mpls", "bos"]
3926 },
3927 {
3928 "type" : "hexstr",
3929 "value" : "0x01"
3930 }
3931 ],
3932 "source_info" : {
3933 "filename" : "include/control/next.p4",
3934 "line" : 50,
3935 "column" : 8,
3936 "source_fragment" : "hdr.mpls.bos = 1w1"
3937 }
3938 },
3939 {
3940 "op" : "assign",
3941 "parameters" : [
3942 {
3943 "type" : "field",
3944 "value" : ["mpls", "ttl"]
3945 },
3946 {
3947 "type" : "hexstr",
3948 "value" : "0x40"
3949 }
3950 ],
3951 "source_info" : {
3952 "filename" : "include/control/../define.p4",
3953 "line" : 113,
3954 "column" : 32,
3955 "source_fragment" : "64; ..."
3956 }
3957 }
3958 ]
3959 },
3960 {
3961 "name" : "FabricIngress.next.set_mcast_group",
3962 "id" : 42,
3963 "runtime_data" : [
3964 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003965 "name" : "gid",
3966 "bitwidth" : 16
3967 }
3968 ],
3969 "primitives" : [
3970 {
3971 "op" : "assign",
3972 "parameters" : [
3973 {
3974 "type" : "field",
3975 "value" : ["standard_metadata", "mcast_grp"]
3976 },
3977 {
3978 "type" : "runtime_data",
3979 "value" : 0
3980 }
3981 ],
3982 "source_info" : {
3983 "filename" : "include/control/next.p4",
3984 "line" : 202,
3985 "column" : 8,
3986 "source_fragment" : "standard_metadata.mcast_grp = gid"
3987 }
3988 },
3989 {
3990 "op" : "assign",
3991 "parameters" : [
3992 {
3993 "type" : "field",
3994 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
3995 },
3996 {
3997 "type" : "expression",
3998 "value" : {
3999 "type" : "expression",
4000 "value" : {
4001 "op" : "b2d",
4002 "left" : null,
4003 "right" : {
4004 "type" : "bool",
4005 "value" : true
4006 }
4007 }
4008 }
4009 }
4010 ],
4011 "source_info" : {
4012 "filename" : "include/control/next.p4",
4013 "line" : 203,
4014 "column" : 8,
4015 "source_fragment" : "fabric_metadata.is_multicast = true"
4016 }
4017 }
4018 ]
4019 },
4020 {
4021 "name" : "act",
Charles Chancd03f072018-08-31 17:46:37 -07004022 "id" : 43,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004023 "runtime_data" : [],
4024 "primitives" : [
4025 {
4026 "op" : "assign",
4027 "parameters" : [
4028 {
4029 "type" : "field",
4030 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4031 },
4032 {
4033 "type" : "expression",
4034 "value" : {
4035 "type" : "expression",
4036 "value" : {
4037 "op" : "b2d",
4038 "left" : null,
4039 "right" : {
4040 "type" : "bool",
4041 "value" : true
4042 }
4043 }
4044 }
4045 }
4046 ],
4047 "source_info" : {
4048 "filename" : "include/spgw.p4",
4049 "line" : 30,
4050 "column" : 32,
4051 "source_fragment" : "return"
4052 }
4053 }
4054 ]
4055 },
4056 {
4057 "name" : "act_0",
Charles Chancd03f072018-08-31 17:46:37 -07004058 "id" : 44,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004059 "runtime_data" : [],
4060 "primitives" : [
4061 {
4062 "op" : "remove_header",
4063 "parameters" : [
4064 {
4065 "type" : "header",
4066 "value" : "gtpu_ipv4"
4067 }
4068 ],
4069 "source_info" : {
4070 "filename" : "fabric.p4",
4071 "line" : 52,
4072 "column" : 50,
4073 "source_fragment" : "hdr.gtpu_ipv4"
4074 }
4075 },
4076 {
4077 "op" : "remove_header",
4078 "parameters" : [
4079 {
4080 "type" : "header",
4081 "value" : "gtpu_udp"
4082 }
4083 ],
4084 "source_info" : {
4085 "filename" : "fabric.p4",
4086 "line" : 52,
4087 "column" : 65,
4088 "source_fragment" : "hdr.gtpu_udp"
4089 }
4090 },
4091 {
4092 "op" : "assign",
4093 "parameters" : [
4094 {
4095 "type" : "field",
4096 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4097 },
4098 {
4099 "type" : "expression",
4100 "value" : {
4101 "type" : "expression",
4102 "value" : {
4103 "op" : "b2d",
4104 "left" : null,
4105 "right" : {
4106 "type" : "bool",
4107 "value" : false
4108 }
4109 }
4110 }
4111 }
4112 ]
4113 }
4114 ]
4115 },
4116 {
4117 "name" : "act_1",
Charles Chancd03f072018-08-31 17:46:37 -07004118 "id" : 45,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004119 "runtime_data" : [],
4120 "primitives" : [
4121 {
4122 "op" : "assign_header",
4123 "parameters" : [
4124 {
4125 "type" : "header",
4126 "value" : "udp"
4127 },
4128 {
4129 "type" : "header",
4130 "value" : "inner_udp"
4131 }
4132 ],
4133 "source_info" : {
4134 "filename" : "include/spgw.p4",
4135 "line" : 35,
4136 "column" : 16,
4137 "source_fragment" : "= inner_udp; ..."
4138 }
4139 }
4140 ]
4141 },
4142 {
4143 "name" : "act_2",
Charles Chancd03f072018-08-31 17:46:37 -07004144 "id" : 46,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004145 "runtime_data" : [],
4146 "primitives" : [
4147 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004148 "op" : "remove_header",
4149 "parameters" : [
4150 {
4151 "type" : "header",
4152 "value" : "udp"
4153 }
4154 ],
4155 "source_info" : {
4156 "filename" : "include/spgw.p4",
4157 "line" : 37,
4158 "column" : 12,
4159 "source_fragment" : "udp.setInvalid()"
4160 }
4161 }
4162 ]
4163 },
4164 {
4165 "name" : "act_3",
Charles Chancd03f072018-08-31 17:46:37 -07004166 "id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004167 "runtime_data" : [],
4168 "primitives" : [
4169 {
4170 "op" : "assign_header",
4171 "parameters" : [
4172 {
4173 "type" : "header",
4174 "value" : "gtpu_ipv4"
4175 },
4176 {
4177 "type" : "header",
4178 "value" : "ipv4"
4179 }
4180 ],
4181 "source_info" : {
4182 "filename" : "include/spgw.p4",
4183 "line" : 31,
4184 "column" : 18,
4185 "source_fragment" : "= ipv4; ..."
4186 }
4187 },
4188 {
4189 "op" : "assign_header",
4190 "parameters" : [
4191 {
4192 "type" : "header",
4193 "value" : "ipv4"
4194 },
4195 {
4196 "type" : "header",
4197 "value" : "inner_ipv4"
4198 }
4199 ],
4200 "source_info" : {
4201 "filename" : "include/spgw.p4",
4202 "line" : 32,
4203 "column" : 13,
4204 "source_fragment" : "= inner_ipv4; ..."
4205 }
4206 },
4207 {
4208 "op" : "assign_header",
4209 "parameters" : [
4210 {
4211 "type" : "header",
4212 "value" : "gtpu_udp"
4213 },
4214 {
4215 "type" : "header",
4216 "value" : "udp"
4217 }
4218 ],
4219 "source_info" : {
4220 "filename" : "include/spgw.p4",
4221 "line" : 33,
4222 "column" : 17,
4223 "source_fragment" : "= udp; ..."
4224 }
4225 }
4226 ]
4227 },
4228 {
4229 "name" : "act_4",
Charles Chancd03f072018-08-31 17:46:37 -07004230 "id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004231 "runtime_data" : [],
4232 "primitives" : [
4233 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004234 "op" : "assign",
4235 "parameters" : [
4236 {
4237 "type" : "field",
4238 "value" : ["standard_metadata", "egress_spec"]
4239 },
4240 {
4241 "type" : "field",
4242 "value" : ["packet_out", "egress_port"]
4243 }
4244 ],
4245 "source_info" : {
4246 "filename" : "include/control/packetio.p4",
4247 "line" : 26,
4248 "column" : 12,
4249 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4250 }
4251 },
4252 {
4253 "op" : "remove_header",
4254 "parameters" : [
4255 {
4256 "type" : "header",
4257 "value" : "packet_out"
4258 }
4259 ],
4260 "source_info" : {
4261 "filename" : "include/control/packetio.p4",
4262 "line" : 27,
4263 "column" : 12,
4264 "source_fragment" : "hdr.packet_out.setInvalid()"
4265 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07004266 },
4267 {
4268 "op" : "assign",
4269 "parameters" : [
4270 {
4271 "type" : "field",
4272 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
4273 },
4274 {
4275 "type" : "expression",
4276 "value" : {
4277 "type" : "expression",
4278 "value" : {
4279 "op" : "b2d",
4280 "left" : null,
4281 "right" : {
4282 "type" : "bool",
4283 "value" : true
4284 }
4285 }
4286 }
4287 }
4288 ],
4289 "source_info" : {
4290 "filename" : "include/control/packetio.p4",
4291 "line" : 28,
4292 "column" : 12,
4293 "source_fragment" : "fabric_metadata.is_controller_packet_out = true"
4294 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004295 }
4296 ]
4297 },
4298 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004299 "name" : "act_5",
Charles Chancd03f072018-08-31 17:46:37 -07004300 "id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004301 "runtime_data" : [],
4302 "primitives" : [
4303 {
4304 "op" : "assign",
4305 "parameters" : [
4306 {
4307 "type" : "field",
4308 "value" : ["scalars", "spgw_ingress_tmp_1"]
4309 },
4310 {
4311 "type" : "expression",
4312 "value" : {
4313 "type" : "expression",
4314 "value" : {
4315 "op" : "b2d",
4316 "left" : null,
4317 "right" : {
4318 "type" : "bool",
4319 "value" : true
4320 }
4321 }
4322 }
4323 }
4324 ]
4325 }
4326 ]
4327 },
4328 {
4329 "name" : "act_6",
Charles Chancd03f072018-08-31 17:46:37 -07004330 "id" : 50,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004331 "runtime_data" : [],
4332 "primitives" : [
4333 {
4334 "op" : "assign",
4335 "parameters" : [
4336 {
4337 "type" : "field",
4338 "value" : ["scalars", "spgw_ingress_tmp_1"]
4339 },
4340 {
4341 "type" : "expression",
4342 "value" : {
4343 "type" : "expression",
4344 "value" : {
4345 "op" : "b2d",
4346 "left" : null,
4347 "right" : {
4348 "type" : "bool",
4349 "value" : false
4350 }
4351 }
4352 }
4353 }
4354 ]
4355 }
4356 ]
4357 },
4358 {
4359 "name" : "act_7",
Charles Chancd03f072018-08-31 17:46:37 -07004360 "id" : 51,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004361 "runtime_data" : [],
4362 "primitives" : [
4363 {
4364 "op" : "assign",
4365 "parameters" : [
4366 {
4367 "type" : "field",
4368 "value" : ["userMetadata.spgw", "direction"]
4369 },
4370 {
4371 "type" : "hexstr",
4372 "value" : "0x01"
4373 }
4374 ],
4375 "source_info" : {
4376 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004377 "line" : 119,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004378 "column" : 36,
4379 "source_fragment" : "2w1; ..."
4380 }
4381 }
4382 ]
4383 },
4384 {
4385 "name" : "act_8",
Charles Chancd03f072018-08-31 17:46:37 -07004386 "id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004387 "runtime_data" : [],
4388 "primitives" : [
4389 {
4390 "op" : "assign",
4391 "parameters" : [
4392 {
4393 "type" : "field",
4394 "value" : ["scalars", "spgw_ingress_tmp_2"]
4395 },
4396 {
4397 "type" : "expression",
4398 "value" : {
4399 "type" : "expression",
4400 "value" : {
4401 "op" : "b2d",
4402 "left" : null,
4403 "right" : {
4404 "type" : "bool",
4405 "value" : true
4406 }
4407 }
4408 }
4409 }
4410 ]
4411 }
4412 ]
4413 },
4414 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004415 "name" : "act_9",
Charles Chancd03f072018-08-31 17:46:37 -07004416 "id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004417 "runtime_data" : [],
4418 "primitives" : [
4419 {
4420 "op" : "assign",
4421 "parameters" : [
4422 {
4423 "type" : "field",
4424 "value" : ["scalars", "spgw_ingress_tmp_2"]
4425 },
4426 {
4427 "type" : "expression",
4428 "value" : {
4429 "type" : "expression",
4430 "value" : {
4431 "op" : "b2d",
4432 "left" : null,
4433 "right" : {
4434 "type" : "bool",
4435 "value" : false
4436 }
4437 }
4438 }
4439 }
4440 ]
4441 }
4442 ]
4443 },
4444 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004445 "name" : "act_10",
Charles Chancd03f072018-08-31 17:46:37 -07004446 "id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004447 "runtime_data" : [],
4448 "primitives" : [
4449 {
4450 "op" : "assign",
4451 "parameters" : [
4452 {
4453 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004454 "value" : ["userMetadata.spgw", "direction"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004455 },
4456 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004457 "type" : "hexstr",
4458 "value" : "0x02"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004459 }
4460 ],
4461 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004462 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004463 "line" : 120,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004464 "column" : 38,
4465 "source_fragment" : "2w2; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004466 }
4467 }
4468 ]
4469 },
4470 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004471 "name" : "act_11",
Charles Chancd03f072018-08-31 17:46:37 -07004472 "id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004473 "runtime_data" : [],
4474 "primitives" : [
4475 {
4476 "op" : "assign",
4477 "parameters" : [
4478 {
4479 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004480 "value" : ["userMetadata.spgw", "direction"]
4481 },
4482 {
4483 "type" : "hexstr",
4484 "value" : "0x00"
4485 }
4486 ],
4487 "source_info" : {
4488 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004489 "line" : 118,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004490 "column" : 37,
4491 "source_fragment" : "2w0; ..."
4492 }
4493 },
4494 {
4495 "op" : "assign",
4496 "parameters" : [
4497 {
4498 "type" : "field",
4499 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004500 },
4501 {
4502 "type" : "expression",
4503 "value" : {
4504 "type" : "expression",
4505 "value" : {
4506 "op" : "b2d",
4507 "left" : null,
4508 "right" : {
4509 "type" : "bool",
4510 "value" : true
4511 }
4512 }
4513 }
4514 }
4515 ],
4516 "source_info" : {
4517 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004518 "line" : 153,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004519 "column" : 12,
4520 "source_fragment" : "return"
4521 }
4522 }
4523 ]
4524 },
4525 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004526 "name" : "act_12",
Charles Chancd03f072018-08-31 17:46:37 -07004527 "id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004528 "runtime_data" : [],
4529 "primitives" : [
4530 {
4531 "op" : "assign",
4532 "parameters" : [
4533 {
4534 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004535 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004536 },
4537 {
4538 "type" : "expression",
4539 "value" : {
4540 "type" : "expression",
4541 "value" : {
4542 "op" : "b2d",
4543 "left" : null,
4544 "right" : {
4545 "type" : "bool",
4546 "value" : false
4547 }
4548 }
4549 }
4550 }
4551 ]
4552 }
4553 ]
4554 },
4555 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004556 "name" : "act_13",
Charles Chancd03f072018-08-31 17:46:37 -07004557 "id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004558 "runtime_data" : [],
4559 "primitives" : [
4560 {
4561 "op" : "assign",
4562 "parameters" : [
4563 {
4564 "type" : "field",
4565 "value" : ["userMetadata.spgw", "ipv4_len"]
4566 },
4567 {
4568 "type" : "field",
4569 "value" : ["ipv4", "total_len"]
4570 }
4571 ],
4572 "source_info" : {
4573 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004574 "line" : 170,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004575 "column" : 8,
4576 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4577 }
4578 }
4579 ]
4580 },
4581 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004582 "name" : "act_14",
Charles Chancd03f072018-08-31 17:46:37 -07004583 "id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004584 "runtime_data" : [],
4585 "primitives" : [
4586 {
4587 "op" : "assign",
4588 "parameters" : [
4589 {
4590 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004591 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004592 },
4593 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004594 "type" : "expression",
4595 "value" : {
4596 "type" : "expression",
4597 "value" : {
4598 "op" : "b2d",
4599 "left" : null,
4600 "right" : {
4601 "type" : "bool",
4602 "value" : true
4603 }
4604 }
4605 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004606 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004607 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004608 }
4609 ]
4610 },
4611 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004612 "name" : "act_15",
Charles Chancd03f072018-08-31 17:46:37 -07004613 "id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004614 "runtime_data" : [],
4615 "primitives" : [
4616 {
4617 "op" : "assign",
4618 "parameters" : [
4619 {
4620 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004621 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004622 },
4623 {
4624 "type" : "expression",
4625 "value" : {
4626 "type" : "expression",
4627 "value" : {
4628 "op" : "b2d",
4629 "left" : null,
4630 "right" : {
4631 "type" : "bool",
4632 "value" : false
4633 }
4634 }
4635 }
4636 }
4637 ]
4638 }
4639 ]
4640 },
4641 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004642 "name" : "act_16",
Charles Chancd03f072018-08-31 17:46:37 -07004643 "id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004644 "runtime_data" : [],
4645 "primitives" : [
4646 {
4647 "op" : "assign",
4648 "parameters" : [
4649 {
4650 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004651 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004652 },
4653 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004654 "type" : "hexstr",
4655 "value" : "0x07"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004656 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004657 ],
4658 "source_info" : {
4659 "filename" : "include/control/../define.p4",
4660 "line" : 109,
4661 "column" : 31,
4662 "source_fragment" : "7; ..."
4663 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004664 }
4665 ]
4666 },
4667 {
4668 "name" : "act_17",
Charles Chancd03f072018-08-31 17:46:37 -07004669 "id" : 61,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004670 "runtime_data" : [],
4671 "primitives" : [
4672 {
4673 "op" : "assign",
4674 "parameters" : [
4675 {
4676 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004677 "value" : ["vlan_tag", "ether_type"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004678 },
4679 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004680 "type" : "hexstr",
4681 "value" : "0x0800"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004682 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004683 ],
4684 "source_info" : {
4685 "filename" : "include/control/../define.p4",
4686 "line" : 92,
4687 "column" : 31,
4688 "source_fragment" : "0x0800; ..."
4689 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004690 }
4691 ]
4692 },
4693 {
4694 "name" : "act_18",
Charles Chancd03f072018-08-31 17:46:37 -07004695 "id" : 62,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004696 "runtime_data" : [],
4697 "primitives" : [
4698 {
4699 "op" : "assign",
4700 "parameters" : [
4701 {
4702 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004703 "value" : ["scalars", "next_hasReturned_0"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004704 },
4705 {
4706 "type" : "expression",
4707 "value" : {
4708 "type" : "expression",
4709 "value" : {
4710 "op" : "b2d",
4711 "left" : null,
4712 "right" : {
4713 "type" : "bool",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004714 "value" : false
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004715 }
4716 }
4717 }
4718 }
4719 ]
4720 }
4721 ]
4722 },
4723 {
4724 "name" : "act_19",
Charles Chancd03f072018-08-31 17:46:37 -07004725 "id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004726 "runtime_data" : [],
4727 "primitives" : [
4728 {
4729 "op" : "assign",
4730 "parameters" : [
4731 {
4732 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004733 "value" : ["scalars", "next_tmp_4"]
4734 },
4735 {
4736 "type" : "expression",
4737 "value" : {
4738 "type" : "expression",
4739 "value" : {
4740 "op" : "b2d",
4741 "left" : null,
4742 "right" : {
4743 "type" : "bool",
4744 "value" : true
4745 }
4746 }
4747 }
4748 }
4749 ]
4750 }
4751 ]
4752 },
4753 {
4754 "name" : "act_20",
Charles Chancd03f072018-08-31 17:46:37 -07004755 "id" : 64,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004756 "runtime_data" : [],
4757 "primitives" : [
4758 {
4759 "op" : "assign",
4760 "parameters" : [
4761 {
4762 "type" : "field",
4763 "value" : ["scalars", "next_tmp_4"]
4764 },
4765 {
4766 "type" : "expression",
4767 "value" : {
4768 "type" : "expression",
4769 "value" : {
4770 "op" : "b2d",
4771 "left" : null,
4772 "right" : {
4773 "type" : "bool",
4774 "value" : false
4775 }
4776 }
4777 }
4778 }
4779 ]
4780 }
4781 ]
4782 },
4783 {
4784 "name" : "act_21",
Charles Chancd03f072018-08-31 17:46:37 -07004785 "id" : 65,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004786 "runtime_data" : [],
4787 "primitives" : [
4788 {
4789 "op" : "assign",
4790 "parameters" : [
4791 {
4792 "type" : "field",
4793 "value" : ["scalars", "next_tmp_3"]
4794 },
4795 {
4796 "type" : "expression",
4797 "value" : {
4798 "type" : "expression",
4799 "value" : {
4800 "op" : "b2d",
4801 "left" : null,
4802 "right" : {
4803 "type" : "bool",
4804 "value" : true
4805 }
4806 }
4807 }
4808 }
4809 ]
4810 }
4811 ]
4812 },
4813 {
4814 "name" : "act_22",
Charles Chancd03f072018-08-31 17:46:37 -07004815 "id" : 66,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004816 "runtime_data" : [],
4817 "primitives" : [
4818 {
4819 "op" : "assign",
4820 "parameters" : [
4821 {
4822 "type" : "field",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004823 "value" : ["scalars", "next_tmp_3"]
4824 },
4825 {
4826 "type" : "expression",
4827 "value" : {
4828 "type" : "expression",
4829 "value" : {
4830 "op" : "b2d",
4831 "left" : null,
4832 "right" : {
4833 "type" : "bool",
4834 "value" : false
4835 }
4836 }
4837 }
4838 }
4839 ]
4840 }
4841 ]
4842 },
4843 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004844 "name" : "act_23",
Charles Chancd03f072018-08-31 17:46:37 -07004845 "id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004846 "runtime_data" : [],
4847 "primitives" : [
4848 {
4849 "op" : "assign",
4850 "parameters" : [
4851 {
4852 "type" : "field",
4853 "value" : ["scalars", "next_tmp_2"]
4854 },
4855 {
4856 "type" : "expression",
4857 "value" : {
4858 "type" : "expression",
4859 "value" : {
4860 "op" : "b2d",
4861 "left" : null,
4862 "right" : {
4863 "type" : "bool",
4864 "value" : true
4865 }
4866 }
4867 }
4868 }
4869 ]
4870 }
4871 ]
4872 },
4873 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004874 "name" : "act_24",
Charles Chancd03f072018-08-31 17:46:37 -07004875 "id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004876 "runtime_data" : [],
4877 "primitives" : [
4878 {
4879 "op" : "assign",
4880 "parameters" : [
4881 {
4882 "type" : "field",
4883 "value" : ["scalars", "next_tmp_2"]
4884 },
4885 {
4886 "type" : "expression",
4887 "value" : {
4888 "type" : "expression",
4889 "value" : {
4890 "op" : "b2d",
4891 "left" : null,
4892 "right" : {
4893 "type" : "bool",
4894 "value" : false
4895 }
4896 }
4897 }
4898 }
4899 ]
4900 }
4901 ]
4902 },
4903 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004904 "name" : "act_25",
Charles Chancd03f072018-08-31 17:46:37 -07004905 "id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004906 "runtime_data" : [],
4907 "primitives" : [
4908 {
4909 "op" : "assign",
4910 "parameters" : [
4911 {
4912 "type" : "field",
4913 "value" : ["scalars", "next_hasReturned_0"]
4914 },
4915 {
4916 "type" : "expression",
4917 "value" : {
4918 "type" : "expression",
4919 "value" : {
4920 "op" : "b2d",
4921 "left" : null,
4922 "right" : {
4923 "type" : "bool",
4924 "value" : true
4925 }
4926 }
4927 }
4928 }
4929 ],
4930 "source_info" : {
4931 "filename" : "include/control/next.p4",
4932 "line" : 223,
4933 "column" : 20,
4934 "source_fragment" : "return"
4935 }
4936 }
4937 ]
4938 },
4939 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004940 "name" : "act_26",
Charles Chancd03f072018-08-31 17:46:37 -07004941 "id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004942 "runtime_data" : [],
4943 "primitives" : [
4944 {
4945 "op" : "assign",
4946 "parameters" : [
4947 {
4948 "type" : "field",
4949 "value" : ["ipv4", "ttl"]
4950 },
4951 {
4952 "type" : "expression",
4953 "value" : {
4954 "type" : "expression",
4955 "value" : {
4956 "op" : "&",
4957 "left" : {
4958 "type" : "expression",
4959 "value" : {
4960 "op" : "+",
4961 "left" : {
4962 "type" : "field",
4963 "value" : ["ipv4", "ttl"]
4964 },
4965 "right" : {
4966 "type" : "hexstr",
4967 "value" : "0xff"
4968 }
4969 }
4970 },
4971 "right" : {
4972 "type" : "hexstr",
4973 "value" : "0xff"
4974 }
4975 }
4976 }
4977 }
4978 ],
4979 "source_info" : {
4980 "filename" : "include/control/next.p4",
4981 "line" : 230,
4982 "column" : 16,
4983 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4984 }
4985 }
4986 ]
4987 },
4988 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004989 "name" : "act_27",
Charles Chancd03f072018-08-31 17:46:37 -07004990 "id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004991 "runtime_data" : [],
4992 "primitives" : [
4993 {
4994 "op" : "assign",
4995 "parameters" : [
4996 {
4997 "type" : "field",
4998 "value" : ["ipv6", "hop_limit"]
4999 },
5000 {
5001 "type" : "expression",
5002 "value" : {
5003 "type" : "expression",
5004 "value" : {
5005 "op" : "&",
5006 "left" : {
5007 "type" : "expression",
5008 "value" : {
5009 "op" : "+",
5010 "left" : {
5011 "type" : "field",
5012 "value" : ["ipv6", "hop_limit"]
5013 },
5014 "right" : {
5015 "type" : "hexstr",
5016 "value" : "0xff"
5017 }
5018 }
5019 },
5020 "right" : {
5021 "type" : "hexstr",
5022 "value" : "0xff"
5023 }
5024 }
5025 }
5026 }
5027 ],
5028 "source_info" : {
5029 "filename" : "include/control/next.p4",
5030 "line" : 234,
5031 "column" : 16,
5032 "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
5033 }
5034 }
5035 ]
5036 },
5037 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005038 "name" : "act_28",
Charles Chancd03f072018-08-31 17:46:37 -07005039 "id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005040 "runtime_data" : [],
5041 "primitives" : [
5042 {
5043 "op" : "assign",
5044 "parameters" : [
5045 {
5046 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005047 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005048 },
5049 {
5050 "type" : "expression",
5051 "value" : {
5052 "type" : "expression",
5053 "value" : {
5054 "op" : "&",
5055 "left" : {
5056 "type" : "field",
5057 "value" : ["standard_metadata", "egress_spec"]
5058 },
5059 "right" : {
5060 "type" : "hexstr",
5061 "value" : "0xffffffff"
5062 }
5063 }
5064 }
5065 }
5066 ],
5067 "source_info" : {
5068 "filename" : "include/control/port_counter.p4",
5069 "line" : 28,
5070 "column" : 38,
5071 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5072 }
5073 },
5074 {
5075 "op" : "count",
5076 "parameters" : [
5077 {
5078 "type" : "counter_array",
5079 "value" : "FabricIngress.port_counters_control.egress_port_counter"
5080 },
5081 {
5082 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005083 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005084 }
5085 ],
5086 "source_info" : {
5087 "filename" : "include/control/port_counter.p4",
5088 "line" : 28,
5089 "column" : 12,
5090 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5091 }
5092 }
5093 ]
5094 },
5095 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005096 "name" : "act_29",
Charles Chancd03f072018-08-31 17:46:37 -07005097 "id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005098 "runtime_data" : [],
5099 "primitives" : [
5100 {
5101 "op" : "assign",
5102 "parameters" : [
5103 {
5104 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005105 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005106 },
5107 {
5108 "type" : "expression",
5109 "value" : {
5110 "type" : "expression",
5111 "value" : {
5112 "op" : "&",
5113 "left" : {
5114 "type" : "field",
5115 "value" : ["standard_metadata", "ingress_port"]
5116 },
5117 "right" : {
5118 "type" : "hexstr",
5119 "value" : "0xffffffff"
5120 }
5121 }
5122 }
5123 }
5124 ],
5125 "source_info" : {
5126 "filename" : "include/control/port_counter.p4",
5127 "line" : 31,
5128 "column" : 39,
5129 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5130 }
5131 },
5132 {
5133 "op" : "count",
5134 "parameters" : [
5135 {
5136 "type" : "counter_array",
5137 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
5138 },
5139 {
5140 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005141 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005142 }
5143 ],
5144 "source_info" : {
5145 "filename" : "include/control/port_counter.p4",
5146 "line" : 31,
5147 "column" : 12,
5148 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5149 }
5150 }
5151 ]
5152 },
5153 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005154 "name" : "act_30",
Charles Chancd03f072018-08-31 17:46:37 -07005155 "id" : 74,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005156 "runtime_data" : [],
5157 "primitives" : [
5158 {
5159 "op" : "clone_ingress_pkt_to_egress",
5160 "parameters" : [
5161 {
5162 "type" : "hexstr",
5163 "value" : "0x000001f4"
5164 },
5165 {
5166 "type" : "hexstr",
5167 "value" : "0x1"
5168 }
5169 ]
5170 }
5171 ]
5172 },
5173 {
5174 "name" : "NoAction",
Charles Chan384aea22018-08-23 22:08:02 -07005175 "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 Chancd03f072018-08-31 17:46:37 -07005198 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005199 "id" : 79,
5200 "runtime_data" : [],
5201 "primitives" : []
5202 },
5203 {
Charles Chancd03f072018-08-31 17:46:37 -07005204 "name" : "nop",
Charles Chan384aea22018-08-23 22:08:02 -07005205 "id" : 80,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005206 "runtime_data" : [],
Charles Chancd03f072018-08-31 17:46:37 -07005207 "primitives" : []
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005208 },
5209 {
5210 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07005211 "id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005212 "runtime_data" : [],
5213 "primitives" : [
5214 {
5215 "op" : "drop",
5216 "parameters" : [],
5217 "source_info" : {
5218 "filename" : "include/control/../action.p4",
5219 "line" : 24,
5220 "column" : 4,
5221 "source_fragment" : "mark_to_drop()"
5222 }
5223 },
5224 {
5225 "op" : "exit",
5226 "parameters" : [],
5227 "source_info" : {
5228 "filename" : "include/control/../action.p4",
5229 "line" : 25,
5230 "column" : 4,
5231 "source_fragment" : "exit"
5232 }
5233 }
5234 ]
5235 },
5236 {
Charles Chancd03f072018-08-31 17:46:37 -07005237 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07005238 "id" : 82,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005239 "runtime_data" : [],
5240 "primitives" : [
5241 {
Charles Chancd03f072018-08-31 17:46:37 -07005242 "op" : "drop",
5243 "parameters" : [],
5244 "source_info" : {
5245 "filename" : "include/control/../action.p4",
5246 "line" : 24,
5247 "column" : 4,
5248 "source_fragment" : "mark_to_drop()"
5249 }
5250 },
5251 {
5252 "op" : "exit",
5253 "parameters" : [],
5254 "source_info" : {
5255 "filename" : "include/control/../action.p4",
5256 "line" : 25,
5257 "column" : 4,
5258 "source_fragment" : "exit"
5259 }
5260 }
5261 ]
5262 },
5263 {
5264 "name" : "FabricEgress.spgw_egress.gtpu_encap",
5265 "id" : 83,
5266 "runtime_data" : [],
5267 "primitives" : [
5268 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005269 "op" : "add_header",
5270 "parameters" : [
5271 {
5272 "type" : "header",
5273 "value" : "gtpu_ipv4"
5274 }
5275 ],
5276 "source_info" : {
5277 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005278 "line" : 185,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005279 "column" : 8,
5280 "source_fragment" : "gtpu_ipv4.setValid()"
5281 }
5282 },
5283 {
5284 "op" : "assign",
5285 "parameters" : [
5286 {
5287 "type" : "field",
5288 "value" : ["gtpu_ipv4", "version"]
5289 },
5290 {
5291 "type" : "hexstr",
5292 "value" : "0x04"
5293 }
5294 ],
5295 "source_info" : {
5296 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005297 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005298 "column" : 8,
5299 "source_fragment" : "gtpu_ipv4.version = 4"
5300 }
5301 },
5302 {
5303 "op" : "assign",
5304 "parameters" : [
5305 {
5306 "type" : "field",
5307 "value" : ["gtpu_ipv4", "ihl"]
5308 },
5309 {
5310 "type" : "hexstr",
5311 "value" : "0x05"
5312 }
5313 ],
5314 "source_info" : {
5315 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005316 "line" : 101,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005317 "column" : 28,
5318 "source_fragment" : "5; ..."
5319 }
5320 },
5321 {
5322 "op" : "assign",
5323 "parameters" : [
5324 {
5325 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005326 "value" : ["gtpu_ipv4", "dscp"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005327 },
5328 {
5329 "type" : "hexstr",
5330 "value" : "0x00"
5331 }
5332 ],
5333 "source_info" : {
5334 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005335 "line" : 188,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005336 "column" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005337 "source_fragment" : "gtpu_ipv4.dscp = 0"
5338 }
5339 },
5340 {
5341 "op" : "assign",
5342 "parameters" : [
5343 {
5344 "type" : "field",
5345 "value" : ["gtpu_ipv4", "ecn"]
5346 },
5347 {
5348 "type" : "hexstr",
5349 "value" : "0x00"
5350 }
5351 ],
5352 "source_info" : {
5353 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005354 "line" : 189,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005355 "column" : 8,
5356 "source_fragment" : "gtpu_ipv4.ecn = 0"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005357 }
5358 },
5359 {
5360 "op" : "assign",
5361 "parameters" : [
5362 {
5363 "type" : "field",
5364 "value" : ["gtpu_ipv4", "total_len"]
5365 },
5366 {
5367 "type" : "expression",
5368 "value" : {
5369 "type" : "expression",
5370 "value" : {
5371 "op" : "&",
5372 "left" : {
5373 "type" : "expression",
5374 "value" : {
5375 "op" : "+",
5376 "left" : {
5377 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005378 "value" : ["ipv4", "total_len"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005379 },
5380 "right" : {
5381 "type" : "hexstr",
5382 "value" : "0x0024"
5383 }
5384 }
5385 },
5386 "right" : {
5387 "type" : "hexstr",
5388 "value" : "0xffff"
5389 }
5390 }
5391 }
5392 }
5393 ],
5394 "source_info" : {
5395 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005396 "line" : 190,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005397 "column" : 8,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005398 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005399 }
5400 },
5401 {
5402 "op" : "assign",
5403 "parameters" : [
5404 {
5405 "type" : "field",
5406 "value" : ["gtpu_ipv4", "identification"]
5407 },
5408 {
5409 "type" : "hexstr",
5410 "value" : "0x1513"
5411 }
5412 ],
5413 "source_info" : {
5414 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005415 "line" : 192,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005416 "column" : 8,
5417 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
5418 }
5419 },
5420 {
5421 "op" : "assign",
5422 "parameters" : [
5423 {
5424 "type" : "field",
5425 "value" : ["gtpu_ipv4", "flags"]
5426 },
5427 {
5428 "type" : "hexstr",
5429 "value" : "0x00"
5430 }
5431 ],
5432 "source_info" : {
5433 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005434 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005435 "column" : 8,
5436 "source_fragment" : "gtpu_ipv4.flags = 0"
5437 }
5438 },
5439 {
5440 "op" : "assign",
5441 "parameters" : [
5442 {
5443 "type" : "field",
5444 "value" : ["gtpu_ipv4", "frag_offset"]
5445 },
5446 {
5447 "type" : "hexstr",
5448 "value" : "0x0000"
5449 }
5450 ],
5451 "source_info" : {
5452 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005453 "line" : 194,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005454 "column" : 8,
5455 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
5456 }
5457 },
5458 {
5459 "op" : "assign",
5460 "parameters" : [
5461 {
5462 "type" : "field",
5463 "value" : ["gtpu_ipv4", "ttl"]
5464 },
5465 {
5466 "type" : "hexstr",
5467 "value" : "0x40"
5468 }
5469 ],
5470 "source_info" : {
5471 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005472 "line" : 114,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005473 "column" : 32,
5474 "source_fragment" : "64; ..."
5475 }
5476 },
5477 {
5478 "op" : "assign",
5479 "parameters" : [
5480 {
5481 "type" : "field",
5482 "value" : ["gtpu_ipv4", "protocol"]
5483 },
5484 {
5485 "type" : "hexstr",
5486 "value" : "0x11"
5487 }
5488 ],
5489 "source_info" : {
5490 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005491 "line" : 98,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005492 "column" : 25,
5493 "source_fragment" : "17; ..."
5494 }
5495 },
5496 {
5497 "op" : "assign",
5498 "parameters" : [
5499 {
5500 "type" : "field",
5501 "value" : ["gtpu_ipv4", "dst_addr"]
5502 },
5503 {
5504 "type" : "field",
5505 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5506 }
5507 ],
5508 "source_info" : {
5509 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005510 "line" : 197,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005511 "column" : 8,
5512 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5513 }
5514 },
5515 {
5516 "op" : "assign",
5517 "parameters" : [
5518 {
5519 "type" : "field",
5520 "value" : ["gtpu_ipv4", "src_addr"]
5521 },
5522 {
5523 "type" : "field",
5524 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5525 }
5526 ],
5527 "source_info" : {
5528 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005529 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005530 "column" : 8,
5531 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5532 }
5533 },
5534 {
5535 "op" : "assign",
5536 "parameters" : [
5537 {
5538 "type" : "field",
5539 "value" : ["gtpu_ipv4", "hdr_checksum"]
5540 },
5541 {
5542 "type" : "hexstr",
5543 "value" : "0x0000"
5544 }
5545 ],
5546 "source_info" : {
5547 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005548 "line" : 199,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005549 "column" : 8,
5550 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5551 }
5552 },
5553 {
5554 "op" : "add_header",
5555 "parameters" : [
5556 {
5557 "type" : "header",
5558 "value" : "gtpu_udp"
5559 }
5560 ],
5561 "source_info" : {
5562 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005563 "line" : 201,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005564 "column" : 8,
5565 "source_fragment" : "gtpu_udp.setValid()"
5566 }
5567 },
5568 {
5569 "op" : "assign",
5570 "parameters" : [
5571 {
5572 "type" : "field",
5573 "value" : ["gtpu_udp", "src_port"]
5574 },
5575 {
5576 "type" : "hexstr",
5577 "value" : "0x0868"
5578 }
5579 ],
5580 "source_info" : {
5581 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005582 "line" : 202,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005583 "column" : 8,
5584 "source_fragment" : "gtpu_udp.src_port = 2152"
5585 }
5586 },
5587 {
5588 "op" : "assign",
5589 "parameters" : [
5590 {
5591 "type" : "field",
5592 "value" : ["gtpu_udp", "dst_port"]
5593 },
5594 {
5595 "type" : "hexstr",
5596 "value" : "0x0868"
5597 }
5598 ],
5599 "source_info" : {
5600 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005601 "line" : 203,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005602 "column" : 8,
5603 "source_fragment" : "gtpu_udp.dst_port = 2152"
5604 }
5605 },
5606 {
5607 "op" : "assign",
5608 "parameters" : [
5609 {
5610 "type" : "field",
5611 "value" : ["gtpu_udp", "len"]
5612 },
5613 {
5614 "type" : "expression",
5615 "value" : {
5616 "type" : "expression",
5617 "value" : {
5618 "op" : "&",
5619 "left" : {
5620 "type" : "expression",
5621 "value" : {
5622 "op" : "+",
5623 "left" : {
5624 "type" : "field",
5625 "value" : ["userMetadata.spgw", "ipv4_len"]
5626 },
5627 "right" : {
5628 "type" : "hexstr",
5629 "value" : "0x0010"
5630 }
5631 }
5632 },
5633 "right" : {
5634 "type" : "hexstr",
5635 "value" : "0xffff"
5636 }
5637 }
5638 }
5639 }
5640 ],
5641 "source_info" : {
5642 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005643 "line" : 204,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005644 "column" : 8,
5645 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5646 }
5647 },
5648 {
5649 "op" : "assign",
5650 "parameters" : [
5651 {
5652 "type" : "field",
5653 "value" : ["gtpu_udp", "checksum"]
5654 },
5655 {
5656 "type" : "hexstr",
5657 "value" : "0x0000"
5658 }
5659 ],
5660 "source_info" : {
5661 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005662 "line" : 206,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005663 "column" : 8,
5664 "source_fragment" : "gtpu_udp.checksum = 0"
5665 }
5666 },
5667 {
5668 "op" : "add_header",
5669 "parameters" : [
5670 {
5671 "type" : "header",
5672 "value" : "gtpu"
5673 }
5674 ],
5675 "source_info" : {
5676 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005677 "line" : 208,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005678 "column" : 8,
5679 "source_fragment" : "gtpu.setValid()"
5680 }
5681 },
5682 {
5683 "op" : "assign",
5684 "parameters" : [
5685 {
5686 "type" : "field",
5687 "value" : ["gtpu", "version"]
5688 },
5689 {
5690 "type" : "hexstr",
5691 "value" : "0x01"
5692 }
5693 ],
5694 "source_info" : {
5695 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005696 "line" : 209,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005697 "column" : 8,
5698 "source_fragment" : "gtpu.version = 0x01"
5699 }
5700 },
5701 {
5702 "op" : "assign",
5703 "parameters" : [
5704 {
5705 "type" : "field",
5706 "value" : ["gtpu", "pt"]
5707 },
5708 {
5709 "type" : "hexstr",
5710 "value" : "0x01"
5711 }
5712 ],
5713 "source_info" : {
5714 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005715 "line" : 210,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005716 "column" : 8,
5717 "source_fragment" : "gtpu.pt = 0x01"
5718 }
5719 },
5720 {
5721 "op" : "assign",
5722 "parameters" : [
5723 {
5724 "type" : "field",
5725 "value" : ["gtpu", "spare"]
5726 },
5727 {
5728 "type" : "hexstr",
5729 "value" : "0x00"
5730 }
5731 ],
5732 "source_info" : {
5733 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005734 "line" : 211,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005735 "column" : 8,
5736 "source_fragment" : "gtpu.spare = 0"
5737 }
5738 },
5739 {
5740 "op" : "assign",
5741 "parameters" : [
5742 {
5743 "type" : "field",
5744 "value" : ["gtpu", "ex_flag"]
5745 },
5746 {
5747 "type" : "hexstr",
5748 "value" : "0x00"
5749 }
5750 ],
5751 "source_info" : {
5752 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005753 "line" : 212,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005754 "column" : 8,
5755 "source_fragment" : "gtpu.ex_flag = 0"
5756 }
5757 },
5758 {
5759 "op" : "assign",
5760 "parameters" : [
5761 {
5762 "type" : "field",
5763 "value" : ["gtpu", "seq_flag"]
5764 },
5765 {
5766 "type" : "hexstr",
5767 "value" : "0x00"
5768 }
5769 ],
5770 "source_info" : {
5771 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005772 "line" : 213,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005773 "column" : 8,
5774 "source_fragment" : "gtpu.seq_flag = 0"
5775 }
5776 },
5777 {
5778 "op" : "assign",
5779 "parameters" : [
5780 {
5781 "type" : "field",
5782 "value" : ["gtpu", "npdu_flag"]
5783 },
5784 {
5785 "type" : "hexstr",
5786 "value" : "0x00"
5787 }
5788 ],
5789 "source_info" : {
5790 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005791 "line" : 214,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005792 "column" : 8,
5793 "source_fragment" : "gtpu.npdu_flag = 0"
5794 }
5795 },
5796 {
5797 "op" : "assign",
5798 "parameters" : [
5799 {
5800 "type" : "field",
5801 "value" : ["gtpu", "msgtype"]
5802 },
5803 {
5804 "type" : "hexstr",
5805 "value" : "0xff"
5806 }
5807 ],
5808 "source_info" : {
5809 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005810 "line" : 215,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005811 "column" : 8,
5812 "source_fragment" : "gtpu.msgtype = 0xff"
5813 }
5814 },
5815 {
5816 "op" : "assign",
5817 "parameters" : [
5818 {
5819 "type" : "field",
5820 "value" : ["gtpu", "msglen"]
5821 },
5822 {
5823 "type" : "field",
5824 "value" : ["userMetadata.spgw", "ipv4_len"]
5825 }
5826 ],
5827 "source_info" : {
5828 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005829 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005830 "column" : 8,
5831 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5832 }
5833 },
5834 {
5835 "op" : "assign",
5836 "parameters" : [
5837 {
5838 "type" : "field",
5839 "value" : ["gtpu", "teid"]
5840 },
5841 {
5842 "type" : "field",
5843 "value" : ["userMetadata.spgw", "teid"]
5844 }
5845 ],
5846 "source_info" : {
5847 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005848 "line" : 217,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005849 "column" : 8,
5850 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5851 }
5852 }
5853 ]
5854 },
5855 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005856 "name" : "FabricEgress.process_int_source.int_source_dscp",
Charles Chancd03f072018-08-31 17:46:37 -07005857 "id" : 84,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005858 "runtime_data" : [
5859 {
5860 "name" : "max_hop",
5861 "bitwidth" : 8
5862 },
5863 {
5864 "name" : "ins_cnt",
5865 "bitwidth" : 5
5866 },
5867 {
5868 "name" : "ins_mask0003",
5869 "bitwidth" : 4
5870 },
5871 {
5872 "name" : "ins_mask0407",
5873 "bitwidth" : 4
5874 }
5875 ],
5876 "primitives" : [
5877 {
5878 "op" : "add_header",
5879 "parameters" : [
5880 {
5881 "type" : "header",
5882 "value" : "intl4_shim"
5883 }
5884 ],
5885 "source_info" : {
5886 "filename" : "include/int_source.p4",
5887 "line" : 31,
5888 "column" : 8,
5889 "source_fragment" : "hdr.intl4_shim.setValid()"
5890 }
5891 },
5892 {
5893 "op" : "assign",
5894 "parameters" : [
5895 {
5896 "type" : "field",
5897 "value" : ["intl4_shim", "int_type"]
5898 },
5899 {
5900 "type" : "hexstr",
5901 "value" : "0x01"
5902 }
5903 ],
5904 "source_info" : {
5905 "filename" : "include/int_source.p4",
5906 "line" : 33,
5907 "column" : 8,
5908 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5909 }
5910 },
5911 {
5912 "op" : "assign",
5913 "parameters" : [
5914 {
5915 "type" : "field",
5916 "value" : ["intl4_shim", "len"]
5917 },
5918 {
5919 "type" : "hexstr",
5920 "value" : "0x04"
5921 }
5922 ],
5923 "source_info" : {
5924 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005925 "line" : 127,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005926 "column" : 35,
5927 "source_fragment" : "4; ..."
5928 }
5929 },
5930 {
5931 "op" : "add_header",
5932 "parameters" : [
5933 {
5934 "type" : "header",
5935 "value" : "int_header"
5936 }
5937 ],
5938 "source_info" : {
5939 "filename" : "include/int_source.p4",
5940 "line" : 37,
5941 "column" : 8,
5942 "source_fragment" : "hdr.int_header.setValid()"
5943 }
5944 },
5945 {
5946 "op" : "assign",
5947 "parameters" : [
5948 {
5949 "type" : "field",
5950 "value" : ["int_header", "ver"]
5951 },
5952 {
5953 "type" : "hexstr",
5954 "value" : "0x00"
5955 }
5956 ],
5957 "source_info" : {
5958 "filename" : "include/int_source.p4",
5959 "line" : 38,
5960 "column" : 8,
5961 "source_fragment" : "hdr.int_header.ver = 0"
5962 }
5963 },
5964 {
5965 "op" : "assign",
5966 "parameters" : [
5967 {
5968 "type" : "field",
5969 "value" : ["int_header", "rep"]
5970 },
5971 {
5972 "type" : "hexstr",
5973 "value" : "0x00"
5974 }
5975 ],
5976 "source_info" : {
5977 "filename" : "include/int_source.p4",
5978 "line" : 39,
5979 "column" : 8,
5980 "source_fragment" : "hdr.int_header.rep = 0"
5981 }
5982 },
5983 {
5984 "op" : "assign",
5985 "parameters" : [
5986 {
5987 "type" : "field",
5988 "value" : ["int_header", "c"]
5989 },
5990 {
5991 "type" : "hexstr",
5992 "value" : "0x00"
5993 }
5994 ],
5995 "source_info" : {
5996 "filename" : "include/int_source.p4",
5997 "line" : 40,
5998 "column" : 8,
5999 "source_fragment" : "hdr.int_header.c = 0"
6000 }
6001 },
6002 {
6003 "op" : "assign",
6004 "parameters" : [
6005 {
6006 "type" : "field",
6007 "value" : ["int_header", "e"]
6008 },
6009 {
6010 "type" : "hexstr",
6011 "value" : "0x00"
6012 }
6013 ],
6014 "source_info" : {
6015 "filename" : "include/int_source.p4",
6016 "line" : 41,
6017 "column" : 8,
6018 "source_fragment" : "hdr.int_header.e = 0"
6019 }
6020 },
6021 {
6022 "op" : "assign",
6023 "parameters" : [
6024 {
6025 "type" : "field",
6026 "value" : ["int_header", "rsvd1"]
6027 },
6028 {
6029 "type" : "hexstr",
6030 "value" : "0x00"
6031 }
6032 ],
6033 "source_info" : {
6034 "filename" : "include/int_source.p4",
6035 "line" : 42,
6036 "column" : 8,
6037 "source_fragment" : "hdr.int_header.rsvd1 = 0"
6038 }
6039 },
6040 {
6041 "op" : "assign",
6042 "parameters" : [
6043 {
6044 "type" : "field",
6045 "value" : ["int_header", "ins_cnt"]
6046 },
6047 {
6048 "type" : "runtime_data",
6049 "value" : 1
6050 }
6051 ],
6052 "source_info" : {
6053 "filename" : "include/int_source.p4",
6054 "line" : 43,
6055 "column" : 8,
6056 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
6057 }
6058 },
6059 {
6060 "op" : "assign",
6061 "parameters" : [
6062 {
6063 "type" : "field",
6064 "value" : ["int_header", "max_hop_cnt"]
6065 },
6066 {
6067 "type" : "runtime_data",
6068 "value" : 0
6069 }
6070 ],
6071 "source_info" : {
6072 "filename" : "include/int_source.p4",
6073 "line" : 44,
6074 "column" : 8,
6075 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
6076 }
6077 },
6078 {
6079 "op" : "assign",
6080 "parameters" : [
6081 {
6082 "type" : "field",
6083 "value" : ["int_header", "total_hop_cnt"]
6084 },
6085 {
6086 "type" : "hexstr",
6087 "value" : "0x00"
6088 }
6089 ],
6090 "source_info" : {
6091 "filename" : "include/int_source.p4",
6092 "line" : 45,
6093 "column" : 8,
6094 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
6095 }
6096 },
6097 {
6098 "op" : "assign",
6099 "parameters" : [
6100 {
6101 "type" : "field",
6102 "value" : ["int_header", "instruction_mask_0003"]
6103 },
6104 {
6105 "type" : "runtime_data",
6106 "value" : 2
6107 }
6108 ],
6109 "source_info" : {
6110 "filename" : "include/int_source.p4",
6111 "line" : 46,
6112 "column" : 8,
6113 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
6114 }
6115 },
6116 {
6117 "op" : "assign",
6118 "parameters" : [
6119 {
6120 "type" : "field",
6121 "value" : ["int_header", "instruction_mask_0407"]
6122 },
6123 {
6124 "type" : "runtime_data",
6125 "value" : 3
6126 }
6127 ],
6128 "source_info" : {
6129 "filename" : "include/int_source.p4",
6130 "line" : 47,
6131 "column" : 8,
6132 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
6133 }
6134 },
6135 {
6136 "op" : "assign",
6137 "parameters" : [
6138 {
6139 "type" : "field",
6140 "value" : ["int_header", "instruction_mask_0811"]
6141 },
6142 {
6143 "type" : "hexstr",
6144 "value" : "0x00"
6145 }
6146 ],
6147 "source_info" : {
6148 "filename" : "include/int_source.p4",
6149 "line" : 48,
6150 "column" : 8,
6151 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
6152 }
6153 },
6154 {
6155 "op" : "assign",
6156 "parameters" : [
6157 {
6158 "type" : "field",
6159 "value" : ["int_header", "instruction_mask_1215"]
6160 },
6161 {
6162 "type" : "hexstr",
6163 "value" : "0x00"
6164 }
6165 ],
6166 "source_info" : {
6167 "filename" : "include/int_source.p4",
6168 "line" : 49,
6169 "column" : 8,
6170 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
6171 }
6172 },
6173 {
6174 "op" : "add_header",
6175 "parameters" : [
6176 {
6177 "type" : "header",
6178 "value" : "intl4_tail"
6179 }
6180 ],
6181 "source_info" : {
6182 "filename" : "include/int_source.p4",
6183 "line" : 52,
6184 "column" : 8,
6185 "source_fragment" : "hdr.intl4_tail.setValid()"
6186 }
6187 },
6188 {
6189 "op" : "assign",
6190 "parameters" : [
6191 {
6192 "type" : "field",
6193 "value" : ["intl4_tail", "next_proto"]
6194 },
6195 {
6196 "type" : "field",
6197 "value" : ["ipv4", "protocol"]
6198 }
6199 ],
6200 "source_info" : {
6201 "filename" : "include/int_source.p4",
6202 "line" : 53,
6203 "column" : 8,
6204 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
6205 }
6206 },
6207 {
6208 "op" : "assign",
6209 "parameters" : [
6210 {
6211 "type" : "field",
6212 "value" : ["intl4_tail", "dest_port"]
6213 },
6214 {
6215 "type" : "field",
6216 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
6217 }
6218 ],
6219 "source_info" : {
6220 "filename" : "include/int_source.p4",
6221 "line" : 54,
6222 "column" : 8,
6223 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
6224 }
6225 },
6226 {
6227 "op" : "assign",
6228 "parameters" : [
6229 {
6230 "type" : "field",
6231 "value" : ["intl4_tail", "dscp"]
6232 },
6233 {
6234 "type" : "expression",
6235 "value" : {
6236 "type" : "expression",
6237 "value" : {
6238 "op" : "&",
6239 "left" : {
6240 "type" : "field",
6241 "value" : ["ipv4", "dscp"]
6242 },
6243 "right" : {
6244 "type" : "hexstr",
6245 "value" : "0xff"
6246 }
6247 }
6248 }
6249 }
6250 ],
6251 "source_info" : {
6252 "filename" : "include/int_source.p4",
6253 "line" : 55,
6254 "column" : 8,
6255 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
6256 }
6257 },
6258 {
6259 "op" : "assign",
6260 "parameters" : [
6261 {
6262 "type" : "field",
6263 "value" : ["ipv4", "total_len"]
6264 },
6265 {
6266 "type" : "expression",
6267 "value" : {
6268 "type" : "expression",
6269 "value" : {
6270 "op" : "&",
6271 "left" : {
6272 "type" : "expression",
6273 "value" : {
6274 "op" : "+",
6275 "left" : {
6276 "type" : "field",
6277 "value" : ["ipv4", "total_len"]
6278 },
6279 "right" : {
6280 "type" : "hexstr",
6281 "value" : "0x0010"
6282 }
6283 }
6284 },
6285 "right" : {
6286 "type" : "hexstr",
6287 "value" : "0xffff"
6288 }
6289 }
6290 }
6291 }
6292 ],
6293 "source_info" : {
6294 "filename" : "include/int_source.p4",
6295 "line" : 58,
6296 "column" : 8,
6297 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
6298 }
6299 },
6300 {
6301 "op" : "assign",
6302 "parameters" : [
6303 {
6304 "type" : "field",
6305 "value" : ["udp", "len"]
6306 },
6307 {
6308 "type" : "expression",
6309 "value" : {
6310 "type" : "expression",
6311 "value" : {
6312 "op" : "&",
6313 "left" : {
6314 "type" : "expression",
6315 "value" : {
6316 "op" : "+",
6317 "left" : {
6318 "type" : "field",
6319 "value" : ["udp", "len"]
6320 },
6321 "right" : {
6322 "type" : "hexstr",
6323 "value" : "0x0010"
6324 }
6325 }
6326 },
6327 "right" : {
6328 "type" : "hexstr",
6329 "value" : "0xffff"
6330 }
6331 }
6332 }
6333 }
6334 ],
6335 "source_info" : {
6336 "filename" : "include/int_source.p4",
6337 "line" : 59,
6338 "column" : 8,
6339 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
6340 }
6341 },
6342 {
6343 "op" : "assign",
6344 "parameters" : [
6345 {
6346 "type" : "field",
6347 "value" : ["ipv4", "dscp"]
6348 },
6349 {
6350 "type" : "hexstr",
6351 "value" : "0x01"
6352 }
6353 ],
6354 "source_info" : {
6355 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006356 "line" : 125,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006357 "column" : 24,
6358 "source_fragment" : "0x1; ..."
6359 }
6360 }
6361 ]
6362 },
6363 {
6364 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
Charles Chancd03f072018-08-31 17:46:37 -07006365 "id" : 85,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006366 "runtime_data" : [],
6367 "primitives" : [
6368 {
6369 "op" : "assign",
6370 "parameters" : [
6371 {
6372 "type" : "field",
6373 "value" : ["int_header", "total_hop_cnt"]
6374 },
6375 {
6376 "type" : "expression",
6377 "value" : {
6378 "type" : "expression",
6379 "value" : {
6380 "op" : "&",
6381 "left" : {
6382 "type" : "expression",
6383 "value" : {
6384 "op" : "+",
6385 "left" : {
6386 "type" : "field",
6387 "value" : ["int_header", "total_hop_cnt"]
6388 },
6389 "right" : {
6390 "type" : "hexstr",
6391 "value" : "0x01"
6392 }
6393 }
6394 },
6395 "right" : {
6396 "type" : "hexstr",
6397 "value" : "0xff"
6398 }
6399 }
6400 }
6401 }
6402 ],
6403 "source_info" : {
6404 "filename" : "include/int_transit.p4",
6405 "line" : 30,
6406 "column" : 8,
6407 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
6408 }
6409 }
6410 ]
6411 },
6412 {
6413 "name" : "FabricEgress.process_int_transit.int_transit",
Charles Chancd03f072018-08-31 17:46:37 -07006414 "id" : 86,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006415 "runtime_data" : [
6416 {
6417 "name" : "switch_id",
6418 "bitwidth" : 32
6419 }
6420 ],
6421 "primitives" : [
6422 {
6423 "op" : "assign",
6424 "parameters" : [
6425 {
6426 "type" : "field",
6427 "value" : ["userMetadata.int_meta", "switch_id"]
6428 },
6429 {
6430 "type" : "runtime_data",
6431 "value" : 0
6432 }
6433 ],
6434 "source_info" : {
6435 "filename" : "include/int_transit.p4",
6436 "line" : 34,
6437 "column" : 8,
6438 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
6439 }
6440 },
6441 {
6442 "op" : "assign",
6443 "parameters" : [
6444 {
6445 "type" : "field",
6446 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
6447 },
6448 {
6449 "type" : "expression",
6450 "value" : {
6451 "type" : "expression",
6452 "value" : {
6453 "op" : "&",
6454 "left" : {
6455 "type" : "expression",
6456 "value" : {
6457 "op" : "<<",
6458 "left" : {
6459 "type" : "expression",
6460 "value" : {
6461 "op" : "&",
6462 "left" : {
6463 "type" : "field",
6464 "value" : ["int_header", "ins_cnt"]
6465 },
6466 "right" : {
6467 "type" : "hexstr",
6468 "value" : "0xffff"
6469 }
6470 }
6471 },
6472 "right" : {
6473 "type" : "hexstr",
6474 "value" : "0x2"
6475 }
6476 }
6477 },
6478 "right" : {
6479 "type" : "hexstr",
6480 "value" : "0xffff"
6481 }
6482 }
6483 }
6484 }
6485 ],
6486 "source_info" : {
6487 "filename" : "include/int_transit.p4",
6488 "line" : 35,
6489 "column" : 8,
6490 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
6491 }
6492 }
6493 ]
6494 },
6495 {
6496 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
Charles Chancd03f072018-08-31 17:46:37 -07006497 "id" : 87,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006498 "runtime_data" : [],
6499 "primitives" : []
6500 },
6501 {
6502 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
Charles Chancd03f072018-08-31 17:46:37 -07006503 "id" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006504 "runtime_data" : [],
6505 "primitives" : [
6506 {
6507 "op" : "add_header",
6508 "parameters" : [
6509 {
6510 "type" : "header",
6511 "value" : "int_q_occupancy"
6512 }
6513 ],
6514 "source_info" : {
6515 "filename" : "include/int_transit.p4",
6516 "line" : 57,
6517 "column" : 8,
6518 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6519 }
6520 },
6521 {
6522 "op" : "assign",
6523 "parameters" : [
6524 {
6525 "type" : "field",
6526 "value" : ["int_q_occupancy", "q_id"]
6527 },
6528 {
6529 "type" : "hexstr",
6530 "value" : "0x00"
6531 }
6532 ],
6533 "source_info" : {
6534 "filename" : "include/int_transit.p4",
6535 "line" : 58,
6536 "column" : 8,
6537 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6538 }
6539 },
6540 {
6541 "op" : "assign",
6542 "parameters" : [
6543 {
6544 "type" : "field",
6545 "value" : ["int_q_occupancy", "q_occupancy"]
6546 },
6547 {
6548 "type" : "expression",
6549 "value" : {
6550 "type" : "expression",
6551 "value" : {
6552 "op" : "&",
6553 "left" : {
6554 "type" : "field",
6555 "value" : ["standard_metadata", "deq_qdepth"]
6556 },
6557 "right" : {
6558 "type" : "hexstr",
6559 "value" : "0xffffff"
6560 }
6561 }
6562 }
6563 }
6564 ],
6565 "source_info" : {
6566 "filename" : "include/int_transit.p4",
6567 "line" : 61,
6568 "column" : 8,
6569 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6570 }
6571 }
6572 ]
6573 },
6574 {
6575 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
Charles Chancd03f072018-08-31 17:46:37 -07006576 "id" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006577 "runtime_data" : [],
6578 "primitives" : [
6579 {
6580 "op" : "add_header",
6581 "parameters" : [
6582 {
6583 "type" : "header",
6584 "value" : "int_hop_latency"
6585 }
6586 ],
6587 "source_info" : {
6588 "filename" : "include/int_transit.p4",
6589 "line" : 51,
6590 "column" : 8,
6591 "source_fragment" : "hdr.int_hop_latency.setValid()"
6592 }
6593 },
6594 {
6595 "op" : "assign",
6596 "parameters" : [
6597 {
6598 "type" : "field",
6599 "value" : ["int_hop_latency", "hop_latency"]
6600 },
6601 {
6602 "type" : "field",
6603 "value" : ["standard_metadata", "deq_timedelta"]
6604 }
6605 ],
6606 "source_info" : {
6607 "filename" : "include/int_transit.p4",
6608 "line" : 52,
6609 "column" : 8,
6610 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6611 }
6612 }
6613 ]
6614 },
6615 {
6616 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
Charles Chancd03f072018-08-31 17:46:37 -07006617 "id" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006618 "runtime_data" : [],
6619 "primitives" : [
6620 {
6621 "op" : "add_header",
6622 "parameters" : [
6623 {
6624 "type" : "header",
6625 "value" : "int_q_occupancy"
6626 }
6627 ],
6628 "source_info" : {
6629 "filename" : "include/int_transit.p4",
6630 "line" : 57,
6631 "column" : 8,
6632 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6633 }
6634 },
6635 {
6636 "op" : "assign",
6637 "parameters" : [
6638 {
6639 "type" : "field",
6640 "value" : ["int_q_occupancy", "q_id"]
6641 },
6642 {
6643 "type" : "hexstr",
6644 "value" : "0x00"
6645 }
6646 ],
6647 "source_info" : {
6648 "filename" : "include/int_transit.p4",
6649 "line" : 58,
6650 "column" : 8,
6651 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6652 }
6653 },
6654 {
6655 "op" : "assign",
6656 "parameters" : [
6657 {
6658 "type" : "field",
6659 "value" : ["int_q_occupancy", "q_occupancy"]
6660 },
6661 {
6662 "type" : "expression",
6663 "value" : {
6664 "type" : "expression",
6665 "value" : {
6666 "op" : "&",
6667 "left" : {
6668 "type" : "field",
6669 "value" : ["standard_metadata", "deq_qdepth"]
6670 },
6671 "right" : {
6672 "type" : "hexstr",
6673 "value" : "0xffffff"
6674 }
6675 }
6676 }
6677 }
6678 ],
6679 "source_info" : {
6680 "filename" : "include/int_transit.p4",
6681 "line" : 61,
6682 "column" : 8,
6683 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6684 }
6685 },
6686 {
6687 "op" : "add_header",
6688 "parameters" : [
6689 {
6690 "type" : "header",
6691 "value" : "int_hop_latency"
6692 }
6693 ],
6694 "source_info" : {
6695 "filename" : "include/int_transit.p4",
6696 "line" : 51,
6697 "column" : 8,
6698 "source_fragment" : "hdr.int_hop_latency.setValid()"
6699 }
6700 },
6701 {
6702 "op" : "assign",
6703 "parameters" : [
6704 {
6705 "type" : "field",
6706 "value" : ["int_hop_latency", "hop_latency"]
6707 },
6708 {
6709 "type" : "field",
6710 "value" : ["standard_metadata", "deq_timedelta"]
6711 }
6712 ],
6713 "source_info" : {
6714 "filename" : "include/int_transit.p4",
6715 "line" : 52,
6716 "column" : 8,
6717 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6718 }
6719 }
6720 ]
6721 },
6722 {
6723 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
Charles Chancd03f072018-08-31 17:46:37 -07006724 "id" : 91,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006725 "runtime_data" : [],
6726 "primitives" : [
6727 {
6728 "op" : "add_header",
6729 "parameters" : [
6730 {
6731 "type" : "header",
6732 "value" : "int_port_ids"
6733 }
6734 ],
6735 "source_info" : {
6736 "filename" : "include/int_transit.p4",
6737 "line" : 44,
6738 "column" : 8,
6739 "source_fragment" : "hdr.int_port_ids.setValid()"
6740 }
6741 },
6742 {
6743 "op" : "assign",
6744 "parameters" : [
6745 {
6746 "type" : "field",
6747 "value" : ["int_port_ids", "ingress_port_id"]
6748 },
6749 {
6750 "type" : "expression",
6751 "value" : {
6752 "type" : "expression",
6753 "value" : {
6754 "op" : "&",
6755 "left" : {
6756 "type" : "field",
6757 "value" : ["standard_metadata", "ingress_port"]
6758 },
6759 "right" : {
6760 "type" : "hexstr",
6761 "value" : "0xffff"
6762 }
6763 }
6764 }
6765 }
6766 ],
6767 "source_info" : {
6768 "filename" : "include/int_transit.p4",
6769 "line" : 45,
6770 "column" : 8,
6771 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6772 }
6773 },
6774 {
6775 "op" : "assign",
6776 "parameters" : [
6777 {
6778 "type" : "field",
6779 "value" : ["int_port_ids", "egress_port_id"]
6780 },
6781 {
6782 "type" : "expression",
6783 "value" : {
6784 "type" : "expression",
6785 "value" : {
6786 "op" : "&",
6787 "left" : {
6788 "type" : "field",
6789 "value" : ["standard_metadata", "egress_port"]
6790 },
6791 "right" : {
6792 "type" : "hexstr",
6793 "value" : "0xffff"
6794 }
6795 }
6796 }
6797 }
6798 ],
6799 "source_info" : {
6800 "filename" : "include/int_transit.p4",
6801 "line" : 47,
6802 "column" : 8,
6803 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6804 }
6805 }
6806 ]
6807 },
6808 {
6809 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
Charles Chancd03f072018-08-31 17:46:37 -07006810 "id" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006811 "runtime_data" : [],
6812 "primitives" : [
6813 {
6814 "op" : "add_header",
6815 "parameters" : [
6816 {
6817 "type" : "header",
6818 "value" : "int_q_occupancy"
6819 }
6820 ],
6821 "source_info" : {
6822 "filename" : "include/int_transit.p4",
6823 "line" : 57,
6824 "column" : 8,
6825 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6826 }
6827 },
6828 {
6829 "op" : "assign",
6830 "parameters" : [
6831 {
6832 "type" : "field",
6833 "value" : ["int_q_occupancy", "q_id"]
6834 },
6835 {
6836 "type" : "hexstr",
6837 "value" : "0x00"
6838 }
6839 ],
6840 "source_info" : {
6841 "filename" : "include/int_transit.p4",
6842 "line" : 58,
6843 "column" : 8,
6844 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6845 }
6846 },
6847 {
6848 "op" : "assign",
6849 "parameters" : [
6850 {
6851 "type" : "field",
6852 "value" : ["int_q_occupancy", "q_occupancy"]
6853 },
6854 {
6855 "type" : "expression",
6856 "value" : {
6857 "type" : "expression",
6858 "value" : {
6859 "op" : "&",
6860 "left" : {
6861 "type" : "field",
6862 "value" : ["standard_metadata", "deq_qdepth"]
6863 },
6864 "right" : {
6865 "type" : "hexstr",
6866 "value" : "0xffffff"
6867 }
6868 }
6869 }
6870 }
6871 ],
6872 "source_info" : {
6873 "filename" : "include/int_transit.p4",
6874 "line" : 61,
6875 "column" : 8,
6876 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6877 }
6878 },
6879 {
6880 "op" : "add_header",
6881 "parameters" : [
6882 {
6883 "type" : "header",
6884 "value" : "int_port_ids"
6885 }
6886 ],
6887 "source_info" : {
6888 "filename" : "include/int_transit.p4",
6889 "line" : 44,
6890 "column" : 8,
6891 "source_fragment" : "hdr.int_port_ids.setValid()"
6892 }
6893 },
6894 {
6895 "op" : "assign",
6896 "parameters" : [
6897 {
6898 "type" : "field",
6899 "value" : ["int_port_ids", "ingress_port_id"]
6900 },
6901 {
6902 "type" : "expression",
6903 "value" : {
6904 "type" : "expression",
6905 "value" : {
6906 "op" : "&",
6907 "left" : {
6908 "type" : "field",
6909 "value" : ["standard_metadata", "ingress_port"]
6910 },
6911 "right" : {
6912 "type" : "hexstr",
6913 "value" : "0xffff"
6914 }
6915 }
6916 }
6917 }
6918 ],
6919 "source_info" : {
6920 "filename" : "include/int_transit.p4",
6921 "line" : 45,
6922 "column" : 8,
6923 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6924 }
6925 },
6926 {
6927 "op" : "assign",
6928 "parameters" : [
6929 {
6930 "type" : "field",
6931 "value" : ["int_port_ids", "egress_port_id"]
6932 },
6933 {
6934 "type" : "expression",
6935 "value" : {
6936 "type" : "expression",
6937 "value" : {
6938 "op" : "&",
6939 "left" : {
6940 "type" : "field",
6941 "value" : ["standard_metadata", "egress_port"]
6942 },
6943 "right" : {
6944 "type" : "hexstr",
6945 "value" : "0xffff"
6946 }
6947 }
6948 }
6949 }
6950 ],
6951 "source_info" : {
6952 "filename" : "include/int_transit.p4",
6953 "line" : 47,
6954 "column" : 8,
6955 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6956 }
6957 }
6958 ]
6959 },
6960 {
6961 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
Charles Chancd03f072018-08-31 17:46:37 -07006962 "id" : 93,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006963 "runtime_data" : [],
6964 "primitives" : [
6965 {
6966 "op" : "add_header",
6967 "parameters" : [
6968 {
6969 "type" : "header",
6970 "value" : "int_hop_latency"
6971 }
6972 ],
6973 "source_info" : {
6974 "filename" : "include/int_transit.p4",
6975 "line" : 51,
6976 "column" : 8,
6977 "source_fragment" : "hdr.int_hop_latency.setValid()"
6978 }
6979 },
6980 {
6981 "op" : "assign",
6982 "parameters" : [
6983 {
6984 "type" : "field",
6985 "value" : ["int_hop_latency", "hop_latency"]
6986 },
6987 {
6988 "type" : "field",
6989 "value" : ["standard_metadata", "deq_timedelta"]
6990 }
6991 ],
6992 "source_info" : {
6993 "filename" : "include/int_transit.p4",
6994 "line" : 52,
6995 "column" : 8,
6996 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6997 }
6998 },
6999 {
7000 "op" : "add_header",
7001 "parameters" : [
7002 {
7003 "type" : "header",
7004 "value" : "int_port_ids"
7005 }
7006 ],
7007 "source_info" : {
7008 "filename" : "include/int_transit.p4",
7009 "line" : 44,
7010 "column" : 8,
7011 "source_fragment" : "hdr.int_port_ids.setValid()"
7012 }
7013 },
7014 {
7015 "op" : "assign",
7016 "parameters" : [
7017 {
7018 "type" : "field",
7019 "value" : ["int_port_ids", "ingress_port_id"]
7020 },
7021 {
7022 "type" : "expression",
7023 "value" : {
7024 "type" : "expression",
7025 "value" : {
7026 "op" : "&",
7027 "left" : {
7028 "type" : "field",
7029 "value" : ["standard_metadata", "ingress_port"]
7030 },
7031 "right" : {
7032 "type" : "hexstr",
7033 "value" : "0xffff"
7034 }
7035 }
7036 }
7037 }
7038 ],
7039 "source_info" : {
7040 "filename" : "include/int_transit.p4",
7041 "line" : 45,
7042 "column" : 8,
7043 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7044 }
7045 },
7046 {
7047 "op" : "assign",
7048 "parameters" : [
7049 {
7050 "type" : "field",
7051 "value" : ["int_port_ids", "egress_port_id"]
7052 },
7053 {
7054 "type" : "expression",
7055 "value" : {
7056 "type" : "expression",
7057 "value" : {
7058 "op" : "&",
7059 "left" : {
7060 "type" : "field",
7061 "value" : ["standard_metadata", "egress_port"]
7062 },
7063 "right" : {
7064 "type" : "hexstr",
7065 "value" : "0xffff"
7066 }
7067 }
7068 }
7069 }
7070 ],
7071 "source_info" : {
7072 "filename" : "include/int_transit.p4",
7073 "line" : 47,
7074 "column" : 8,
7075 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7076 }
7077 }
7078 ]
7079 },
7080 {
7081 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
Charles Chancd03f072018-08-31 17:46:37 -07007082 "id" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007083 "runtime_data" : [],
7084 "primitives" : [
7085 {
7086 "op" : "add_header",
7087 "parameters" : [
7088 {
7089 "type" : "header",
7090 "value" : "int_q_occupancy"
7091 }
7092 ],
7093 "source_info" : {
7094 "filename" : "include/int_transit.p4",
7095 "line" : 57,
7096 "column" : 8,
7097 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7098 }
7099 },
7100 {
7101 "op" : "assign",
7102 "parameters" : [
7103 {
7104 "type" : "field",
7105 "value" : ["int_q_occupancy", "q_id"]
7106 },
7107 {
7108 "type" : "hexstr",
7109 "value" : "0x00"
7110 }
7111 ],
7112 "source_info" : {
7113 "filename" : "include/int_transit.p4",
7114 "line" : 58,
7115 "column" : 8,
7116 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7117 }
7118 },
7119 {
7120 "op" : "assign",
7121 "parameters" : [
7122 {
7123 "type" : "field",
7124 "value" : ["int_q_occupancy", "q_occupancy"]
7125 },
7126 {
7127 "type" : "expression",
7128 "value" : {
7129 "type" : "expression",
7130 "value" : {
7131 "op" : "&",
7132 "left" : {
7133 "type" : "field",
7134 "value" : ["standard_metadata", "deq_qdepth"]
7135 },
7136 "right" : {
7137 "type" : "hexstr",
7138 "value" : "0xffffff"
7139 }
7140 }
7141 }
7142 }
7143 ],
7144 "source_info" : {
7145 "filename" : "include/int_transit.p4",
7146 "line" : 61,
7147 "column" : 8,
7148 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7149 }
7150 },
7151 {
7152 "op" : "add_header",
7153 "parameters" : [
7154 {
7155 "type" : "header",
7156 "value" : "int_hop_latency"
7157 }
7158 ],
7159 "source_info" : {
7160 "filename" : "include/int_transit.p4",
7161 "line" : 51,
7162 "column" : 8,
7163 "source_fragment" : "hdr.int_hop_latency.setValid()"
7164 }
7165 },
7166 {
7167 "op" : "assign",
7168 "parameters" : [
7169 {
7170 "type" : "field",
7171 "value" : ["int_hop_latency", "hop_latency"]
7172 },
7173 {
7174 "type" : "field",
7175 "value" : ["standard_metadata", "deq_timedelta"]
7176 }
7177 ],
7178 "source_info" : {
7179 "filename" : "include/int_transit.p4",
7180 "line" : 52,
7181 "column" : 8,
7182 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7183 }
7184 },
7185 {
7186 "op" : "add_header",
7187 "parameters" : [
7188 {
7189 "type" : "header",
7190 "value" : "int_port_ids"
7191 }
7192 ],
7193 "source_info" : {
7194 "filename" : "include/int_transit.p4",
7195 "line" : 44,
7196 "column" : 8,
7197 "source_fragment" : "hdr.int_port_ids.setValid()"
7198 }
7199 },
7200 {
7201 "op" : "assign",
7202 "parameters" : [
7203 {
7204 "type" : "field",
7205 "value" : ["int_port_ids", "ingress_port_id"]
7206 },
7207 {
7208 "type" : "expression",
7209 "value" : {
7210 "type" : "expression",
7211 "value" : {
7212 "op" : "&",
7213 "left" : {
7214 "type" : "field",
7215 "value" : ["standard_metadata", "ingress_port"]
7216 },
7217 "right" : {
7218 "type" : "hexstr",
7219 "value" : "0xffff"
7220 }
7221 }
7222 }
7223 }
7224 ],
7225 "source_info" : {
7226 "filename" : "include/int_transit.p4",
7227 "line" : 45,
7228 "column" : 8,
7229 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7230 }
7231 },
7232 {
7233 "op" : "assign",
7234 "parameters" : [
7235 {
7236 "type" : "field",
7237 "value" : ["int_port_ids", "egress_port_id"]
7238 },
7239 {
7240 "type" : "expression",
7241 "value" : {
7242 "type" : "expression",
7243 "value" : {
7244 "op" : "&",
7245 "left" : {
7246 "type" : "field",
7247 "value" : ["standard_metadata", "egress_port"]
7248 },
7249 "right" : {
7250 "type" : "hexstr",
7251 "value" : "0xffff"
7252 }
7253 }
7254 }
7255 }
7256 ],
7257 "source_info" : {
7258 "filename" : "include/int_transit.p4",
7259 "line" : 47,
7260 "column" : 8,
7261 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7262 }
7263 }
7264 ]
7265 },
7266 {
7267 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
Charles Chancd03f072018-08-31 17:46:37 -07007268 "id" : 95,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007269 "runtime_data" : [],
7270 "primitives" : [
7271 {
7272 "op" : "add_header",
7273 "parameters" : [
7274 {
7275 "type" : "header",
7276 "value" : "int_switch_id"
7277 }
7278 ],
7279 "source_info" : {
7280 "filename" : "include/int_transit.p4",
7281 "line" : 40,
7282 "column" : 8,
7283 "source_fragment" : "hdr.int_switch_id.setValid()"
7284 }
7285 },
7286 {
7287 "op" : "assign",
7288 "parameters" : [
7289 {
7290 "type" : "field",
7291 "value" : ["int_switch_id", "switch_id"]
7292 },
7293 {
7294 "type" : "field",
7295 "value" : ["userMetadata.int_meta", "switch_id"]
7296 }
7297 ],
7298 "source_info" : {
7299 "filename" : "include/int_transit.p4",
7300 "line" : 41,
7301 "column" : 8,
7302 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7303 }
7304 }
7305 ]
7306 },
7307 {
7308 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
Charles Chancd03f072018-08-31 17:46:37 -07007309 "id" : 96,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007310 "runtime_data" : [],
7311 "primitives" : [
7312 {
7313 "op" : "add_header",
7314 "parameters" : [
7315 {
7316 "type" : "header",
7317 "value" : "int_q_occupancy"
7318 }
7319 ],
7320 "source_info" : {
7321 "filename" : "include/int_transit.p4",
7322 "line" : 57,
7323 "column" : 8,
7324 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7325 }
7326 },
7327 {
7328 "op" : "assign",
7329 "parameters" : [
7330 {
7331 "type" : "field",
7332 "value" : ["int_q_occupancy", "q_id"]
7333 },
7334 {
7335 "type" : "hexstr",
7336 "value" : "0x00"
7337 }
7338 ],
7339 "source_info" : {
7340 "filename" : "include/int_transit.p4",
7341 "line" : 58,
7342 "column" : 8,
7343 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7344 }
7345 },
7346 {
7347 "op" : "assign",
7348 "parameters" : [
7349 {
7350 "type" : "field",
7351 "value" : ["int_q_occupancy", "q_occupancy"]
7352 },
7353 {
7354 "type" : "expression",
7355 "value" : {
7356 "type" : "expression",
7357 "value" : {
7358 "op" : "&",
7359 "left" : {
7360 "type" : "field",
7361 "value" : ["standard_metadata", "deq_qdepth"]
7362 },
7363 "right" : {
7364 "type" : "hexstr",
7365 "value" : "0xffffff"
7366 }
7367 }
7368 }
7369 }
7370 ],
7371 "source_info" : {
7372 "filename" : "include/int_transit.p4",
7373 "line" : 61,
7374 "column" : 8,
7375 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7376 }
7377 },
7378 {
7379 "op" : "add_header",
7380 "parameters" : [
7381 {
7382 "type" : "header",
7383 "value" : "int_switch_id"
7384 }
7385 ],
7386 "source_info" : {
7387 "filename" : "include/int_transit.p4",
7388 "line" : 40,
7389 "column" : 8,
7390 "source_fragment" : "hdr.int_switch_id.setValid()"
7391 }
7392 },
7393 {
7394 "op" : "assign",
7395 "parameters" : [
7396 {
7397 "type" : "field",
7398 "value" : ["int_switch_id", "switch_id"]
7399 },
7400 {
7401 "type" : "field",
7402 "value" : ["userMetadata.int_meta", "switch_id"]
7403 }
7404 ],
7405 "source_info" : {
7406 "filename" : "include/int_transit.p4",
7407 "line" : 41,
7408 "column" : 8,
7409 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7410 }
7411 }
7412 ]
7413 },
7414 {
7415 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
Charles Chancd03f072018-08-31 17:46:37 -07007416 "id" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007417 "runtime_data" : [],
7418 "primitives" : [
7419 {
7420 "op" : "add_header",
7421 "parameters" : [
7422 {
7423 "type" : "header",
7424 "value" : "int_hop_latency"
7425 }
7426 ],
7427 "source_info" : {
7428 "filename" : "include/int_transit.p4",
7429 "line" : 51,
7430 "column" : 8,
7431 "source_fragment" : "hdr.int_hop_latency.setValid()"
7432 }
7433 },
7434 {
7435 "op" : "assign",
7436 "parameters" : [
7437 {
7438 "type" : "field",
7439 "value" : ["int_hop_latency", "hop_latency"]
7440 },
7441 {
7442 "type" : "field",
7443 "value" : ["standard_metadata", "deq_timedelta"]
7444 }
7445 ],
7446 "source_info" : {
7447 "filename" : "include/int_transit.p4",
7448 "line" : 52,
7449 "column" : 8,
7450 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7451 }
7452 },
7453 {
7454 "op" : "add_header",
7455 "parameters" : [
7456 {
7457 "type" : "header",
7458 "value" : "int_switch_id"
7459 }
7460 ],
7461 "source_info" : {
7462 "filename" : "include/int_transit.p4",
7463 "line" : 40,
7464 "column" : 8,
7465 "source_fragment" : "hdr.int_switch_id.setValid()"
7466 }
7467 },
7468 {
7469 "op" : "assign",
7470 "parameters" : [
7471 {
7472 "type" : "field",
7473 "value" : ["int_switch_id", "switch_id"]
7474 },
7475 {
7476 "type" : "field",
7477 "value" : ["userMetadata.int_meta", "switch_id"]
7478 }
7479 ],
7480 "source_info" : {
7481 "filename" : "include/int_transit.p4",
7482 "line" : 41,
7483 "column" : 8,
7484 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7485 }
7486 }
7487 ]
7488 },
7489 {
7490 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
Charles Chancd03f072018-08-31 17:46:37 -07007491 "id" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007492 "runtime_data" : [],
7493 "primitives" : [
7494 {
7495 "op" : "add_header",
7496 "parameters" : [
7497 {
7498 "type" : "header",
7499 "value" : "int_q_occupancy"
7500 }
7501 ],
7502 "source_info" : {
7503 "filename" : "include/int_transit.p4",
7504 "line" : 57,
7505 "column" : 8,
7506 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7507 }
7508 },
7509 {
7510 "op" : "assign",
7511 "parameters" : [
7512 {
7513 "type" : "field",
7514 "value" : ["int_q_occupancy", "q_id"]
7515 },
7516 {
7517 "type" : "hexstr",
7518 "value" : "0x00"
7519 }
7520 ],
7521 "source_info" : {
7522 "filename" : "include/int_transit.p4",
7523 "line" : 58,
7524 "column" : 8,
7525 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7526 }
7527 },
7528 {
7529 "op" : "assign",
7530 "parameters" : [
7531 {
7532 "type" : "field",
7533 "value" : ["int_q_occupancy", "q_occupancy"]
7534 },
7535 {
7536 "type" : "expression",
7537 "value" : {
7538 "type" : "expression",
7539 "value" : {
7540 "op" : "&",
7541 "left" : {
7542 "type" : "field",
7543 "value" : ["standard_metadata", "deq_qdepth"]
7544 },
7545 "right" : {
7546 "type" : "hexstr",
7547 "value" : "0xffffff"
7548 }
7549 }
7550 }
7551 }
7552 ],
7553 "source_info" : {
7554 "filename" : "include/int_transit.p4",
7555 "line" : 61,
7556 "column" : 8,
7557 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7558 }
7559 },
7560 {
7561 "op" : "add_header",
7562 "parameters" : [
7563 {
7564 "type" : "header",
7565 "value" : "int_hop_latency"
7566 }
7567 ],
7568 "source_info" : {
7569 "filename" : "include/int_transit.p4",
7570 "line" : 51,
7571 "column" : 8,
7572 "source_fragment" : "hdr.int_hop_latency.setValid()"
7573 }
7574 },
7575 {
7576 "op" : "assign",
7577 "parameters" : [
7578 {
7579 "type" : "field",
7580 "value" : ["int_hop_latency", "hop_latency"]
7581 },
7582 {
7583 "type" : "field",
7584 "value" : ["standard_metadata", "deq_timedelta"]
7585 }
7586 ],
7587 "source_info" : {
7588 "filename" : "include/int_transit.p4",
7589 "line" : 52,
7590 "column" : 8,
7591 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7592 }
7593 },
7594 {
7595 "op" : "add_header",
7596 "parameters" : [
7597 {
7598 "type" : "header",
7599 "value" : "int_switch_id"
7600 }
7601 ],
7602 "source_info" : {
7603 "filename" : "include/int_transit.p4",
7604 "line" : 40,
7605 "column" : 8,
7606 "source_fragment" : "hdr.int_switch_id.setValid()"
7607 }
7608 },
7609 {
7610 "op" : "assign",
7611 "parameters" : [
7612 {
7613 "type" : "field",
7614 "value" : ["int_switch_id", "switch_id"]
7615 },
7616 {
7617 "type" : "field",
7618 "value" : ["userMetadata.int_meta", "switch_id"]
7619 }
7620 ],
7621 "source_info" : {
7622 "filename" : "include/int_transit.p4",
7623 "line" : 41,
7624 "column" : 8,
7625 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7626 }
7627 }
7628 ]
7629 },
7630 {
7631 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
Charles Chancd03f072018-08-31 17:46:37 -07007632 "id" : 99,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007633 "runtime_data" : [],
7634 "primitives" : [
7635 {
7636 "op" : "add_header",
7637 "parameters" : [
7638 {
7639 "type" : "header",
7640 "value" : "int_port_ids"
7641 }
7642 ],
7643 "source_info" : {
7644 "filename" : "include/int_transit.p4",
7645 "line" : 44,
7646 "column" : 8,
7647 "source_fragment" : "hdr.int_port_ids.setValid()"
7648 }
7649 },
7650 {
7651 "op" : "assign",
7652 "parameters" : [
7653 {
7654 "type" : "field",
7655 "value" : ["int_port_ids", "ingress_port_id"]
7656 },
7657 {
7658 "type" : "expression",
7659 "value" : {
7660 "type" : "expression",
7661 "value" : {
7662 "op" : "&",
7663 "left" : {
7664 "type" : "field",
7665 "value" : ["standard_metadata", "ingress_port"]
7666 },
7667 "right" : {
7668 "type" : "hexstr",
7669 "value" : "0xffff"
7670 }
7671 }
7672 }
7673 }
7674 ],
7675 "source_info" : {
7676 "filename" : "include/int_transit.p4",
7677 "line" : 45,
7678 "column" : 8,
7679 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7680 }
7681 },
7682 {
7683 "op" : "assign",
7684 "parameters" : [
7685 {
7686 "type" : "field",
7687 "value" : ["int_port_ids", "egress_port_id"]
7688 },
7689 {
7690 "type" : "expression",
7691 "value" : {
7692 "type" : "expression",
7693 "value" : {
7694 "op" : "&",
7695 "left" : {
7696 "type" : "field",
7697 "value" : ["standard_metadata", "egress_port"]
7698 },
7699 "right" : {
7700 "type" : "hexstr",
7701 "value" : "0xffff"
7702 }
7703 }
7704 }
7705 }
7706 ],
7707 "source_info" : {
7708 "filename" : "include/int_transit.p4",
7709 "line" : 47,
7710 "column" : 8,
7711 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7712 }
7713 },
7714 {
7715 "op" : "add_header",
7716 "parameters" : [
7717 {
7718 "type" : "header",
7719 "value" : "int_switch_id"
7720 }
7721 ],
7722 "source_info" : {
7723 "filename" : "include/int_transit.p4",
7724 "line" : 40,
7725 "column" : 8,
7726 "source_fragment" : "hdr.int_switch_id.setValid()"
7727 }
7728 },
7729 {
7730 "op" : "assign",
7731 "parameters" : [
7732 {
7733 "type" : "field",
7734 "value" : ["int_switch_id", "switch_id"]
7735 },
7736 {
7737 "type" : "field",
7738 "value" : ["userMetadata.int_meta", "switch_id"]
7739 }
7740 ],
7741 "source_info" : {
7742 "filename" : "include/int_transit.p4",
7743 "line" : 41,
7744 "column" : 8,
7745 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7746 }
7747 }
7748 ]
7749 },
7750 {
7751 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
Charles Chancd03f072018-08-31 17:46:37 -07007752 "id" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007753 "runtime_data" : [],
7754 "primitives" : [
7755 {
7756 "op" : "add_header",
7757 "parameters" : [
7758 {
7759 "type" : "header",
7760 "value" : "int_q_occupancy"
7761 }
7762 ],
7763 "source_info" : {
7764 "filename" : "include/int_transit.p4",
7765 "line" : 57,
7766 "column" : 8,
7767 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7768 }
7769 },
7770 {
7771 "op" : "assign",
7772 "parameters" : [
7773 {
7774 "type" : "field",
7775 "value" : ["int_q_occupancy", "q_id"]
7776 },
7777 {
7778 "type" : "hexstr",
7779 "value" : "0x00"
7780 }
7781 ],
7782 "source_info" : {
7783 "filename" : "include/int_transit.p4",
7784 "line" : 58,
7785 "column" : 8,
7786 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7787 }
7788 },
7789 {
7790 "op" : "assign",
7791 "parameters" : [
7792 {
7793 "type" : "field",
7794 "value" : ["int_q_occupancy", "q_occupancy"]
7795 },
7796 {
7797 "type" : "expression",
7798 "value" : {
7799 "type" : "expression",
7800 "value" : {
7801 "op" : "&",
7802 "left" : {
7803 "type" : "field",
7804 "value" : ["standard_metadata", "deq_qdepth"]
7805 },
7806 "right" : {
7807 "type" : "hexstr",
7808 "value" : "0xffffff"
7809 }
7810 }
7811 }
7812 }
7813 ],
7814 "source_info" : {
7815 "filename" : "include/int_transit.p4",
7816 "line" : 61,
7817 "column" : 8,
7818 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7819 }
7820 },
7821 {
7822 "op" : "add_header",
7823 "parameters" : [
7824 {
7825 "type" : "header",
7826 "value" : "int_port_ids"
7827 }
7828 ],
7829 "source_info" : {
7830 "filename" : "include/int_transit.p4",
7831 "line" : 44,
7832 "column" : 8,
7833 "source_fragment" : "hdr.int_port_ids.setValid()"
7834 }
7835 },
7836 {
7837 "op" : "assign",
7838 "parameters" : [
7839 {
7840 "type" : "field",
7841 "value" : ["int_port_ids", "ingress_port_id"]
7842 },
7843 {
7844 "type" : "expression",
7845 "value" : {
7846 "type" : "expression",
7847 "value" : {
7848 "op" : "&",
7849 "left" : {
7850 "type" : "field",
7851 "value" : ["standard_metadata", "ingress_port"]
7852 },
7853 "right" : {
7854 "type" : "hexstr",
7855 "value" : "0xffff"
7856 }
7857 }
7858 }
7859 }
7860 ],
7861 "source_info" : {
7862 "filename" : "include/int_transit.p4",
7863 "line" : 45,
7864 "column" : 8,
7865 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7866 }
7867 },
7868 {
7869 "op" : "assign",
7870 "parameters" : [
7871 {
7872 "type" : "field",
7873 "value" : ["int_port_ids", "egress_port_id"]
7874 },
7875 {
7876 "type" : "expression",
7877 "value" : {
7878 "type" : "expression",
7879 "value" : {
7880 "op" : "&",
7881 "left" : {
7882 "type" : "field",
7883 "value" : ["standard_metadata", "egress_port"]
7884 },
7885 "right" : {
7886 "type" : "hexstr",
7887 "value" : "0xffff"
7888 }
7889 }
7890 }
7891 }
7892 ],
7893 "source_info" : {
7894 "filename" : "include/int_transit.p4",
7895 "line" : 47,
7896 "column" : 8,
7897 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7898 }
7899 },
7900 {
7901 "op" : "add_header",
7902 "parameters" : [
7903 {
7904 "type" : "header",
7905 "value" : "int_switch_id"
7906 }
7907 ],
7908 "source_info" : {
7909 "filename" : "include/int_transit.p4",
7910 "line" : 40,
7911 "column" : 8,
7912 "source_fragment" : "hdr.int_switch_id.setValid()"
7913 }
7914 },
7915 {
7916 "op" : "assign",
7917 "parameters" : [
7918 {
7919 "type" : "field",
7920 "value" : ["int_switch_id", "switch_id"]
7921 },
7922 {
7923 "type" : "field",
7924 "value" : ["userMetadata.int_meta", "switch_id"]
7925 }
7926 ],
7927 "source_info" : {
7928 "filename" : "include/int_transit.p4",
7929 "line" : 41,
7930 "column" : 8,
7931 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7932 }
7933 }
7934 ]
7935 },
7936 {
7937 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
Charles Chancd03f072018-08-31 17:46:37 -07007938 "id" : 101,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007939 "runtime_data" : [],
7940 "primitives" : [
7941 {
7942 "op" : "add_header",
7943 "parameters" : [
7944 {
7945 "type" : "header",
7946 "value" : "int_hop_latency"
7947 }
7948 ],
7949 "source_info" : {
7950 "filename" : "include/int_transit.p4",
7951 "line" : 51,
7952 "column" : 8,
7953 "source_fragment" : "hdr.int_hop_latency.setValid()"
7954 }
7955 },
7956 {
7957 "op" : "assign",
7958 "parameters" : [
7959 {
7960 "type" : "field",
7961 "value" : ["int_hop_latency", "hop_latency"]
7962 },
7963 {
7964 "type" : "field",
7965 "value" : ["standard_metadata", "deq_timedelta"]
7966 }
7967 ],
7968 "source_info" : {
7969 "filename" : "include/int_transit.p4",
7970 "line" : 52,
7971 "column" : 8,
7972 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7973 }
7974 },
7975 {
7976 "op" : "add_header",
7977 "parameters" : [
7978 {
7979 "type" : "header",
7980 "value" : "int_port_ids"
7981 }
7982 ],
7983 "source_info" : {
7984 "filename" : "include/int_transit.p4",
7985 "line" : 44,
7986 "column" : 8,
7987 "source_fragment" : "hdr.int_port_ids.setValid()"
7988 }
7989 },
7990 {
7991 "op" : "assign",
7992 "parameters" : [
7993 {
7994 "type" : "field",
7995 "value" : ["int_port_ids", "ingress_port_id"]
7996 },
7997 {
7998 "type" : "expression",
7999 "value" : {
8000 "type" : "expression",
8001 "value" : {
8002 "op" : "&",
8003 "left" : {
8004 "type" : "field",
8005 "value" : ["standard_metadata", "ingress_port"]
8006 },
8007 "right" : {
8008 "type" : "hexstr",
8009 "value" : "0xffff"
8010 }
8011 }
8012 }
8013 }
8014 ],
8015 "source_info" : {
8016 "filename" : "include/int_transit.p4",
8017 "line" : 45,
8018 "column" : 8,
8019 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8020 }
8021 },
8022 {
8023 "op" : "assign",
8024 "parameters" : [
8025 {
8026 "type" : "field",
8027 "value" : ["int_port_ids", "egress_port_id"]
8028 },
8029 {
8030 "type" : "expression",
8031 "value" : {
8032 "type" : "expression",
8033 "value" : {
8034 "op" : "&",
8035 "left" : {
8036 "type" : "field",
8037 "value" : ["standard_metadata", "egress_port"]
8038 },
8039 "right" : {
8040 "type" : "hexstr",
8041 "value" : "0xffff"
8042 }
8043 }
8044 }
8045 }
8046 ],
8047 "source_info" : {
8048 "filename" : "include/int_transit.p4",
8049 "line" : 47,
8050 "column" : 8,
8051 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8052 }
8053 },
8054 {
8055 "op" : "add_header",
8056 "parameters" : [
8057 {
8058 "type" : "header",
8059 "value" : "int_switch_id"
8060 }
8061 ],
8062 "source_info" : {
8063 "filename" : "include/int_transit.p4",
8064 "line" : 40,
8065 "column" : 8,
8066 "source_fragment" : "hdr.int_switch_id.setValid()"
8067 }
8068 },
8069 {
8070 "op" : "assign",
8071 "parameters" : [
8072 {
8073 "type" : "field",
8074 "value" : ["int_switch_id", "switch_id"]
8075 },
8076 {
8077 "type" : "field",
8078 "value" : ["userMetadata.int_meta", "switch_id"]
8079 }
8080 ],
8081 "source_info" : {
8082 "filename" : "include/int_transit.p4",
8083 "line" : 41,
8084 "column" : 8,
8085 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8086 }
8087 }
8088 ]
8089 },
8090 {
8091 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
Charles Chancd03f072018-08-31 17:46:37 -07008092 "id" : 102,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008093 "runtime_data" : [],
8094 "primitives" : [
8095 {
8096 "op" : "add_header",
8097 "parameters" : [
8098 {
8099 "type" : "header",
8100 "value" : "int_q_occupancy"
8101 }
8102 ],
8103 "source_info" : {
8104 "filename" : "include/int_transit.p4",
8105 "line" : 57,
8106 "column" : 8,
8107 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8108 }
8109 },
8110 {
8111 "op" : "assign",
8112 "parameters" : [
8113 {
8114 "type" : "field",
8115 "value" : ["int_q_occupancy", "q_id"]
8116 },
8117 {
8118 "type" : "hexstr",
8119 "value" : "0x00"
8120 }
8121 ],
8122 "source_info" : {
8123 "filename" : "include/int_transit.p4",
8124 "line" : 58,
8125 "column" : 8,
8126 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
8127 }
8128 },
8129 {
8130 "op" : "assign",
8131 "parameters" : [
8132 {
8133 "type" : "field",
8134 "value" : ["int_q_occupancy", "q_occupancy"]
8135 },
8136 {
8137 "type" : "expression",
8138 "value" : {
8139 "type" : "expression",
8140 "value" : {
8141 "op" : "&",
8142 "left" : {
8143 "type" : "field",
8144 "value" : ["standard_metadata", "deq_qdepth"]
8145 },
8146 "right" : {
8147 "type" : "hexstr",
8148 "value" : "0xffffff"
8149 }
8150 }
8151 }
8152 }
8153 ],
8154 "source_info" : {
8155 "filename" : "include/int_transit.p4",
8156 "line" : 61,
8157 "column" : 8,
8158 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
8159 }
8160 },
8161 {
8162 "op" : "add_header",
8163 "parameters" : [
8164 {
8165 "type" : "header",
8166 "value" : "int_hop_latency"
8167 }
8168 ],
8169 "source_info" : {
8170 "filename" : "include/int_transit.p4",
8171 "line" : 51,
8172 "column" : 8,
8173 "source_fragment" : "hdr.int_hop_latency.setValid()"
8174 }
8175 },
8176 {
8177 "op" : "assign",
8178 "parameters" : [
8179 {
8180 "type" : "field",
8181 "value" : ["int_hop_latency", "hop_latency"]
8182 },
8183 {
8184 "type" : "field",
8185 "value" : ["standard_metadata", "deq_timedelta"]
8186 }
8187 ],
8188 "source_info" : {
8189 "filename" : "include/int_transit.p4",
8190 "line" : 52,
8191 "column" : 8,
8192 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
8193 }
8194 },
8195 {
8196 "op" : "add_header",
8197 "parameters" : [
8198 {
8199 "type" : "header",
8200 "value" : "int_port_ids"
8201 }
8202 ],
8203 "source_info" : {
8204 "filename" : "include/int_transit.p4",
8205 "line" : 44,
8206 "column" : 8,
8207 "source_fragment" : "hdr.int_port_ids.setValid()"
8208 }
8209 },
8210 {
8211 "op" : "assign",
8212 "parameters" : [
8213 {
8214 "type" : "field",
8215 "value" : ["int_port_ids", "ingress_port_id"]
8216 },
8217 {
8218 "type" : "expression",
8219 "value" : {
8220 "type" : "expression",
8221 "value" : {
8222 "op" : "&",
8223 "left" : {
8224 "type" : "field",
8225 "value" : ["standard_metadata", "ingress_port"]
8226 },
8227 "right" : {
8228 "type" : "hexstr",
8229 "value" : "0xffff"
8230 }
8231 }
8232 }
8233 }
8234 ],
8235 "source_info" : {
8236 "filename" : "include/int_transit.p4",
8237 "line" : 45,
8238 "column" : 8,
8239 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8240 }
8241 },
8242 {
8243 "op" : "assign",
8244 "parameters" : [
8245 {
8246 "type" : "field",
8247 "value" : ["int_port_ids", "egress_port_id"]
8248 },
8249 {
8250 "type" : "expression",
8251 "value" : {
8252 "type" : "expression",
8253 "value" : {
8254 "op" : "&",
8255 "left" : {
8256 "type" : "field",
8257 "value" : ["standard_metadata", "egress_port"]
8258 },
8259 "right" : {
8260 "type" : "hexstr",
8261 "value" : "0xffff"
8262 }
8263 }
8264 }
8265 }
8266 ],
8267 "source_info" : {
8268 "filename" : "include/int_transit.p4",
8269 "line" : 47,
8270 "column" : 8,
8271 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8272 }
8273 },
8274 {
8275 "op" : "add_header",
8276 "parameters" : [
8277 {
8278 "type" : "header",
8279 "value" : "int_switch_id"
8280 }
8281 ],
8282 "source_info" : {
8283 "filename" : "include/int_transit.p4",
8284 "line" : 40,
8285 "column" : 8,
8286 "source_fragment" : "hdr.int_switch_id.setValid()"
8287 }
8288 },
8289 {
8290 "op" : "assign",
8291 "parameters" : [
8292 {
8293 "type" : "field",
8294 "value" : ["int_switch_id", "switch_id"]
8295 },
8296 {
8297 "type" : "field",
8298 "value" : ["userMetadata.int_meta", "switch_id"]
8299 }
8300 ],
8301 "source_info" : {
8302 "filename" : "include/int_transit.p4",
8303 "line" : 41,
8304 "column" : 8,
8305 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8306 }
8307 }
8308 ]
8309 },
8310 {
8311 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
Charles Chancd03f072018-08-31 17:46:37 -07008312 "id" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008313 "runtime_data" : [],
8314 "primitives" : []
8315 },
8316 {
8317 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
Charles Chancd03f072018-08-31 17:46:37 -07008318 "id" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008319 "runtime_data" : [],
8320 "primitives" : [
8321 {
8322 "op" : "add_header",
8323 "parameters" : [
8324 {
8325 "type" : "header",
8326 "value" : "int_egress_tx_util"
8327 }
8328 ],
8329 "source_info" : {
8330 "filename" : "include/int_transit.p4",
8331 "line" : 88,
8332 "column" : 8,
8333 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8334 }
8335 },
8336 {
8337 "op" : "assign",
8338 "parameters" : [
8339 {
8340 "type" : "field",
8341 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8342 },
8343 {
8344 "type" : "hexstr",
8345 "value" : "0x00000000"
8346 }
8347 ],
8348 "source_info" : {
8349 "filename" : "include/int_transit.p4",
8350 "line" : 89,
8351 "column" : 8,
8352 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8353 }
8354 }
8355 ]
8356 },
8357 {
8358 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
Charles Chancd03f072018-08-31 17:46:37 -07008359 "id" : 105,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008360 "runtime_data" : [],
8361 "primitives" : [
8362 {
8363 "op" : "add_header",
8364 "parameters" : [
8365 {
8366 "type" : "header",
8367 "value" : "int_q_congestion"
8368 }
8369 ],
8370 "source_info" : {
8371 "filename" : "include/int_transit.p4",
8372 "line" : 78,
8373 "column" : 8,
8374 "source_fragment" : "hdr.int_q_congestion.setValid()"
8375 }
8376 },
8377 {
8378 "op" : "assign",
8379 "parameters" : [
8380 {
8381 "type" : "field",
8382 "value" : ["int_q_congestion", "q_id"]
8383 },
8384 {
8385 "type" : "hexstr",
8386 "value" : "0x00"
8387 }
8388 ],
8389 "source_info" : {
8390 "filename" : "include/int_transit.p4",
8391 "line" : 79,
8392 "column" : 8,
8393 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8394 }
8395 },
8396 {
8397 "op" : "assign",
8398 "parameters" : [
8399 {
8400 "type" : "field",
8401 "value" : ["int_q_congestion", "q_congestion"]
8402 },
8403 {
8404 "type" : "hexstr",
8405 "value" : "0x000000"
8406 }
8407 ],
8408 "source_info" : {
8409 "filename" : "include/int_transit.p4",
8410 "line" : 82,
8411 "column" : 8,
8412 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8413 }
8414 }
8415 ]
8416 },
8417 {
8418 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
Charles Chancd03f072018-08-31 17:46:37 -07008419 "id" : 106,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008420 "runtime_data" : [],
8421 "primitives" : [
8422 {
8423 "op" : "add_header",
8424 "parameters" : [
8425 {
8426 "type" : "header",
8427 "value" : "int_egress_tx_util"
8428 }
8429 ],
8430 "source_info" : {
8431 "filename" : "include/int_transit.p4",
8432 "line" : 88,
8433 "column" : 8,
8434 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8435 }
8436 },
8437 {
8438 "op" : "assign",
8439 "parameters" : [
8440 {
8441 "type" : "field",
8442 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8443 },
8444 {
8445 "type" : "hexstr",
8446 "value" : "0x00000000"
8447 }
8448 ],
8449 "source_info" : {
8450 "filename" : "include/int_transit.p4",
8451 "line" : 89,
8452 "column" : 8,
8453 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8454 }
8455 },
8456 {
8457 "op" : "add_header",
8458 "parameters" : [
8459 {
8460 "type" : "header",
8461 "value" : "int_q_congestion"
8462 }
8463 ],
8464 "source_info" : {
8465 "filename" : "include/int_transit.p4",
8466 "line" : 78,
8467 "column" : 8,
8468 "source_fragment" : "hdr.int_q_congestion.setValid()"
8469 }
8470 },
8471 {
8472 "op" : "assign",
8473 "parameters" : [
8474 {
8475 "type" : "field",
8476 "value" : ["int_q_congestion", "q_id"]
8477 },
8478 {
8479 "type" : "hexstr",
8480 "value" : "0x00"
8481 }
8482 ],
8483 "source_info" : {
8484 "filename" : "include/int_transit.p4",
8485 "line" : 79,
8486 "column" : 8,
8487 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8488 }
8489 },
8490 {
8491 "op" : "assign",
8492 "parameters" : [
8493 {
8494 "type" : "field",
8495 "value" : ["int_q_congestion", "q_congestion"]
8496 },
8497 {
8498 "type" : "hexstr",
8499 "value" : "0x000000"
8500 }
8501 ],
8502 "source_info" : {
8503 "filename" : "include/int_transit.p4",
8504 "line" : 82,
8505 "column" : 8,
8506 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8507 }
8508 }
8509 ]
8510 },
8511 {
8512 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
Charles Chancd03f072018-08-31 17:46:37 -07008513 "id" : 107,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008514 "runtime_data" : [],
8515 "primitives" : [
8516 {
8517 "op" : "add_header",
8518 "parameters" : [
8519 {
8520 "type" : "header",
8521 "value" : "int_egress_tstamp"
8522 }
8523 ],
8524 "source_info" : {
8525 "filename" : "include/int_transit.p4",
8526 "line" : 70,
8527 "column" : 8,
8528 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8529 }
8530 },
8531 {
8532 "op" : "assign",
8533 "parameters" : [
8534 {
8535 "type" : "field",
8536 "value" : ["int_egress_tstamp", "egress_tstamp"]
8537 },
8538 {
8539 "type" : "expression",
8540 "value" : {
8541 "type" : "expression",
8542 "value" : {
8543 "op" : "&",
8544 "left" : {
8545 "type" : "expression",
8546 "value" : {
8547 "op" : "+",
8548 "left" : {
8549 "type" : "field",
8550 "value" : ["standard_metadata", "enq_timestamp"]
8551 },
8552 "right" : {
8553 "type" : "field",
8554 "value" : ["standard_metadata", "deq_timedelta"]
8555 }
8556 }
8557 },
8558 "right" : {
8559 "type" : "hexstr",
8560 "value" : "0xffffffff"
8561 }
8562 }
8563 }
8564 }
8565 ],
8566 "source_info" : {
8567 "filename" : "include/int_transit.p4",
8568 "line" : 71,
8569 "column" : 8,
8570 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8571 }
8572 }
8573 ]
8574 },
8575 {
8576 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
Charles Chancd03f072018-08-31 17:46:37 -07008577 "id" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008578 "runtime_data" : [],
8579 "primitives" : [
8580 {
8581 "op" : "add_header",
8582 "parameters" : [
8583 {
8584 "type" : "header",
8585 "value" : "int_egress_tx_util"
8586 }
8587 ],
8588 "source_info" : {
8589 "filename" : "include/int_transit.p4",
8590 "line" : 88,
8591 "column" : 8,
8592 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8593 }
8594 },
8595 {
8596 "op" : "assign",
8597 "parameters" : [
8598 {
8599 "type" : "field",
8600 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8601 },
8602 {
8603 "type" : "hexstr",
8604 "value" : "0x00000000"
8605 }
8606 ],
8607 "source_info" : {
8608 "filename" : "include/int_transit.p4",
8609 "line" : 89,
8610 "column" : 8,
8611 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8612 }
8613 },
8614 {
8615 "op" : "add_header",
8616 "parameters" : [
8617 {
8618 "type" : "header",
8619 "value" : "int_egress_tstamp"
8620 }
8621 ],
8622 "source_info" : {
8623 "filename" : "include/int_transit.p4",
8624 "line" : 70,
8625 "column" : 8,
8626 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8627 }
8628 },
8629 {
8630 "op" : "assign",
8631 "parameters" : [
8632 {
8633 "type" : "field",
8634 "value" : ["int_egress_tstamp", "egress_tstamp"]
8635 },
8636 {
8637 "type" : "expression",
8638 "value" : {
8639 "type" : "expression",
8640 "value" : {
8641 "op" : "&",
8642 "left" : {
8643 "type" : "expression",
8644 "value" : {
8645 "op" : "+",
8646 "left" : {
8647 "type" : "field",
8648 "value" : ["standard_metadata", "enq_timestamp"]
8649 },
8650 "right" : {
8651 "type" : "field",
8652 "value" : ["standard_metadata", "deq_timedelta"]
8653 }
8654 }
8655 },
8656 "right" : {
8657 "type" : "hexstr",
8658 "value" : "0xffffffff"
8659 }
8660 }
8661 }
8662 }
8663 ],
8664 "source_info" : {
8665 "filename" : "include/int_transit.p4",
8666 "line" : 71,
8667 "column" : 8,
8668 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8669 }
8670 }
8671 ]
8672 },
8673 {
8674 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
Charles Chancd03f072018-08-31 17:46:37 -07008675 "id" : 109,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008676 "runtime_data" : [],
8677 "primitives" : [
8678 {
8679 "op" : "add_header",
8680 "parameters" : [
8681 {
8682 "type" : "header",
8683 "value" : "int_q_congestion"
8684 }
8685 ],
8686 "source_info" : {
8687 "filename" : "include/int_transit.p4",
8688 "line" : 78,
8689 "column" : 8,
8690 "source_fragment" : "hdr.int_q_congestion.setValid()"
8691 }
8692 },
8693 {
8694 "op" : "assign",
8695 "parameters" : [
8696 {
8697 "type" : "field",
8698 "value" : ["int_q_congestion", "q_id"]
8699 },
8700 {
8701 "type" : "hexstr",
8702 "value" : "0x00"
8703 }
8704 ],
8705 "source_info" : {
8706 "filename" : "include/int_transit.p4",
8707 "line" : 79,
8708 "column" : 8,
8709 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8710 }
8711 },
8712 {
8713 "op" : "assign",
8714 "parameters" : [
8715 {
8716 "type" : "field",
8717 "value" : ["int_q_congestion", "q_congestion"]
8718 },
8719 {
8720 "type" : "hexstr",
8721 "value" : "0x000000"
8722 }
8723 ],
8724 "source_info" : {
8725 "filename" : "include/int_transit.p4",
8726 "line" : 82,
8727 "column" : 8,
8728 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8729 }
8730 },
8731 {
8732 "op" : "add_header",
8733 "parameters" : [
8734 {
8735 "type" : "header",
8736 "value" : "int_egress_tstamp"
8737 }
8738 ],
8739 "source_info" : {
8740 "filename" : "include/int_transit.p4",
8741 "line" : 70,
8742 "column" : 8,
8743 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8744 }
8745 },
8746 {
8747 "op" : "assign",
8748 "parameters" : [
8749 {
8750 "type" : "field",
8751 "value" : ["int_egress_tstamp", "egress_tstamp"]
8752 },
8753 {
8754 "type" : "expression",
8755 "value" : {
8756 "type" : "expression",
8757 "value" : {
8758 "op" : "&",
8759 "left" : {
8760 "type" : "expression",
8761 "value" : {
8762 "op" : "+",
8763 "left" : {
8764 "type" : "field",
8765 "value" : ["standard_metadata", "enq_timestamp"]
8766 },
8767 "right" : {
8768 "type" : "field",
8769 "value" : ["standard_metadata", "deq_timedelta"]
8770 }
8771 }
8772 },
8773 "right" : {
8774 "type" : "hexstr",
8775 "value" : "0xffffffff"
8776 }
8777 }
8778 }
8779 }
8780 ],
8781 "source_info" : {
8782 "filename" : "include/int_transit.p4",
8783 "line" : 71,
8784 "column" : 8,
8785 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8786 }
8787 }
8788 ]
8789 },
8790 {
8791 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
Charles Chancd03f072018-08-31 17:46:37 -07008792 "id" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008793 "runtime_data" : [],
8794 "primitives" : [
8795 {
8796 "op" : "add_header",
8797 "parameters" : [
8798 {
8799 "type" : "header",
8800 "value" : "int_egress_tx_util"
8801 }
8802 ],
8803 "source_info" : {
8804 "filename" : "include/int_transit.p4",
8805 "line" : 88,
8806 "column" : 8,
8807 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8808 }
8809 },
8810 {
8811 "op" : "assign",
8812 "parameters" : [
8813 {
8814 "type" : "field",
8815 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8816 },
8817 {
8818 "type" : "hexstr",
8819 "value" : "0x00000000"
8820 }
8821 ],
8822 "source_info" : {
8823 "filename" : "include/int_transit.p4",
8824 "line" : 89,
8825 "column" : 8,
8826 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8827 }
8828 },
8829 {
8830 "op" : "add_header",
8831 "parameters" : [
8832 {
8833 "type" : "header",
8834 "value" : "int_q_congestion"
8835 }
8836 ],
8837 "source_info" : {
8838 "filename" : "include/int_transit.p4",
8839 "line" : 78,
8840 "column" : 8,
8841 "source_fragment" : "hdr.int_q_congestion.setValid()"
8842 }
8843 },
8844 {
8845 "op" : "assign",
8846 "parameters" : [
8847 {
8848 "type" : "field",
8849 "value" : ["int_q_congestion", "q_id"]
8850 },
8851 {
8852 "type" : "hexstr",
8853 "value" : "0x00"
8854 }
8855 ],
8856 "source_info" : {
8857 "filename" : "include/int_transit.p4",
8858 "line" : 79,
8859 "column" : 8,
8860 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8861 }
8862 },
8863 {
8864 "op" : "assign",
8865 "parameters" : [
8866 {
8867 "type" : "field",
8868 "value" : ["int_q_congestion", "q_congestion"]
8869 },
8870 {
8871 "type" : "hexstr",
8872 "value" : "0x000000"
8873 }
8874 ],
8875 "source_info" : {
8876 "filename" : "include/int_transit.p4",
8877 "line" : 82,
8878 "column" : 8,
8879 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8880 }
8881 },
8882 {
8883 "op" : "add_header",
8884 "parameters" : [
8885 {
8886 "type" : "header",
8887 "value" : "int_egress_tstamp"
8888 }
8889 ],
8890 "source_info" : {
8891 "filename" : "include/int_transit.p4",
8892 "line" : 70,
8893 "column" : 8,
8894 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8895 }
8896 },
8897 {
8898 "op" : "assign",
8899 "parameters" : [
8900 {
8901 "type" : "field",
8902 "value" : ["int_egress_tstamp", "egress_tstamp"]
8903 },
8904 {
8905 "type" : "expression",
8906 "value" : {
8907 "type" : "expression",
8908 "value" : {
8909 "op" : "&",
8910 "left" : {
8911 "type" : "expression",
8912 "value" : {
8913 "op" : "+",
8914 "left" : {
8915 "type" : "field",
8916 "value" : ["standard_metadata", "enq_timestamp"]
8917 },
8918 "right" : {
8919 "type" : "field",
8920 "value" : ["standard_metadata", "deq_timedelta"]
8921 }
8922 }
8923 },
8924 "right" : {
8925 "type" : "hexstr",
8926 "value" : "0xffffffff"
8927 }
8928 }
8929 }
8930 }
8931 ],
8932 "source_info" : {
8933 "filename" : "include/int_transit.p4",
8934 "line" : 71,
8935 "column" : 8,
8936 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8937 }
8938 }
8939 ]
8940 },
8941 {
8942 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
Charles Chancd03f072018-08-31 17:46:37 -07008943 "id" : 111,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008944 "runtime_data" : [],
8945 "primitives" : [
8946 {
8947 "op" : "add_header",
8948 "parameters" : [
8949 {
8950 "type" : "header",
8951 "value" : "int_ingress_tstamp"
8952 }
8953 ],
8954 "source_info" : {
8955 "filename" : "include/int_transit.p4",
8956 "line" : 65,
8957 "column" : 8,
8958 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8959 }
8960 },
8961 {
8962 "op" : "assign",
8963 "parameters" : [
8964 {
8965 "type" : "field",
8966 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8967 },
8968 {
8969 "type" : "field",
8970 "value" : ["standard_metadata", "enq_timestamp"]
8971 }
8972 ],
8973 "source_info" : {
8974 "filename" : "include/int_transit.p4",
8975 "line" : 66,
8976 "column" : 8,
8977 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8978 }
8979 }
8980 ]
8981 },
8982 {
8983 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
Charles Chancd03f072018-08-31 17:46:37 -07008984 "id" : 112,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008985 "runtime_data" : [],
8986 "primitives" : [
8987 {
8988 "op" : "add_header",
8989 "parameters" : [
8990 {
8991 "type" : "header",
8992 "value" : "int_egress_tx_util"
8993 }
8994 ],
8995 "source_info" : {
8996 "filename" : "include/int_transit.p4",
8997 "line" : 88,
8998 "column" : 8,
8999 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9000 }
9001 },
9002 {
9003 "op" : "assign",
9004 "parameters" : [
9005 {
9006 "type" : "field",
9007 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9008 },
9009 {
9010 "type" : "hexstr",
9011 "value" : "0x00000000"
9012 }
9013 ],
9014 "source_info" : {
9015 "filename" : "include/int_transit.p4",
9016 "line" : 89,
9017 "column" : 8,
9018 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9019 }
9020 },
9021 {
9022 "op" : "add_header",
9023 "parameters" : [
9024 {
9025 "type" : "header",
9026 "value" : "int_ingress_tstamp"
9027 }
9028 ],
9029 "source_info" : {
9030 "filename" : "include/int_transit.p4",
9031 "line" : 65,
9032 "column" : 8,
9033 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9034 }
9035 },
9036 {
9037 "op" : "assign",
9038 "parameters" : [
9039 {
9040 "type" : "field",
9041 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9042 },
9043 {
9044 "type" : "field",
9045 "value" : ["standard_metadata", "enq_timestamp"]
9046 }
9047 ],
9048 "source_info" : {
9049 "filename" : "include/int_transit.p4",
9050 "line" : 66,
9051 "column" : 8,
9052 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9053 }
9054 }
9055 ]
9056 },
9057 {
9058 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
Charles Chancd03f072018-08-31 17:46:37 -07009059 "id" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009060 "runtime_data" : [],
9061 "primitives" : [
9062 {
9063 "op" : "add_header",
9064 "parameters" : [
9065 {
9066 "type" : "header",
9067 "value" : "int_q_congestion"
9068 }
9069 ],
9070 "source_info" : {
9071 "filename" : "include/int_transit.p4",
9072 "line" : 78,
9073 "column" : 8,
9074 "source_fragment" : "hdr.int_q_congestion.setValid()"
9075 }
9076 },
9077 {
9078 "op" : "assign",
9079 "parameters" : [
9080 {
9081 "type" : "field",
9082 "value" : ["int_q_congestion", "q_id"]
9083 },
9084 {
9085 "type" : "hexstr",
9086 "value" : "0x00"
9087 }
9088 ],
9089 "source_info" : {
9090 "filename" : "include/int_transit.p4",
9091 "line" : 79,
9092 "column" : 8,
9093 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9094 }
9095 },
9096 {
9097 "op" : "assign",
9098 "parameters" : [
9099 {
9100 "type" : "field",
9101 "value" : ["int_q_congestion", "q_congestion"]
9102 },
9103 {
9104 "type" : "hexstr",
9105 "value" : "0x000000"
9106 }
9107 ],
9108 "source_info" : {
9109 "filename" : "include/int_transit.p4",
9110 "line" : 82,
9111 "column" : 8,
9112 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9113 }
9114 },
9115 {
9116 "op" : "add_header",
9117 "parameters" : [
9118 {
9119 "type" : "header",
9120 "value" : "int_ingress_tstamp"
9121 }
9122 ],
9123 "source_info" : {
9124 "filename" : "include/int_transit.p4",
9125 "line" : 65,
9126 "column" : 8,
9127 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9128 }
9129 },
9130 {
9131 "op" : "assign",
9132 "parameters" : [
9133 {
9134 "type" : "field",
9135 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9136 },
9137 {
9138 "type" : "field",
9139 "value" : ["standard_metadata", "enq_timestamp"]
9140 }
9141 ],
9142 "source_info" : {
9143 "filename" : "include/int_transit.p4",
9144 "line" : 66,
9145 "column" : 8,
9146 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9147 }
9148 }
9149 ]
9150 },
9151 {
9152 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
Charles Chancd03f072018-08-31 17:46:37 -07009153 "id" : 114,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009154 "runtime_data" : [],
9155 "primitives" : [
9156 {
9157 "op" : "add_header",
9158 "parameters" : [
9159 {
9160 "type" : "header",
9161 "value" : "int_egress_tx_util"
9162 }
9163 ],
9164 "source_info" : {
9165 "filename" : "include/int_transit.p4",
9166 "line" : 88,
9167 "column" : 8,
9168 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9169 }
9170 },
9171 {
9172 "op" : "assign",
9173 "parameters" : [
9174 {
9175 "type" : "field",
9176 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9177 },
9178 {
9179 "type" : "hexstr",
9180 "value" : "0x00000000"
9181 }
9182 ],
9183 "source_info" : {
9184 "filename" : "include/int_transit.p4",
9185 "line" : 89,
9186 "column" : 8,
9187 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9188 }
9189 },
9190 {
9191 "op" : "add_header",
9192 "parameters" : [
9193 {
9194 "type" : "header",
9195 "value" : "int_q_congestion"
9196 }
9197 ],
9198 "source_info" : {
9199 "filename" : "include/int_transit.p4",
9200 "line" : 78,
9201 "column" : 8,
9202 "source_fragment" : "hdr.int_q_congestion.setValid()"
9203 }
9204 },
9205 {
9206 "op" : "assign",
9207 "parameters" : [
9208 {
9209 "type" : "field",
9210 "value" : ["int_q_congestion", "q_id"]
9211 },
9212 {
9213 "type" : "hexstr",
9214 "value" : "0x00"
9215 }
9216 ],
9217 "source_info" : {
9218 "filename" : "include/int_transit.p4",
9219 "line" : 79,
9220 "column" : 8,
9221 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9222 }
9223 },
9224 {
9225 "op" : "assign",
9226 "parameters" : [
9227 {
9228 "type" : "field",
9229 "value" : ["int_q_congestion", "q_congestion"]
9230 },
9231 {
9232 "type" : "hexstr",
9233 "value" : "0x000000"
9234 }
9235 ],
9236 "source_info" : {
9237 "filename" : "include/int_transit.p4",
9238 "line" : 82,
9239 "column" : 8,
9240 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9241 }
9242 },
9243 {
9244 "op" : "add_header",
9245 "parameters" : [
9246 {
9247 "type" : "header",
9248 "value" : "int_ingress_tstamp"
9249 }
9250 ],
9251 "source_info" : {
9252 "filename" : "include/int_transit.p4",
9253 "line" : 65,
9254 "column" : 8,
9255 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9256 }
9257 },
9258 {
9259 "op" : "assign",
9260 "parameters" : [
9261 {
9262 "type" : "field",
9263 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9264 },
9265 {
9266 "type" : "field",
9267 "value" : ["standard_metadata", "enq_timestamp"]
9268 }
9269 ],
9270 "source_info" : {
9271 "filename" : "include/int_transit.p4",
9272 "line" : 66,
9273 "column" : 8,
9274 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9275 }
9276 }
9277 ]
9278 },
9279 {
9280 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
Charles Chancd03f072018-08-31 17:46:37 -07009281 "id" : 115,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009282 "runtime_data" : [],
9283 "primitives" : [
9284 {
9285 "op" : "add_header",
9286 "parameters" : [
9287 {
9288 "type" : "header",
9289 "value" : "int_egress_tstamp"
9290 }
9291 ],
9292 "source_info" : {
9293 "filename" : "include/int_transit.p4",
9294 "line" : 70,
9295 "column" : 8,
9296 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9297 }
9298 },
9299 {
9300 "op" : "assign",
9301 "parameters" : [
9302 {
9303 "type" : "field",
9304 "value" : ["int_egress_tstamp", "egress_tstamp"]
9305 },
9306 {
9307 "type" : "expression",
9308 "value" : {
9309 "type" : "expression",
9310 "value" : {
9311 "op" : "&",
9312 "left" : {
9313 "type" : "expression",
9314 "value" : {
9315 "op" : "+",
9316 "left" : {
9317 "type" : "field",
9318 "value" : ["standard_metadata", "enq_timestamp"]
9319 },
9320 "right" : {
9321 "type" : "field",
9322 "value" : ["standard_metadata", "deq_timedelta"]
9323 }
9324 }
9325 },
9326 "right" : {
9327 "type" : "hexstr",
9328 "value" : "0xffffffff"
9329 }
9330 }
9331 }
9332 }
9333 ],
9334 "source_info" : {
9335 "filename" : "include/int_transit.p4",
9336 "line" : 71,
9337 "column" : 8,
9338 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9339 }
9340 },
9341 {
9342 "op" : "add_header",
9343 "parameters" : [
9344 {
9345 "type" : "header",
9346 "value" : "int_ingress_tstamp"
9347 }
9348 ],
9349 "source_info" : {
9350 "filename" : "include/int_transit.p4",
9351 "line" : 65,
9352 "column" : 8,
9353 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9354 }
9355 },
9356 {
9357 "op" : "assign",
9358 "parameters" : [
9359 {
9360 "type" : "field",
9361 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9362 },
9363 {
9364 "type" : "field",
9365 "value" : ["standard_metadata", "enq_timestamp"]
9366 }
9367 ],
9368 "source_info" : {
9369 "filename" : "include/int_transit.p4",
9370 "line" : 66,
9371 "column" : 8,
9372 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9373 }
9374 }
9375 ]
9376 },
9377 {
9378 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
Charles Chancd03f072018-08-31 17:46:37 -07009379 "id" : 116,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009380 "runtime_data" : [],
9381 "primitives" : [
9382 {
9383 "op" : "add_header",
9384 "parameters" : [
9385 {
9386 "type" : "header",
9387 "value" : "int_egress_tx_util"
9388 }
9389 ],
9390 "source_info" : {
9391 "filename" : "include/int_transit.p4",
9392 "line" : 88,
9393 "column" : 8,
9394 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9395 }
9396 },
9397 {
9398 "op" : "assign",
9399 "parameters" : [
9400 {
9401 "type" : "field",
9402 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9403 },
9404 {
9405 "type" : "hexstr",
9406 "value" : "0x00000000"
9407 }
9408 ],
9409 "source_info" : {
9410 "filename" : "include/int_transit.p4",
9411 "line" : 89,
9412 "column" : 8,
9413 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9414 }
9415 },
9416 {
9417 "op" : "add_header",
9418 "parameters" : [
9419 {
9420 "type" : "header",
9421 "value" : "int_egress_tstamp"
9422 }
9423 ],
9424 "source_info" : {
9425 "filename" : "include/int_transit.p4",
9426 "line" : 70,
9427 "column" : 8,
9428 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9429 }
9430 },
9431 {
9432 "op" : "assign",
9433 "parameters" : [
9434 {
9435 "type" : "field",
9436 "value" : ["int_egress_tstamp", "egress_tstamp"]
9437 },
9438 {
9439 "type" : "expression",
9440 "value" : {
9441 "type" : "expression",
9442 "value" : {
9443 "op" : "&",
9444 "left" : {
9445 "type" : "expression",
9446 "value" : {
9447 "op" : "+",
9448 "left" : {
9449 "type" : "field",
9450 "value" : ["standard_metadata", "enq_timestamp"]
9451 },
9452 "right" : {
9453 "type" : "field",
9454 "value" : ["standard_metadata", "deq_timedelta"]
9455 }
9456 }
9457 },
9458 "right" : {
9459 "type" : "hexstr",
9460 "value" : "0xffffffff"
9461 }
9462 }
9463 }
9464 }
9465 ],
9466 "source_info" : {
9467 "filename" : "include/int_transit.p4",
9468 "line" : 71,
9469 "column" : 8,
9470 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9471 }
9472 },
9473 {
9474 "op" : "add_header",
9475 "parameters" : [
9476 {
9477 "type" : "header",
9478 "value" : "int_ingress_tstamp"
9479 }
9480 ],
9481 "source_info" : {
9482 "filename" : "include/int_transit.p4",
9483 "line" : 65,
9484 "column" : 8,
9485 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9486 }
9487 },
9488 {
9489 "op" : "assign",
9490 "parameters" : [
9491 {
9492 "type" : "field",
9493 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9494 },
9495 {
9496 "type" : "field",
9497 "value" : ["standard_metadata", "enq_timestamp"]
9498 }
9499 ],
9500 "source_info" : {
9501 "filename" : "include/int_transit.p4",
9502 "line" : 66,
9503 "column" : 8,
9504 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9505 }
9506 }
9507 ]
9508 },
9509 {
9510 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
Charles Chancd03f072018-08-31 17:46:37 -07009511 "id" : 117,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009512 "runtime_data" : [],
9513 "primitives" : [
9514 {
9515 "op" : "add_header",
9516 "parameters" : [
9517 {
9518 "type" : "header",
9519 "value" : "int_q_congestion"
9520 }
9521 ],
9522 "source_info" : {
9523 "filename" : "include/int_transit.p4",
9524 "line" : 78,
9525 "column" : 8,
9526 "source_fragment" : "hdr.int_q_congestion.setValid()"
9527 }
9528 },
9529 {
9530 "op" : "assign",
9531 "parameters" : [
9532 {
9533 "type" : "field",
9534 "value" : ["int_q_congestion", "q_id"]
9535 },
9536 {
9537 "type" : "hexstr",
9538 "value" : "0x00"
9539 }
9540 ],
9541 "source_info" : {
9542 "filename" : "include/int_transit.p4",
9543 "line" : 79,
9544 "column" : 8,
9545 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9546 }
9547 },
9548 {
9549 "op" : "assign",
9550 "parameters" : [
9551 {
9552 "type" : "field",
9553 "value" : ["int_q_congestion", "q_congestion"]
9554 },
9555 {
9556 "type" : "hexstr",
9557 "value" : "0x000000"
9558 }
9559 ],
9560 "source_info" : {
9561 "filename" : "include/int_transit.p4",
9562 "line" : 82,
9563 "column" : 8,
9564 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9565 }
9566 },
9567 {
9568 "op" : "add_header",
9569 "parameters" : [
9570 {
9571 "type" : "header",
9572 "value" : "int_egress_tstamp"
9573 }
9574 ],
9575 "source_info" : {
9576 "filename" : "include/int_transit.p4",
9577 "line" : 70,
9578 "column" : 8,
9579 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9580 }
9581 },
9582 {
9583 "op" : "assign",
9584 "parameters" : [
9585 {
9586 "type" : "field",
9587 "value" : ["int_egress_tstamp", "egress_tstamp"]
9588 },
9589 {
9590 "type" : "expression",
9591 "value" : {
9592 "type" : "expression",
9593 "value" : {
9594 "op" : "&",
9595 "left" : {
9596 "type" : "expression",
9597 "value" : {
9598 "op" : "+",
9599 "left" : {
9600 "type" : "field",
9601 "value" : ["standard_metadata", "enq_timestamp"]
9602 },
9603 "right" : {
9604 "type" : "field",
9605 "value" : ["standard_metadata", "deq_timedelta"]
9606 }
9607 }
9608 },
9609 "right" : {
9610 "type" : "hexstr",
9611 "value" : "0xffffffff"
9612 }
9613 }
9614 }
9615 }
9616 ],
9617 "source_info" : {
9618 "filename" : "include/int_transit.p4",
9619 "line" : 71,
9620 "column" : 8,
9621 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9622 }
9623 },
9624 {
9625 "op" : "add_header",
9626 "parameters" : [
9627 {
9628 "type" : "header",
9629 "value" : "int_ingress_tstamp"
9630 }
9631 ],
9632 "source_info" : {
9633 "filename" : "include/int_transit.p4",
9634 "line" : 65,
9635 "column" : 8,
9636 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9637 }
9638 },
9639 {
9640 "op" : "assign",
9641 "parameters" : [
9642 {
9643 "type" : "field",
9644 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9645 },
9646 {
9647 "type" : "field",
9648 "value" : ["standard_metadata", "enq_timestamp"]
9649 }
9650 ],
9651 "source_info" : {
9652 "filename" : "include/int_transit.p4",
9653 "line" : 66,
9654 "column" : 8,
9655 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9656 }
9657 }
9658 ]
9659 },
9660 {
9661 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
Charles Chancd03f072018-08-31 17:46:37 -07009662 "id" : 118,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009663 "runtime_data" : [],
9664 "primitives" : [
9665 {
9666 "op" : "add_header",
9667 "parameters" : [
9668 {
9669 "type" : "header",
9670 "value" : "int_egress_tx_util"
9671 }
9672 ],
9673 "source_info" : {
9674 "filename" : "include/int_transit.p4",
9675 "line" : 88,
9676 "column" : 8,
9677 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9678 }
9679 },
9680 {
9681 "op" : "assign",
9682 "parameters" : [
9683 {
9684 "type" : "field",
9685 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9686 },
9687 {
9688 "type" : "hexstr",
9689 "value" : "0x00000000"
9690 }
9691 ],
9692 "source_info" : {
9693 "filename" : "include/int_transit.p4",
9694 "line" : 89,
9695 "column" : 8,
9696 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9697 }
9698 },
9699 {
9700 "op" : "add_header",
9701 "parameters" : [
9702 {
9703 "type" : "header",
9704 "value" : "int_q_congestion"
9705 }
9706 ],
9707 "source_info" : {
9708 "filename" : "include/int_transit.p4",
9709 "line" : 78,
9710 "column" : 8,
9711 "source_fragment" : "hdr.int_q_congestion.setValid()"
9712 }
9713 },
9714 {
9715 "op" : "assign",
9716 "parameters" : [
9717 {
9718 "type" : "field",
9719 "value" : ["int_q_congestion", "q_id"]
9720 },
9721 {
9722 "type" : "hexstr",
9723 "value" : "0x00"
9724 }
9725 ],
9726 "source_info" : {
9727 "filename" : "include/int_transit.p4",
9728 "line" : 79,
9729 "column" : 8,
9730 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9731 }
9732 },
9733 {
9734 "op" : "assign",
9735 "parameters" : [
9736 {
9737 "type" : "field",
9738 "value" : ["int_q_congestion", "q_congestion"]
9739 },
9740 {
9741 "type" : "hexstr",
9742 "value" : "0x000000"
9743 }
9744 ],
9745 "source_info" : {
9746 "filename" : "include/int_transit.p4",
9747 "line" : 82,
9748 "column" : 8,
9749 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9750 }
9751 },
9752 {
9753 "op" : "add_header",
9754 "parameters" : [
9755 {
9756 "type" : "header",
9757 "value" : "int_egress_tstamp"
9758 }
9759 ],
9760 "source_info" : {
9761 "filename" : "include/int_transit.p4",
9762 "line" : 70,
9763 "column" : 8,
9764 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9765 }
9766 },
9767 {
9768 "op" : "assign",
9769 "parameters" : [
9770 {
9771 "type" : "field",
9772 "value" : ["int_egress_tstamp", "egress_tstamp"]
9773 },
9774 {
9775 "type" : "expression",
9776 "value" : {
9777 "type" : "expression",
9778 "value" : {
9779 "op" : "&",
9780 "left" : {
9781 "type" : "expression",
9782 "value" : {
9783 "op" : "+",
9784 "left" : {
9785 "type" : "field",
9786 "value" : ["standard_metadata", "enq_timestamp"]
9787 },
9788 "right" : {
9789 "type" : "field",
9790 "value" : ["standard_metadata", "deq_timedelta"]
9791 }
9792 }
9793 },
9794 "right" : {
9795 "type" : "hexstr",
9796 "value" : "0xffffffff"
9797 }
9798 }
9799 }
9800 }
9801 ],
9802 "source_info" : {
9803 "filename" : "include/int_transit.p4",
9804 "line" : 71,
9805 "column" : 8,
9806 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9807 }
9808 },
9809 {
9810 "op" : "add_header",
9811 "parameters" : [
9812 {
9813 "type" : "header",
9814 "value" : "int_ingress_tstamp"
9815 }
9816 ],
9817 "source_info" : {
9818 "filename" : "include/int_transit.p4",
9819 "line" : 65,
9820 "column" : 8,
9821 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9822 }
9823 },
9824 {
9825 "op" : "assign",
9826 "parameters" : [
9827 {
9828 "type" : "field",
9829 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9830 },
9831 {
9832 "type" : "field",
9833 "value" : ["standard_metadata", "enq_timestamp"]
9834 }
9835 ],
9836 "source_info" : {
9837 "filename" : "include/int_transit.p4",
9838 "line" : 66,
9839 "column" : 8,
9840 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9841 }
9842 }
9843 ]
9844 },
9845 {
9846 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
Charles Chancd03f072018-08-31 17:46:37 -07009847 "id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009848 "runtime_data" : [],
9849 "primitives" : [
9850 {
9851 "op" : "assign",
9852 "parameters" : [
9853 {
9854 "type" : "field",
9855 "value" : ["ipv4", "total_len"]
9856 },
9857 {
9858 "type" : "expression",
9859 "value" : {
9860 "type" : "expression",
9861 "value" : {
9862 "op" : "&",
9863 "left" : {
9864 "type" : "expression",
9865 "value" : {
9866 "op" : "+",
9867 "left" : {
9868 "type" : "field",
9869 "value" : ["ipv4", "total_len"]
9870 },
9871 "right" : {
9872 "type" : "field",
9873 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9874 }
9875 }
9876 },
9877 "right" : {
9878 "type" : "hexstr",
9879 "value" : "0xffff"
9880 }
9881 }
9882 }
9883 }
9884 ],
9885 "source_info" : {
9886 "filename" : "include/int_transit.p4",
9887 "line" : 304,
9888 "column" : 8,
9889 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
9890 }
9891 }
9892 ]
9893 },
9894 {
9895 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
Charles Chancd03f072018-08-31 17:46:37 -07009896 "id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009897 "runtime_data" : [],
9898 "primitives" : [
9899 {
9900 "op" : "assign",
9901 "parameters" : [
9902 {
9903 "type" : "field",
9904 "value" : ["udp", "len"]
9905 },
9906 {
9907 "type" : "expression",
9908 "value" : {
9909 "type" : "expression",
9910 "value" : {
9911 "op" : "&",
9912 "left" : {
9913 "type" : "expression",
9914 "value" : {
9915 "op" : "+",
9916 "left" : {
9917 "type" : "field",
9918 "value" : ["udp", "len"]
9919 },
9920 "right" : {
9921 "type" : "field",
9922 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9923 }
9924 }
9925 },
9926 "right" : {
9927 "type" : "hexstr",
9928 "value" : "0xffff"
9929 }
9930 }
9931 }
9932 }
9933 ],
9934 "source_info" : {
9935 "filename" : "include/int_transit.p4",
9936 "line" : 307,
9937 "column" : 8,
9938 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
9939 }
9940 }
9941 ]
9942 },
9943 {
9944 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
Charles Chancd03f072018-08-31 17:46:37 -07009945 "id" : 121,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009946 "runtime_data" : [],
9947 "primitives" : [
9948 {
9949 "op" : "assign",
9950 "parameters" : [
9951 {
9952 "type" : "field",
9953 "value" : ["intl4_shim", "len"]
9954 },
9955 {
9956 "type" : "expression",
9957 "value" : {
9958 "type" : "expression",
9959 "value" : {
9960 "op" : "&",
9961 "left" : {
9962 "type" : "expression",
9963 "value" : {
9964 "op" : "+",
9965 "left" : {
9966 "type" : "field",
9967 "value" : ["intl4_shim", "len"]
9968 },
9969 "right" : {
9970 "type" : "expression",
9971 "value" : {
9972 "op" : "&",
9973 "left" : {
9974 "type" : "field",
9975 "value" : ["int_header", "ins_cnt"]
9976 },
9977 "right" : {
9978 "type" : "hexstr",
9979 "value" : "0xff"
9980 }
9981 }
9982 }
9983 }
9984 },
9985 "right" : {
9986 "type" : "hexstr",
9987 "value" : "0xff"
9988 }
9989 }
9990 }
9991 }
9992 ],
9993 "source_info" : {
9994 "filename" : "include/int_transit.p4",
9995 "line" : 310,
9996 "column" : 8,
9997 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
9998 }
9999 }
10000 ]
10001 },
10002 {
10003 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
Charles Chancd03f072018-08-31 17:46:37 -070010004 "id" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010005 "runtime_data" : [
10006 {
10007 "name" : "src_mac",
10008 "bitwidth" : 48
10009 },
10010 {
10011 "name" : "mon_mac",
10012 "bitwidth" : 48
10013 },
10014 {
10015 "name" : "src_ip",
10016 "bitwidth" : 32
10017 },
10018 {
10019 "name" : "mon_ip",
10020 "bitwidth" : 32
10021 },
10022 {
10023 "name" : "mon_port",
10024 "bitwidth" : 16
10025 }
10026 ],
10027 "primitives" : [
10028 {
10029 "op" : "add_header",
10030 "parameters" : [
10031 {
10032 "type" : "header",
10033 "value" : "report_ethernet"
10034 }
10035 ],
10036 "source_info" : {
10037 "filename" : "include/int_report.p4",
10038 "line" : 50,
10039 "column" : 8,
10040 "source_fragment" : "hdr.report_ethernet.setValid()"
10041 }
10042 },
10043 {
10044 "op" : "assign",
10045 "parameters" : [
10046 {
10047 "type" : "field",
10048 "value" : ["report_ethernet", "dst_addr"]
10049 },
10050 {
10051 "type" : "runtime_data",
10052 "value" : 1
10053 }
10054 ],
10055 "source_info" : {
10056 "filename" : "include/int_report.p4",
10057 "line" : 51,
10058 "column" : 8,
10059 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
10060 }
10061 },
10062 {
10063 "op" : "assign",
10064 "parameters" : [
10065 {
10066 "type" : "field",
10067 "value" : ["report_ethernet", "src_addr"]
10068 },
10069 {
10070 "type" : "runtime_data",
10071 "value" : 0
10072 }
10073 ],
10074 "source_info" : {
10075 "filename" : "include/int_report.p4",
10076 "line" : 52,
10077 "column" : 8,
10078 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
10079 }
10080 },
10081 {
10082 "op" : "assign",
10083 "parameters" : [
10084 {
10085 "type" : "field",
10086 "value" : ["report_ethernet", "ether_type"]
10087 },
10088 {
10089 "type" : "hexstr",
10090 "value" : "0x0800"
10091 }
10092 ],
10093 "source_info" : {
10094 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010095 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010096 "column" : 31,
10097 "source_fragment" : "0x0800; ..."
10098 }
10099 },
10100 {
10101 "op" : "add_header",
10102 "parameters" : [
10103 {
10104 "type" : "header",
10105 "value" : "report_ipv4"
10106 }
10107 ],
10108 "source_info" : {
10109 "filename" : "include/int_report.p4",
10110 "line" : 56,
10111 "column" : 8,
10112 "source_fragment" : "hdr.report_ipv4.setValid()"
10113 }
10114 },
10115 {
10116 "op" : "assign",
10117 "parameters" : [
10118 {
10119 "type" : "field",
10120 "value" : ["report_ipv4", "version"]
10121 },
10122 {
10123 "type" : "hexstr",
10124 "value" : "0x04"
10125 }
10126 ],
10127 "source_info" : {
10128 "filename" : "include/int_report.p4",
10129 "line" : 57,
10130 "column" : 8,
10131 "source_fragment" : "hdr.report_ipv4.version = 4w4"
10132 }
10133 },
10134 {
10135 "op" : "assign",
10136 "parameters" : [
10137 {
10138 "type" : "field",
10139 "value" : ["report_ipv4", "ihl"]
10140 },
10141 {
10142 "type" : "hexstr",
10143 "value" : "0x05"
10144 }
10145 ],
10146 "source_info" : {
10147 "filename" : "include/int_report.p4",
10148 "line" : 58,
10149 "column" : 8,
10150 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
10151 }
10152 },
10153 {
10154 "op" : "assign",
10155 "parameters" : [
10156 {
10157 "type" : "field",
10158 "value" : ["report_ipv4", "dscp"]
10159 },
10160 {
10161 "type" : "hexstr",
10162 "value" : "0x00"
10163 }
10164 ],
10165 "source_info" : {
10166 "filename" : "include/int_report.p4",
10167 "line" : 59,
10168 "column" : 8,
10169 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
10170 }
10171 },
10172 {
10173 "op" : "assign",
10174 "parameters" : [
10175 {
10176 "type" : "field",
10177 "value" : ["report_ipv4", "ecn"]
10178 },
10179 {
10180 "type" : "hexstr",
10181 "value" : "0x00"
10182 }
10183 ],
10184 "source_info" : {
10185 "filename" : "include/int_report.p4",
10186 "line" : 60,
10187 "column" : 8,
10188 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
10189 }
10190 },
10191 {
10192 "op" : "assign",
10193 "parameters" : [
10194 {
10195 "type" : "field",
10196 "value" : ["report_ipv4", "total_len"]
10197 },
10198 {
10199 "type" : "expression",
10200 "value" : {
10201 "type" : "expression",
10202 "value" : {
10203 "op" : "&",
10204 "left" : {
10205 "type" : "expression",
10206 "value" : {
10207 "op" : "+",
10208 "left" : {
10209 "type" : "hexstr",
10210 "value" : "0x0036"
10211 },
10212 "right" : {
10213 "type" : "field",
10214 "value" : ["ipv4", "total_len"]
10215 }
10216 }
10217 },
10218 "right" : {
10219 "type" : "hexstr",
10220 "value" : "0xffff"
10221 }
10222 }
10223 }
10224 }
10225 ],
10226 "source_info" : {
10227 "filename" : "include/int_report.p4",
10228 "line" : 62,
10229 "column" : 8,
10230 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
10231 }
10232 },
10233 {
10234 "op" : "assign",
10235 "parameters" : [
10236 {
10237 "type" : "field",
10238 "value" : ["report_ipv4", "identification"]
10239 },
10240 {
10241 "type" : "hexstr",
10242 "value" : "0x0000"
10243 }
10244 ],
10245 "source_info" : {
10246 "filename" : "include/int_report.p4",
10247 "line" : 65,
10248 "column" : 8,
10249 "source_fragment" : "hdr.report_ipv4.identification = 0"
10250 }
10251 },
10252 {
10253 "op" : "assign",
10254 "parameters" : [
10255 {
10256 "type" : "field",
10257 "value" : ["report_ipv4", "flags"]
10258 },
10259 {
10260 "type" : "hexstr",
10261 "value" : "0x00"
10262 }
10263 ],
10264 "source_info" : {
10265 "filename" : "include/int_report.p4",
10266 "line" : 66,
10267 "column" : 8,
10268 "source_fragment" : "hdr.report_ipv4.flags = 0"
10269 }
10270 },
10271 {
10272 "op" : "assign",
10273 "parameters" : [
10274 {
10275 "type" : "field",
10276 "value" : ["report_ipv4", "frag_offset"]
10277 },
10278 {
10279 "type" : "hexstr",
10280 "value" : "0x0000"
10281 }
10282 ],
10283 "source_info" : {
10284 "filename" : "include/int_report.p4",
10285 "line" : 67,
10286 "column" : 8,
10287 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
10288 }
10289 },
10290 {
10291 "op" : "assign",
10292 "parameters" : [
10293 {
10294 "type" : "field",
10295 "value" : ["report_ipv4", "ttl"]
10296 },
10297 {
10298 "type" : "hexstr",
10299 "value" : "0xff"
10300 }
10301 ],
10302 "source_info" : {
10303 "filename" : "include/int_report.p4",
10304 "line" : 68,
10305 "column" : 8,
10306 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
10307 }
10308 },
10309 {
10310 "op" : "assign",
10311 "parameters" : [
10312 {
10313 "type" : "field",
10314 "value" : ["report_ipv4", "protocol"]
10315 },
10316 {
10317 "type" : "hexstr",
10318 "value" : "0x11"
10319 }
10320 ],
10321 "source_info" : {
10322 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010323 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010324 "column" : 25,
10325 "source_fragment" : "17; ..."
10326 }
10327 },
10328 {
10329 "op" : "assign",
10330 "parameters" : [
10331 {
10332 "type" : "field",
10333 "value" : ["report_ipv4", "src_addr"]
10334 },
10335 {
10336 "type" : "runtime_data",
10337 "value" : 2
10338 }
10339 ],
10340 "source_info" : {
10341 "filename" : "include/int_report.p4",
10342 "line" : 70,
10343 "column" : 8,
10344 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
10345 }
10346 },
10347 {
10348 "op" : "assign",
10349 "parameters" : [
10350 {
10351 "type" : "field",
10352 "value" : ["report_ipv4", "dst_addr"]
10353 },
10354 {
10355 "type" : "runtime_data",
10356 "value" : 3
10357 }
10358 ],
10359 "source_info" : {
10360 "filename" : "include/int_report.p4",
10361 "line" : 71,
10362 "column" : 8,
10363 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
10364 }
10365 },
10366 {
10367 "op" : "add_header",
10368 "parameters" : [
10369 {
10370 "type" : "header",
10371 "value" : "report_udp"
10372 }
10373 ],
10374 "source_info" : {
10375 "filename" : "include/int_report.p4",
10376 "line" : 74,
10377 "column" : 8,
10378 "source_fragment" : "hdr.report_udp.setValid()"
10379 }
10380 },
10381 {
10382 "op" : "assign",
10383 "parameters" : [
10384 {
10385 "type" : "field",
10386 "value" : ["report_udp", "src_port"]
10387 },
10388 {
10389 "type" : "hexstr",
10390 "value" : "0x0000"
10391 }
10392 ],
10393 "source_info" : {
10394 "filename" : "include/int_report.p4",
10395 "line" : 75,
10396 "column" : 8,
10397 "source_fragment" : "hdr.report_udp.src_port = 0"
10398 }
10399 },
10400 {
10401 "op" : "assign",
10402 "parameters" : [
10403 {
10404 "type" : "field",
10405 "value" : ["report_udp", "dst_port"]
10406 },
10407 {
10408 "type" : "runtime_data",
10409 "value" : 4
10410 }
10411 ],
10412 "source_info" : {
10413 "filename" : "include/int_report.p4",
10414 "line" : 76,
10415 "column" : 8,
10416 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
10417 }
10418 },
10419 {
10420 "op" : "assign",
10421 "parameters" : [
10422 {
10423 "type" : "field",
10424 "value" : ["report_udp", "len"]
10425 },
10426 {
10427 "type" : "expression",
10428 "value" : {
10429 "type" : "expression",
10430 "value" : {
10431 "op" : "&",
10432 "left" : {
10433 "type" : "expression",
10434 "value" : {
10435 "op" : "+",
10436 "left" : {
10437 "type" : "hexstr",
10438 "value" : "0x0022"
10439 },
10440 "right" : {
10441 "type" : "field",
10442 "value" : ["ipv4", "total_len"]
10443 }
10444 }
10445 },
10446 "right" : {
10447 "type" : "hexstr",
10448 "value" : "0xffff"
10449 }
10450 }
10451 }
10452 }
10453 ],
10454 "source_info" : {
10455 "filename" : "include/int_report.p4",
10456 "line" : 77,
10457 "column" : 8,
10458 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
10459 }
10460 },
10461 {
10462 "op" : "assign",
10463 "parameters" : [
10464 {
10465 "type" : "field",
10466 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
10467 },
10468 {
10469 "type" : "expression",
10470 "value" : {
10471 "type" : "expression",
10472 "value" : {
10473 "op" : "b2d",
10474 "left" : null,
10475 "right" : {
10476 "type" : "bool",
10477 "value" : true
10478 }
10479 }
10480 }
10481 }
10482 ],
10483 "source_info" : {
10484 "filename" : "include/int_report.p4",
10485 "line" : 80,
10486 "column" : 8,
10487 "source_fragment" : "fabric_metadata.compute_checksum = true"
10488 }
10489 },
10490 {
10491 "op" : "add_header",
10492 "parameters" : [
10493 {
10494 "type" : "header",
10495 "value" : "report_fixed_header"
10496 }
10497 ],
10498 "source_info" : {
10499 "filename" : "include/int_report.p4",
10500 "line" : 30,
10501 "column" : 8,
10502 "source_fragment" : "hdr.report_fixed_header.setValid()"
10503 }
10504 },
10505 {
10506 "op" : "assign",
10507 "parameters" : [
10508 {
10509 "type" : "field",
10510 "value" : ["report_fixed_header", "ver"]
10511 },
10512 {
10513 "type" : "hexstr",
10514 "value" : "0x00"
10515 }
10516 ],
10517 "source_info" : {
10518 "filename" : "include/int_report.p4",
10519 "line" : 31,
10520 "column" : 8,
10521 "source_fragment" : "hdr.report_fixed_header.ver = 0"
10522 }
10523 },
10524 {
10525 "op" : "assign",
10526 "parameters" : [
10527 {
10528 "type" : "field",
10529 "value" : ["report_fixed_header", "nproto"]
10530 },
10531 {
10532 "type" : "hexstr",
10533 "value" : "0x00"
10534 }
10535 ],
10536 "source_info" : {
10537 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010538 "line" : 132,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010539 "column" : 31,
10540 "source_fragment" : "0; ..."
10541 }
10542 },
10543 {
10544 "op" : "assign",
10545 "parameters" : [
10546 {
10547 "type" : "field",
10548 "value" : ["report_fixed_header", "d"]
10549 },
10550 {
10551 "type" : "hexstr",
10552 "value" : "0x00"
10553 }
10554 ],
10555 "source_info" : {
10556 "filename" : "include/int_report.p4",
10557 "line" : 34,
10558 "column" : 8,
10559 "source_fragment" : "hdr.report_fixed_header.d = 0"
10560 }
10561 },
10562 {
10563 "op" : "assign",
10564 "parameters" : [
10565 {
10566 "type" : "field",
10567 "value" : ["report_fixed_header", "q"]
10568 },
10569 {
10570 "type" : "hexstr",
10571 "value" : "0x00"
10572 }
10573 ],
10574 "source_info" : {
10575 "filename" : "include/int_report.p4",
10576 "line" : 35,
10577 "column" : 8,
10578 "source_fragment" : "hdr.report_fixed_header.q = 0"
10579 }
10580 },
10581 {
10582 "op" : "assign",
10583 "parameters" : [
10584 {
10585 "type" : "field",
10586 "value" : ["report_fixed_header", "f"]
10587 },
10588 {
10589 "type" : "hexstr",
10590 "value" : "0x01"
10591 }
10592 ],
10593 "source_info" : {
10594 "filename" : "include/int_report.p4",
10595 "line" : 36,
10596 "column" : 8,
10597 "source_fragment" : "hdr.report_fixed_header.f = 1"
10598 }
10599 },
10600 {
10601 "op" : "assign",
10602 "parameters" : [
10603 {
10604 "type" : "field",
10605 "value" : ["report_fixed_header", "rsvd"]
10606 },
10607 {
10608 "type" : "hexstr",
10609 "value" : "0x0000"
10610 }
10611 ],
10612 "source_info" : {
10613 "filename" : "include/int_report.p4",
10614 "line" : 37,
10615 "column" : 8,
10616 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
10617 }
10618 },
10619 {
10620 "op" : "assign",
10621 "parameters" : [
10622 {
10623 "type" : "field",
10624 "value" : ["report_fixed_header", "hw_id"]
10625 },
10626 {
10627 "type" : "hexstr",
10628 "value" : "0x01"
10629 }
10630 ],
10631 "source_info" : {
10632 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010633 "line" : 136,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010634 "column" : 21,
10635 "source_fragment" : "1; ..."
10636 }
10637 },
10638 {
10639 "op" : "assign",
10640 "parameters" : [
10641 {
10642 "type" : "field",
10643 "value" : ["report_fixed_header", "seq_no"]
10644 },
10645 {
10646 "type" : "hexstr",
10647 "value" : "0x00000000"
10648 }
10649 ],
10650 "source_info" : {
10651 "filename" : "include/int_report.p4",
10652 "line" : 41,
10653 "column" : 8,
10654 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
10655 }
10656 },
10657 {
10658 "op" : "assign",
10659 "parameters" : [
10660 {
10661 "type" : "field",
10662 "value" : ["report_fixed_header", "ingress_tstamp"]
10663 },
10664 {
10665 "type" : "field",
10666 "value" : ["standard_metadata", "enq_timestamp"]
10667 }
10668 ],
10669 "source_info" : {
10670 "filename" : "include/int_report.p4",
10671 "line" : 43,
10672 "column" : 8,
10673 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
10674 }
10675 }
10676 ]
10677 },
10678 {
10679 "name" : "FabricEgress.process_int_sink.restore_header",
Charles Chancd03f072018-08-31 17:46:37 -070010680 "id" : 123,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010681 "runtime_data" : [],
10682 "primitives" : [
10683 {
10684 "op" : "assign",
10685 "parameters" : [
10686 {
10687 "type" : "field",
10688 "value" : ["udp", "dst_port"]
10689 },
10690 {
10691 "type" : "field",
10692 "value" : ["intl4_tail", "dest_port"]
10693 }
10694 ],
10695 "source_info" : {
10696 "filename" : "include/int_sink.p4",
10697 "line" : 26,
10698 "column" : 8,
10699 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
10700 }
10701 },
10702 {
10703 "op" : "assign",
10704 "parameters" : [
10705 {
10706 "type" : "field",
10707 "value" : ["ipv4", "dscp"]
10708 },
10709 {
10710 "type" : "expression",
10711 "value" : {
10712 "type" : "expression",
10713 "value" : {
10714 "op" : "&",
10715 "left" : {
10716 "type" : "field",
10717 "value" : ["intl4_tail", "dscp"]
10718 },
10719 "right" : {
10720 "type" : "hexstr",
10721 "value" : "0x3f"
10722 }
10723 }
10724 }
10725 }
10726 ],
10727 "source_info" : {
10728 "filename" : "include/int_sink.p4",
10729 "line" : 27,
10730 "column" : 8,
10731 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
10732 }
10733 }
10734 ]
10735 },
10736 {
10737 "name" : "FabricEgress.process_int_sink.int_sink",
Charles Chancd03f072018-08-31 17:46:37 -070010738 "id" : 124,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010739 "runtime_data" : [],
10740 "primitives" : [
10741 {
10742 "op" : "assign",
10743 "parameters" : [
10744 {
10745 "type" : "field",
10746 "value" : ["ipv4", "total_len"]
10747 },
10748 {
10749 "type" : "expression",
10750 "value" : {
10751 "type" : "expression",
10752 "value" : {
10753 "op" : "&",
10754 "left" : {
10755 "type" : "expression",
10756 "value" : {
10757 "op" : "-",
10758 "left" : {
10759 "type" : "field",
10760 "value" : ["ipv4", "total_len"]
10761 },
10762 "right" : {
10763 "type" : "expression",
10764 "value" : {
10765 "op" : "&",
10766 "left" : {
10767 "type" : "expression",
10768 "value" : {
10769 "op" : "&",
10770 "left" : {
10771 "type" : "expression",
10772 "value" : {
10773 "op" : "<<",
10774 "left" : {
10775 "type" : "field",
10776 "value" : ["intl4_shim", "len"]
10777 },
10778 "right" : {
10779 "type" : "hexstr",
10780 "value" : "0x2"
10781 }
10782 }
10783 },
10784 "right" : {
10785 "type" : "hexstr",
10786 "value" : "0xff"
10787 }
10788 }
10789 },
10790 "right" : {
10791 "type" : "hexstr",
10792 "value" : "0xffff"
10793 }
10794 }
10795 }
10796 }
10797 },
10798 "right" : {
10799 "type" : "hexstr",
10800 "value" : "0xffff"
10801 }
10802 }
10803 }
10804 }
10805 ],
10806 "source_info" : {
10807 "filename" : "include/int_sink.p4",
10808 "line" : 32,
10809 "column" : 8,
10810 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
10811 }
10812 },
10813 {
10814 "op" : "assign",
10815 "parameters" : [
10816 {
10817 "type" : "field",
10818 "value" : ["udp", "len"]
10819 },
10820 {
10821 "type" : "expression",
10822 "value" : {
10823 "type" : "expression",
10824 "value" : {
10825 "op" : "&",
10826 "left" : {
10827 "type" : "expression",
10828 "value" : {
10829 "op" : "-",
10830 "left" : {
10831 "type" : "field",
10832 "value" : ["udp", "len"]
10833 },
10834 "right" : {
10835 "type" : "expression",
10836 "value" : {
10837 "op" : "&",
10838 "left" : {
10839 "type" : "expression",
10840 "value" : {
10841 "op" : "&",
10842 "left" : {
10843 "type" : "expression",
10844 "value" : {
10845 "op" : "<<",
10846 "left" : {
10847 "type" : "field",
10848 "value" : ["intl4_shim", "len"]
10849 },
10850 "right" : {
10851 "type" : "hexstr",
10852 "value" : "0x2"
10853 }
10854 }
10855 },
10856 "right" : {
10857 "type" : "hexstr",
10858 "value" : "0xff"
10859 }
10860 }
10861 },
10862 "right" : {
10863 "type" : "hexstr",
10864 "value" : "0xffff"
10865 }
10866 }
10867 }
10868 }
10869 },
10870 "right" : {
10871 "type" : "hexstr",
10872 "value" : "0xffff"
10873 }
10874 }
10875 }
10876 }
10877 ],
10878 "source_info" : {
10879 "filename" : "include/int_sink.p4",
10880 "line" : 33,
10881 "column" : 8,
10882 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
10883 }
10884 },
10885 {
10886 "op" : "remove_header",
10887 "parameters" : [
10888 {
10889 "type" : "header",
10890 "value" : "int_header"
10891 }
10892 ],
10893 "source_info" : {
10894 "filename" : "include/int_sink.p4",
10895 "line" : 35,
10896 "column" : 8,
10897 "source_fragment" : "hdr.int_header.setInvalid()"
10898 }
10899 },
10900 {
10901 "op" : "remove_header",
10902 "parameters" : [
10903 {
10904 "type" : "header",
10905 "value" : "int_data"
10906 }
10907 ],
10908 "source_info" : {
10909 "filename" : "include/int_sink.p4",
10910 "line" : 36,
10911 "column" : 8,
10912 "source_fragment" : "hdr.int_data.setInvalid()"
10913 }
10914 },
10915 {
10916 "op" : "remove_header",
10917 "parameters" : [
10918 {
10919 "type" : "header",
10920 "value" : "intl4_shim"
10921 }
10922 ],
10923 "source_info" : {
10924 "filename" : "include/int_sink.p4",
10925 "line" : 37,
10926 "column" : 8,
10927 "source_fragment" : "hdr.intl4_shim.setInvalid()"
10928 }
10929 },
10930 {
10931 "op" : "remove_header",
10932 "parameters" : [
10933 {
10934 "type" : "header",
10935 "value" : "intl4_tail"
10936 }
10937 ],
10938 "source_info" : {
10939 "filename" : "include/int_sink.p4",
10940 "line" : 38,
10941 "column" : 8,
10942 "source_fragment" : "hdr.intl4_tail.setInvalid()"
10943 }
10944 },
10945 {
10946 "op" : "remove_header",
10947 "parameters" : [
10948 {
10949 "type" : "header",
10950 "value" : "int_switch_id"
10951 }
10952 ],
10953 "source_info" : {
10954 "filename" : "include/int_sink.p4",
10955 "line" : 39,
10956 "column" : 8,
10957 "source_fragment" : "hdr.int_switch_id.setInvalid()"
10958 }
10959 },
10960 {
10961 "op" : "remove_header",
10962 "parameters" : [
10963 {
10964 "type" : "header",
10965 "value" : "int_port_ids"
10966 }
10967 ],
10968 "source_info" : {
10969 "filename" : "include/int_sink.p4",
10970 "line" : 40,
10971 "column" : 8,
10972 "source_fragment" : "hdr.int_port_ids.setInvalid()"
10973 }
10974 },
10975 {
10976 "op" : "remove_header",
10977 "parameters" : [
10978 {
10979 "type" : "header",
10980 "value" : "int_hop_latency"
10981 }
10982 ],
10983 "source_info" : {
10984 "filename" : "include/int_sink.p4",
10985 "line" : 41,
10986 "column" : 8,
10987 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
10988 }
10989 },
10990 {
10991 "op" : "remove_header",
10992 "parameters" : [
10993 {
10994 "type" : "header",
10995 "value" : "int_q_occupancy"
10996 }
10997 ],
10998 "source_info" : {
10999 "filename" : "include/int_sink.p4",
11000 "line" : 42,
11001 "column" : 8,
11002 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
11003 }
11004 },
11005 {
11006 "op" : "remove_header",
11007 "parameters" : [
11008 {
11009 "type" : "header",
11010 "value" : "int_ingress_tstamp"
11011 }
11012 ],
11013 "source_info" : {
11014 "filename" : "include/int_sink.p4",
11015 "line" : 43,
11016 "column" : 8,
11017 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
11018 }
11019 },
11020 {
11021 "op" : "remove_header",
11022 "parameters" : [
11023 {
11024 "type" : "header",
11025 "value" : "int_egress_tstamp"
11026 }
11027 ],
11028 "source_info" : {
11029 "filename" : "include/int_sink.p4",
11030 "line" : 44,
11031 "column" : 8,
11032 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
11033 }
11034 },
11035 {
11036 "op" : "remove_header",
11037 "parameters" : [
11038 {
11039 "type" : "header",
11040 "value" : "int_q_congestion"
11041 }
11042 ],
11043 "source_info" : {
11044 "filename" : "include/int_sink.p4",
11045 "line" : 45,
11046 "column" : 8,
11047 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
11048 }
11049 },
11050 {
11051 "op" : "remove_header",
11052 "parameters" : [
11053 {
11054 "type" : "header",
11055 "value" : "int_egress_tx_util"
11056 }
11057 ],
11058 "source_info" : {
11059 "filename" : "include/int_sink.p4",
11060 "line" : 46,
11061 "column" : 8,
11062 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
11063 }
11064 }
11065 ]
11066 },
11067 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011068 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Charles Chancd03f072018-08-31 17:46:37 -070011069 "id" : 125,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011070 "runtime_data" : [],
11071 "primitives" : [
11072 {
11073 "op" : "assign",
11074 "parameters" : [
11075 {
11076 "type" : "field",
11077 "value" : ["ethernet", "ether_type"]
11078 },
11079 {
11080 "type" : "field",
11081 "value" : ["vlan_tag", "ether_type"]
11082 }
11083 ],
11084 "source_info" : {
11085 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011086 "line" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011087 "column" : 8,
11088 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11089 }
11090 },
11091 {
11092 "op" : "remove_header",
11093 "parameters" : [
11094 {
11095 "type" : "header",
11096 "value" : "vlan_tag"
11097 }
11098 ],
11099 "source_info" : {
11100 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011101 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011102 "column" : 8,
11103 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11104 }
11105 }
11106 ]
11107 },
11108 {
11109 "name" : "FabricEgress.egress_next.pop_vlan",
Charles Chancd03f072018-08-31 17:46:37 -070011110 "id" : 126,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011111 "runtime_data" : [],
11112 "primitives" : [
11113 {
11114 "op" : "assign",
11115 "parameters" : [
11116 {
11117 "type" : "field",
11118 "value" : ["ethernet", "ether_type"]
11119 },
11120 {
11121 "type" : "field",
11122 "value" : ["vlan_tag", "ether_type"]
11123 }
11124 ],
11125 "source_info" : {
11126 "filename" : "include/control/next.p4",
11127 "line" : 253,
11128 "column" : 8,
11129 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11130 }
11131 },
11132 {
11133 "op" : "remove_header",
11134 "parameters" : [
11135 {
11136 "type" : "header",
11137 "value" : "vlan_tag"
11138 }
11139 ],
11140 "source_info" : {
11141 "filename" : "include/control/next.p4",
11142 "line" : 254,
11143 "column" : 8,
11144 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11145 }
11146 }
11147 ]
11148 },
11149 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011150 "name" : "act_31",
Charles Chancd03f072018-08-31 17:46:37 -070011151 "id" : 127,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011152 "runtime_data" : [],
11153 "primitives" : [
11154 {
11155 "op" : "add_header",
11156 "parameters" : [
11157 {
11158 "type" : "header",
11159 "value" : "packet_in"
11160 }
11161 ],
11162 "source_info" : {
11163 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011164 "line" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011165 "column" : 12,
11166 "source_fragment" : "hdr.packet_in.setValid()"
11167 }
11168 },
11169 {
11170 "op" : "assign",
11171 "parameters" : [
11172 {
11173 "type" : "field",
11174 "value" : ["packet_in", "ingress_port"]
11175 },
11176 {
11177 "type" : "field",
11178 "value" : ["standard_metadata", "ingress_port"]
11179 }
11180 ],
11181 "source_info" : {
11182 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011183 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011184 "column" : 12,
11185 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11186 }
11187 }
11188 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011189 }
11190 ],
11191 "pipelines" : [
11192 {
11193 "name" : "ingress",
11194 "id" : 0,
11195 "source_info" : {
11196 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011197 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011198 "column" : 8,
11199 "source_fragment" : "FabricIngress"
11200 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011201 "init_table" : "tbl_act",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011202 "tables" : [
11203 {
11204 "name" : "tbl_act",
11205 "id" : 0,
11206 "key" : [],
11207 "match_type" : "exact",
11208 "type" : "simple",
11209 "max_size" : 1024,
11210 "with_counters" : false,
11211 "support_timeout" : false,
11212 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011213 "action_ids" : [44],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011214 "actions" : ["act_0"],
11215 "base_default_next" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011216 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011217 "act_0" : "node_3"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011218 },
11219 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011220 "action_id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011221 "action_const" : true,
11222 "action_data" : [],
11223 "action_entry_const" : true
11224 }
11225 },
11226 {
11227 "name" : "tbl_act_0",
11228 "id" : 1,
11229 "key" : [],
11230 "match_type" : "exact",
11231 "type" : "simple",
11232 "max_size" : 1024,
11233 "with_counters" : false,
11234 "support_timeout" : false,
11235 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011236 "action_ids" : [43],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011237 "actions" : ["act"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011238 "base_default_next" : "node_5",
11239 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011240 "act" : "node_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011241 },
11242 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011243 "action_id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011244 "action_const" : true,
11245 "action_data" : [],
11246 "action_entry_const" : true
11247 }
11248 },
11249 {
11250 "name" : "tbl_act_1",
11251 "id" : 2,
11252 "key" : [],
11253 "match_type" : "exact",
11254 "type" : "simple",
11255 "max_size" : 1024,
11256 "with_counters" : false,
11257 "support_timeout" : false,
11258 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011259 "action_ids" : [47],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011260 "actions" : ["act_3"],
11261 "base_default_next" : "node_7",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011262 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011263 "act_3" : "node_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011264 },
11265 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011266 "action_id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011267 "action_const" : true,
11268 "action_data" : [],
11269 "action_entry_const" : true
11270 }
11271 },
11272 {
11273 "name" : "tbl_act_2",
11274 "id" : 3,
11275 "key" : [],
11276 "match_type" : "exact",
11277 "type" : "simple",
11278 "max_size" : 1024,
11279 "with_counters" : false,
11280 "support_timeout" : false,
11281 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011282 "action_ids" : [45],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011283 "actions" : ["act_1"],
11284 "base_default_next" : "node_10",
11285 "next_tables" : {
11286 "act_1" : "node_10"
11287 },
11288 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011289 "action_id" : 45,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011290 "action_const" : true,
11291 "action_data" : [],
11292 "action_entry_const" : true
11293 }
11294 },
11295 {
11296 "name" : "tbl_act_3",
11297 "id" : 4,
11298 "key" : [],
11299 "match_type" : "exact",
11300 "type" : "simple",
11301 "max_size" : 1024,
11302 "with_counters" : false,
11303 "support_timeout" : false,
11304 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011305 "action_ids" : [46],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011306 "actions" : ["act_2"],
11307 "base_default_next" : "node_10",
11308 "next_tables" : {
11309 "act_2" : "node_10"
11310 },
11311 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011312 "action_id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011313 "action_const" : true,
11314 "action_data" : [],
11315 "action_entry_const" : true
11316 }
11317 },
11318 {
11319 "name" : "tbl_act_4",
11320 "id" : 5,
11321 "key" : [],
11322 "match_type" : "exact",
11323 "type" : "simple",
11324 "max_size" : 1024,
11325 "with_counters" : false,
11326 "support_timeout" : false,
11327 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011328 "action_ids" : [48],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011329 "actions" : ["act_4"],
11330 "base_default_next" : null,
11331 "next_tables" : {
11332 "act_4" : null
11333 },
11334 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011335 "action_id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011336 "action_const" : true,
11337 "action_data" : [],
11338 "action_entry_const" : true
11339 }
11340 },
11341 {
11342 "name" : "tbl_act_5",
11343 "id" : 6,
11344 "key" : [],
11345 "match_type" : "exact",
11346 "type" : "simple",
11347 "max_size" : 1024,
11348 "with_counters" : false,
11349 "support_timeout" : false,
11350 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011351 "action_ids" : [56],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011352 "actions" : ["act_12"],
11353 "base_default_next" : "node_13",
11354 "next_tables" : {
11355 "act_12" : "node_13"
11356 },
11357 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011358 "action_id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011359 "action_const" : true,
11360 "action_data" : [],
11361 "action_entry_const" : true
11362 }
11363 },
11364 {
11365 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011366 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011367 "source_info" : {
11368 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011369 "line" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011370 "column" : 10,
11371 "source_fragment" : "s1u_filter_table"
11372 },
11373 "key" : [
11374 {
11375 "match_type" : "exact",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011376 "name" : "gtpu_ipv4.dst_addr",
11377 "target" : ["gtpu_ipv4", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011378 "mask" : null
11379 }
11380 ],
11381 "match_type" : "exact",
11382 "type" : "simple",
11383 "max_size" : 1024,
11384 "with_counters" : false,
11385 "support_timeout" : false,
11386 "direct_meters" : null,
11387 "action_ids" : [1],
11388 "actions" : ["NoAction"],
11389 "base_default_next" : null,
11390 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011391 "__HIT__" : "tbl_act_6",
11392 "__MISS__" : "tbl_act_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011393 },
11394 "default_entry" : {
11395 "action_id" : 1,
11396 "action_const" : false,
11397 "action_data" : [],
11398 "action_entry_const" : false
11399 }
11400 },
11401 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011402 "name" : "tbl_act_6",
11403 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011404 "key" : [],
11405 "match_type" : "exact",
11406 "type" : "simple",
11407 "max_size" : 1024,
11408 "with_counters" : false,
11409 "support_timeout" : false,
11410 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011411 "action_ids" : [49],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011412 "actions" : ["act_5"],
11413 "base_default_next" : "node_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011414 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011415 "act_5" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011416 },
11417 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011418 "action_id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011419 "action_const" : true,
11420 "action_data" : [],
11421 "action_entry_const" : true
11422 }
11423 },
11424 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011425 "name" : "tbl_act_7",
11426 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011427 "key" : [],
11428 "match_type" : "exact",
11429 "type" : "simple",
11430 "max_size" : 1024,
11431 "with_counters" : false,
11432 "support_timeout" : false,
11433 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011434 "action_ids" : [50],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011435 "actions" : ["act_6"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011436 "base_default_next" : "node_17",
11437 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011438 "act_6" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011439 },
11440 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011441 "action_id" : 50,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011442 "action_const" : true,
11443 "action_data" : [],
11444 "action_entry_const" : true
11445 }
11446 },
11447 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011448 "name" : "tbl_drop_now",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011449 "id" : 10,
11450 "key" : [],
11451 "match_type" : "exact",
11452 "type" : "simple",
11453 "max_size" : 1024,
11454 "with_counters" : false,
11455 "support_timeout" : false,
11456 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011457 "action_ids" : [12],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011458 "actions" : ["drop_now"],
11459 "base_default_next" : "tbl_act_8",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011460 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011461 "drop_now" : "tbl_act_8"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011462 },
11463 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011464 "action_id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011465 "action_const" : true,
11466 "action_data" : [],
11467 "action_entry_const" : true
11468 }
11469 },
11470 {
11471 "name" : "tbl_act_8",
11472 "id" : 11,
11473 "key" : [],
11474 "match_type" : "exact",
11475 "type" : "simple",
11476 "max_size" : 1024,
11477 "with_counters" : false,
11478 "support_timeout" : false,
11479 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011480 "action_ids" : [51],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011481 "actions" : ["act_7"],
11482 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011483 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011484 "act_7" : "tbl_spgw_ingress_gtpu_decap"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011485 },
11486 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011487 "action_id" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011488 "action_const" : true,
11489 "action_data" : [],
11490 "action_entry_const" : true
11491 }
11492 },
11493 {
11494 "name" : "tbl_spgw_ingress_gtpu_decap",
11495 "id" : 12,
11496 "key" : [],
11497 "match_type" : "exact",
11498 "type" : "simple",
11499 "max_size" : 1024,
11500 "with_counters" : false,
11501 "support_timeout" : false,
11502 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011503 "action_ids" : [13],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011504 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011505 "base_default_next" : "node_27",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011506 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011507 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011508 },
11509 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011510 "action_id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011511 "action_const" : true,
11512 "action_data" : [],
11513 "action_entry_const" : true
11514 }
11515 },
11516 {
11517 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
11518 "id" : 13,
11519 "source_info" : {
11520 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011521 "line" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011522 "column" : 10,
11523 "source_fragment" : "dl_sess_lookup"
11524 },
11525 "key" : [
11526 {
11527 "match_type" : "exact",
11528 "name" : "ipv4.dst_addr",
11529 "target" : ["ipv4", "dst_addr"],
11530 "mask" : null
11531 }
11532 ],
11533 "match_type" : "exact",
11534 "type" : "simple",
11535 "max_size" : 1024,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011536 "with_counters" : true,
11537 "support_timeout" : false,
11538 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011539 "action_ids" : [14, 0],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011540 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
11541 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011542 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011543 "__HIT__" : "tbl_act_9",
11544 "__MISS__" : "tbl_act_10"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011545 },
11546 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011547 "action_id" : 0,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011548 "action_const" : false,
11549 "action_data" : [],
11550 "action_entry_const" : false
11551 }
11552 },
11553 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011554 "name" : "tbl_act_9",
11555 "id" : 14,
11556 "key" : [],
11557 "match_type" : "exact",
11558 "type" : "simple",
11559 "max_size" : 1024,
11560 "with_counters" : false,
11561 "support_timeout" : false,
11562 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011563 "action_ids" : [52],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011564 "actions" : ["act_8"],
11565 "base_default_next" : "node_24",
11566 "next_tables" : {
11567 "act_8" : "node_24"
11568 },
11569 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011570 "action_id" : 52,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011571 "action_const" : true,
11572 "action_data" : [],
11573 "action_entry_const" : true
11574 }
11575 },
11576 {
11577 "name" : "tbl_act_10",
11578 "id" : 15,
11579 "key" : [],
11580 "match_type" : "exact",
11581 "type" : "simple",
11582 "max_size" : 1024,
11583 "with_counters" : false,
11584 "support_timeout" : false,
11585 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011586 "action_ids" : [53],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011587 "actions" : ["act_9"],
11588 "base_default_next" : "node_24",
11589 "next_tables" : {
11590 "act_9" : "node_24"
11591 },
11592 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011593 "action_id" : 53,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011594 "action_const" : true,
11595 "action_data" : [],
11596 "action_entry_const" : true
11597 }
11598 },
11599 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011600 "name" : "tbl_act_11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011601 "id" : 16,
11602 "key" : [],
11603 "match_type" : "exact",
11604 "type" : "simple",
11605 "max_size" : 1024,
11606 "with_counters" : false,
11607 "support_timeout" : false,
11608 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011609 "action_ids" : [54],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011610 "actions" : ["act_10"],
11611 "base_default_next" : "node_27",
11612 "next_tables" : {
11613 "act_10" : "node_27"
11614 },
11615 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011616 "action_id" : 54,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011617 "action_const" : true,
11618 "action_data" : [],
11619 "action_entry_const" : true
11620 }
11621 },
11622 {
11623 "name" : "tbl_act_12",
11624 "id" : 17,
11625 "key" : [],
11626 "match_type" : "exact",
11627 "type" : "simple",
11628 "max_size" : 1024,
11629 "with_counters" : false,
11630 "support_timeout" : false,
11631 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011632 "action_ids" : [55],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011633 "actions" : ["act_11"],
11634 "base_default_next" : "node_27",
11635 "next_tables" : {
11636 "act_11" : "node_27"
11637 },
11638 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011639 "action_id" : 55,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011640 "action_const" : true,
11641 "action_data" : [],
11642 "action_entry_const" : true
11643 }
11644 },
11645 {
11646 "name" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011647 "id" : 18,
11648 "key" : [],
11649 "match_type" : "exact",
11650 "type" : "simple",
11651 "max_size" : 1024,
11652 "with_counters" : false,
11653 "support_timeout" : false,
11654 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011655 "action_ids" : [57],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011656 "actions" : ["act_13"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011657 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
11658 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011659 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011660 },
11661 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011662 "action_id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011663 "action_const" : true,
11664 "action_data" : [],
11665 "action_entry_const" : true
11666 }
11667 },
11668 {
11669 "name" : "FabricIngress.filtering.ingress_port_vlan",
11670 "id" : 19,
11671 "source_info" : {
11672 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011673 "line" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011674 "column" : 10,
11675 "source_fragment" : "ingress_port_vlan"
11676 },
11677 "key" : [
11678 {
11679 "match_type" : "exact",
11680 "name" : "standard_metadata.ingress_port",
11681 "target" : ["standard_metadata", "ingress_port"],
11682 "mask" : null
11683 },
11684 {
11685 "match_type" : "exact",
11686 "name" : "hdr.vlan_tag.is_valid",
11687 "target" : ["vlan_tag", "$valid$"],
11688 "mask" : null
11689 },
11690 {
11691 "match_type" : "ternary",
11692 "name" : "hdr.vlan_tag.vlan_id",
11693 "target" : ["vlan_tag", "vlan_id"],
11694 "mask" : null
11695 }
11696 ],
11697 "match_type" : "ternary",
11698 "type" : "simple",
11699 "max_size" : 1024,
11700 "with_counters" : true,
11701 "support_timeout" : false,
11702 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011703 "action_ids" : [19, 18, 17, 20],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011704 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
11705 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011706 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011707 "__HIT__" : "tbl_act_14",
11708 "__MISS__" : "tbl_act_15"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011709 },
11710 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011711 "action_id" : 19,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011712 "action_const" : true,
11713 "action_data" : ["0xffe"],
11714 "action_entry_const" : true
11715 }
11716 },
11717 {
11718 "name" : "tbl_act_14",
11719 "id" : 20,
11720 "key" : [],
11721 "match_type" : "exact",
11722 "type" : "simple",
11723 "max_size" : 1024,
11724 "with_counters" : false,
11725 "support_timeout" : false,
11726 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011727 "action_ids" : [58],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011728 "actions" : ["act_14"],
11729 "base_default_next" : "node_32",
11730 "next_tables" : {
11731 "act_14" : "node_32"
11732 },
11733 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011734 "action_id" : 58,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011735 "action_const" : true,
11736 "action_data" : [],
11737 "action_entry_const" : true
11738 }
11739 },
11740 {
11741 "name" : "tbl_act_15",
11742 "id" : 21,
11743 "key" : [],
11744 "match_type" : "exact",
11745 "type" : "simple",
11746 "max_size" : 1024,
11747 "with_counters" : false,
11748 "support_timeout" : false,
11749 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011750 "action_ids" : [59],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011751 "actions" : ["act_15"],
11752 "base_default_next" : "node_32",
11753 "next_tables" : {
11754 "act_15" : "node_32"
11755 },
11756 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011757 "action_id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011758 "action_const" : true,
11759 "action_data" : [],
11760 "action_entry_const" : true
11761 }
11762 },
11763 {
11764 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011765 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011766 "source_info" : {
11767 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011768 "line" : 103,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011769 "column" : 10,
11770 "source_fragment" : "fwd_classifier"
11771 },
11772 "key" : [
11773 {
11774 "match_type" : "exact",
11775 "name" : "standard_metadata.ingress_port",
11776 "target" : ["standard_metadata", "ingress_port"],
11777 "mask" : null
11778 },
11779 {
Charles Chan384aea22018-08-23 22:08:02 -070011780 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011781 "name" : "hdr.ethernet.dst_addr",
11782 "target" : ["ethernet", "dst_addr"],
11783 "mask" : null
11784 },
11785 {
11786 "match_type" : "exact",
Yi Tseng8235a1a2018-07-24 20:57:28 +080011787 "name" : "hdr.vlan_tag.ether_type",
11788 "target" : ["vlan_tag", "ether_type"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011789 "mask" : null
11790 }
11791 ],
Charles Chan384aea22018-08-23 22:08:02 -070011792 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011793 "type" : "simple",
11794 "max_size" : 1024,
11795 "with_counters" : true,
11796 "support_timeout" : false,
11797 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011798 "action_ids" : [21],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011799 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011800 "base_default_next" : "node_35",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011801 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011802 "FabricIngress.filtering.set_forwarding_type" : "node_35"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011803 },
11804 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011805 "action_id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011806 "action_const" : true,
11807 "action_data" : ["0x0"],
11808 "action_entry_const" : true
11809 }
11810 },
11811 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011812 "name" : "tbl_act_16",
11813 "id" : 23,
11814 "key" : [],
11815 "match_type" : "exact",
11816 "type" : "simple",
11817 "max_size" : 1024,
11818 "with_counters" : false,
11819 "support_timeout" : false,
11820 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011821 "action_ids" : [60],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011822 "actions" : ["act_16"],
11823 "base_default_next" : "node_35",
11824 "next_tables" : {
11825 "act_16" : "node_35"
11826 },
11827 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011828 "action_id" : 60,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011829 "action_const" : true,
11830 "action_data" : [],
11831 "action_entry_const" : true
11832 }
11833 },
11834 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011835 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011836 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011837 "source_info" : {
11838 "filename" : "include/control/forwarding.p4",
11839 "line" : 41,
11840 "column" : 10,
11841 "source_fragment" : "bridging"
11842 },
11843 "key" : [
11844 {
11845 "match_type" : "exact",
11846 "name" : "hdr.vlan_tag.vlan_id",
11847 "target" : ["vlan_tag", "vlan_id"],
11848 "mask" : null
11849 },
11850 {
11851 "match_type" : "ternary",
11852 "name" : "hdr.ethernet.dst_addr",
11853 "target" : ["ethernet", "dst_addr"],
11854 "mask" : null
11855 }
11856 ],
11857 "match_type" : "ternary",
11858 "type" : "simple",
11859 "max_size" : 1024,
11860 "with_counters" : true,
11861 "support_timeout" : false,
11862 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011863 "action_ids" : [22, 4],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011864 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
11865 "base_default_next" : "FabricIngress.forwarding.acl",
11866 "next_tables" : {
11867 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
11868 "NoAction" : "FabricIngress.forwarding.acl"
11869 },
11870 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011871 "action_id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011872 "action_const" : false,
11873 "action_data" : [],
11874 "action_entry_const" : false
11875 }
11876 },
11877 {
11878 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011879 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011880 "source_info" : {
11881 "filename" : "include/control/forwarding.p4",
11882 "line" : 65,
11883 "column" : 10,
11884 "source_fragment" : "mpls"
11885 },
11886 "key" : [
11887 {
11888 "match_type" : "exact",
11889 "name" : "hdr.mpls.label",
11890 "target" : ["mpls", "label"],
11891 "mask" : null
11892 }
11893 ],
11894 "match_type" : "exact",
11895 "type" : "simple",
11896 "max_size" : 1024,
11897 "with_counters" : true,
11898 "support_timeout" : false,
11899 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011900 "action_ids" : [23, 5],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011901 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011902 "base_default_next" : "tbl_act_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011903 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011904 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_17",
11905 "NoAction" : "tbl_act_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011906 },
11907 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011908 "action_id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011909 "action_const" : false,
11910 "action_data" : [],
11911 "action_entry_const" : false
11912 }
11913 },
11914 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011915 "name" : "tbl_act_17",
11916 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011917 "key" : [],
11918 "match_type" : "exact",
11919 "type" : "simple",
11920 "max_size" : 1024,
11921 "with_counters" : false,
11922 "support_timeout" : false,
11923 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011924 "action_ids" : [61],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011925 "actions" : ["act_17"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011926 "base_default_next" : "FabricIngress.forwarding.acl",
11927 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011928 "act_17" : "FabricIngress.forwarding.acl"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011929 },
11930 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070011931 "action_id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011932 "action_const" : true,
11933 "action_data" : [],
11934 "action_entry_const" : true
11935 }
11936 },
11937 {
Charles Chan384aea22018-08-23 22:08:02 -070011938 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011939 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011940 "source_info" : {
11941 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070011942 "line" : 91,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011943 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070011944 "source_fragment" : "routing_v4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011945 },
11946 "key" : [
11947 {
11948 "match_type" : "lpm",
11949 "name" : "hdr.ipv4.dst_addr",
11950 "target" : ["ipv4", "dst_addr"],
11951 "mask" : null
11952 }
11953 ],
11954 "match_type" : "lpm",
11955 "type" : "simple",
11956 "max_size" : 1024,
11957 "with_counters" : true,
11958 "support_timeout" : false,
11959 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011960 "action_ids" : [24, 25, 6],
11961 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011962 "base_default_next" : "FabricIngress.forwarding.acl",
11963 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070011964 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl",
Charles Chancd03f072018-08-31 17:46:37 -070011965 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.forwarding.acl",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011966 "NoAction" : "FabricIngress.forwarding.acl"
11967 },
11968 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011969 "action_id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011970 "action_const" : false,
11971 "action_data" : [],
11972 "action_entry_const" : false
11973 }
11974 },
11975 {
Charles Chan384aea22018-08-23 22:08:02 -070011976 "name" : "FabricIngress.forwarding.routing_v6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011977 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011978 "source_info" : {
11979 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070011980 "line" : 178,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011981 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070011982 "source_fragment" : "routing_v6"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011983 },
11984 "key" : [
11985 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011986 "match_type" : "lpm",
Charles Chan384aea22018-08-23 22:08:02 -070011987 "name" : "hdr.ipv6.dst_addr",
11988 "target" : ["ipv6", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011989 "mask" : null
11990 }
11991 ],
11992 "match_type" : "lpm",
11993 "type" : "simple",
11994 "max_size" : 1024,
11995 "with_counters" : true,
11996 "support_timeout" : false,
11997 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070011998 "action_ids" : [31, 7],
Charles Chan384aea22018-08-23 22:08:02 -070011999 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v6", "NoAction"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012000 "base_default_next" : "FabricIngress.forwarding.acl",
12001 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012002 "FabricIngress.forwarding.set_next_id_routing_v6" : "FabricIngress.forwarding.acl",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012003 "NoAction" : "FabricIngress.forwarding.acl"
12004 },
12005 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012006 "action_id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012007 "action_const" : false,
12008 "action_data" : [],
12009 "action_entry_const" : false
12010 }
12011 },
12012 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012013 "name" : "FabricIngress.forwarding.acl",
Charles Chan384aea22018-08-23 22:08:02 -070012014 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012015 "source_info" : {
12016 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070012017 "line" : 136,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012018 "column" : 10,
12019 "source_fragment" : "acl"
12020 },
12021 "key" : [
12022 {
12023 "match_type" : "ternary",
12024 "name" : "standard_metadata.ingress_port",
12025 "target" : ["standard_metadata", "ingress_port"],
12026 "mask" : null
12027 },
12028 {
12029 "match_type" : "ternary",
12030 "name" : "fabric_metadata.ip_proto",
12031 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
12032 "mask" : null
12033 },
12034 {
12035 "match_type" : "ternary",
12036 "name" : "fabric_metadata.l4_src_port",
12037 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
12038 "mask" : null
12039 },
12040 {
12041 "match_type" : "ternary",
12042 "name" : "fabric_metadata.l4_dst_port",
12043 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12044 "mask" : null
12045 },
12046 {
12047 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012048 "name" : "hdr.ethernet.dst_addr",
12049 "target" : ["ethernet", "dst_addr"],
12050 "mask" : null
12051 },
12052 {
12053 "match_type" : "ternary",
12054 "name" : "hdr.ethernet.src_addr",
12055 "target" : ["ethernet", "src_addr"],
12056 "mask" : null
12057 },
12058 {
12059 "match_type" : "ternary",
12060 "name" : "hdr.vlan_tag.vlan_id",
12061 "target" : ["vlan_tag", "vlan_id"],
12062 "mask" : null
12063 },
12064 {
12065 "match_type" : "ternary",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012066 "name" : "hdr.vlan_tag.ether_type",
12067 "target" : ["vlan_tag", "ether_type"],
12068 "mask" : null
12069 },
12070 {
12071 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012072 "name" : "hdr.ipv4.src_addr",
12073 "target" : ["ipv4", "src_addr"],
12074 "mask" : null
12075 },
12076 {
12077 "match_type" : "ternary",
12078 "name" : "hdr.ipv4.dst_addr",
12079 "target" : ["ipv4", "dst_addr"],
12080 "mask" : null
12081 },
12082 {
12083 "match_type" : "ternary",
12084 "name" : "hdr.icmp.icmp_type",
12085 "target" : ["icmp", "icmp_type"],
12086 "mask" : null
12087 },
12088 {
12089 "match_type" : "ternary",
12090 "name" : "hdr.icmp.icmp_code",
12091 "target" : ["icmp", "icmp_code"],
12092 "mask" : null
12093 }
12094 ],
12095 "match_type" : "ternary",
12096 "type" : "simple",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012097 "max_size" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012098 "with_counters" : true,
12099 "support_timeout" : false,
12100 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012101 "action_ids" : [26, 27, 28, 29, 30],
Charles Chancf696e52018-08-16 16:25:13 -070012102 "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 -070012103 "base_default_next" : "tbl_act_18",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012104 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012105 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_18",
12106 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_18",
12107 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_18",
12108 "FabricIngress.forwarding.drop" : "tbl_act_18",
12109 "FabricIngress.forwarding.nop_acl" : "tbl_act_18"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012110 },
12111 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012112 "action_id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012113 "action_const" : true,
12114 "action_data" : [],
12115 "action_entry_const" : true
12116 }
12117 },
12118 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012119 "name" : "tbl_act_18",
Charles Chan384aea22018-08-23 22:08:02 -070012120 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012121 "key" : [],
12122 "match_type" : "exact",
12123 "type" : "simple",
12124 "max_size" : 1024,
12125 "with_counters" : false,
12126 "support_timeout" : false,
12127 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012128 "action_ids" : [62],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012129 "actions" : ["act_18"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012130 "base_default_next" : "FabricIngress.next.vlan_meta",
12131 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012132 "act_18" : "FabricIngress.next.vlan_meta"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012133 },
12134 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012135 "action_id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012136 "action_const" : true,
12137 "action_data" : [],
12138 "action_entry_const" : true
12139 }
12140 },
12141 {
12142 "name" : "FabricIngress.next.vlan_meta",
Charles Chan384aea22018-08-23 22:08:02 -070012143 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012144 "source_info" : {
12145 "filename" : "include/control/next.p4",
12146 "line" : 65,
12147 "column" : 10,
12148 "source_fragment" : "vlan_meta"
12149 },
12150 "key" : [
12151 {
12152 "match_type" : "exact",
12153 "name" : "fabric_metadata.next_id",
12154 "target" : ["scalars", "fabric_metadata_t.next_id"],
12155 "mask" : null
12156 }
12157 ],
12158 "match_type" : "exact",
12159 "type" : "simple",
12160 "max_size" : 1024,
12161 "with_counters" : true,
12162 "support_timeout" : false,
12163 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012164 "action_ids" : [32, 11],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012165 "actions" : ["FabricIngress.next.set_vlan", "nop"],
12166 "base_default_next" : "FabricIngress.next.simple",
12167 "next_tables" : {
12168 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
12169 "nop" : "FabricIngress.next.simple"
12170 },
12171 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012172 "action_id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012173 "action_const" : false,
12174 "action_data" : [],
12175 "action_entry_const" : false
12176 }
12177 },
12178 {
12179 "name" : "FabricIngress.next.simple",
Charles Chan384aea22018-08-23 22:08:02 -070012180 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012181 "source_info" : {
12182 "filename" : "include/control/next.p4",
12183 "line" : 122,
12184 "column" : 10,
12185 "source_fragment" : "simple"
12186 },
12187 "key" : [
12188 {
12189 "match_type" : "exact",
12190 "name" : "fabric_metadata.next_id",
12191 "target" : ["scalars", "fabric_metadata_t.next_id"],
12192 "mask" : null
12193 }
12194 ],
12195 "match_type" : "exact",
12196 "type" : "simple",
12197 "max_size" : 1024,
12198 "with_counters" : true,
12199 "support_timeout" : false,
12200 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012201 "action_ids" : [33, 34, 35, 36, 37, 38, 8],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012202 "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"],
12203 "base_default_next" : null,
12204 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012205 "__HIT__" : "tbl_act_19",
12206 "__MISS__" : "tbl_act_20"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012207 },
12208 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012209 "action_id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012210 "action_const" : false,
12211 "action_data" : [],
12212 "action_entry_const" : false
12213 }
12214 },
12215 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012216 "name" : "tbl_act_19",
Charles Chan384aea22018-08-23 22:08:02 -070012217 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012218 "key" : [],
12219 "match_type" : "exact",
12220 "type" : "simple",
12221 "max_size" : 1024,
12222 "with_counters" : false,
12223 "support_timeout" : false,
12224 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012225 "action_ids" : [63],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012226 "actions" : ["act_19"],
Charles Chan384aea22018-08-23 22:08:02 -070012227 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012228 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012229 "act_19" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012230 },
12231 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012232 "action_id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012233 "action_const" : true,
12234 "action_data" : [],
12235 "action_entry_const" : true
12236 }
12237 },
12238 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012239 "name" : "tbl_act_20",
Charles Chan384aea22018-08-23 22:08:02 -070012240 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012241 "key" : [],
12242 "match_type" : "exact",
12243 "type" : "simple",
12244 "max_size" : 1024,
12245 "with_counters" : false,
12246 "support_timeout" : false,
12247 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012248 "action_ids" : [64],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012249 "actions" : ["act_20"],
Charles Chan384aea22018-08-23 22:08:02 -070012250 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012251 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012252 "act_20" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012253 },
12254 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012255 "action_id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012256 "action_const" : true,
12257 "action_data" : [],
12258 "action_entry_const" : true
12259 }
12260 },
12261 {
12262 "name" : "FabricIngress.next.hashed",
Charles Chan384aea22018-08-23 22:08:02 -070012263 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012264 "source_info" : {
12265 "filename" : "include/control/next.p4",
12266 "line" : 175,
12267 "column" : 10,
12268 "source_fragment" : "hashed"
12269 },
12270 "key" : [
12271 {
12272 "match_type" : "exact",
12273 "name" : "fabric_metadata.next_id",
12274 "target" : ["scalars", "fabric_metadata_t.next_id"],
12275 "mask" : null
12276 }
12277 ],
12278 "match_type" : "exact",
12279 "type" : "indirect_ws",
12280 "action_profile" : "FabricIngress.next.ecmp_selector",
12281 "max_size" : 1024,
12282 "with_counters" : true,
12283 "support_timeout" : false,
12284 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012285 "action_ids" : [39, 40, 41, 9],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012286 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
12287 "base_default_next" : null,
12288 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012289 "__HIT__" : "tbl_act_21",
12290 "__MISS__" : "tbl_act_22"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012291 }
12292 },
12293 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012294 "name" : "tbl_act_21",
Charles Chan384aea22018-08-23 22:08:02 -070012295 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012296 "key" : [],
12297 "match_type" : "exact",
12298 "type" : "simple",
12299 "max_size" : 1024,
12300 "with_counters" : false,
12301 "support_timeout" : false,
12302 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012303 "action_ids" : [65],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012304 "actions" : ["act_21"],
Charles Chan384aea22018-08-23 22:08:02 -070012305 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012306 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012307 "act_21" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012308 },
12309 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012310 "action_id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012311 "action_const" : true,
12312 "action_data" : [],
12313 "action_entry_const" : true
12314 }
12315 },
12316 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012317 "name" : "tbl_act_22",
Charles Chan384aea22018-08-23 22:08:02 -070012318 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012319 "key" : [],
12320 "match_type" : "exact",
12321 "type" : "simple",
12322 "max_size" : 1024,
12323 "with_counters" : false,
12324 "support_timeout" : false,
12325 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012326 "action_ids" : [66],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012327 "actions" : ["act_22"],
Charles Chan384aea22018-08-23 22:08:02 -070012328 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012329 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012330 "act_22" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012331 },
12332 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012333 "action_id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012334 "action_const" : true,
12335 "action_data" : [],
12336 "action_entry_const" : true
12337 }
12338 },
12339 {
12340 "name" : "FabricIngress.next.multicast",
Charles Chan384aea22018-08-23 22:08:02 -070012341 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012342 "source_info" : {
12343 "filename" : "include/control/next.p4",
12344 "line" : 207,
12345 "column" : 10,
12346 "source_fragment" : "multicast"
12347 },
12348 "key" : [
12349 {
12350 "match_type" : "exact",
12351 "name" : "fabric_metadata.next_id",
12352 "target" : ["scalars", "fabric_metadata_t.next_id"],
12353 "mask" : null
12354 }
12355 ],
12356 "match_type" : "exact",
12357 "type" : "simple",
12358 "max_size" : 1024,
12359 "with_counters" : true,
12360 "support_timeout" : false,
12361 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012362 "action_ids" : [42, 10],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012363 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
12364 "base_default_next" : null,
12365 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012366 "__HIT__" : "tbl_act_23",
12367 "__MISS__" : "tbl_act_24"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012368 },
12369 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012370 "action_id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012371 "action_const" : false,
12372 "action_data" : [],
12373 "action_entry_const" : false
12374 }
12375 },
12376 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012377 "name" : "tbl_act_23",
Charles Chan384aea22018-08-23 22:08:02 -070012378 "id" : 39,
12379 "key" : [],
12380 "match_type" : "exact",
12381 "type" : "simple",
12382 "max_size" : 1024,
12383 "with_counters" : false,
12384 "support_timeout" : false,
12385 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012386 "action_ids" : [67],
Charles Chan384aea22018-08-23 22:08:02 -070012387 "actions" : ["act_23"],
12388 "base_default_next" : "node_58",
12389 "next_tables" : {
12390 "act_23" : "node_58"
12391 },
12392 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012393 "action_id" : 67,
Charles Chan384aea22018-08-23 22:08:02 -070012394 "action_const" : true,
12395 "action_data" : [],
12396 "action_entry_const" : true
12397 }
12398 },
12399 {
12400 "name" : "tbl_act_24",
12401 "id" : 40,
12402 "key" : [],
12403 "match_type" : "exact",
12404 "type" : "simple",
12405 "max_size" : 1024,
12406 "with_counters" : false,
12407 "support_timeout" : false,
12408 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012409 "action_ids" : [68],
Charles Chan384aea22018-08-23 22:08:02 -070012410 "actions" : ["act_24"],
12411 "base_default_next" : "node_58",
12412 "next_tables" : {
12413 "act_24" : "node_58"
12414 },
12415 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012416 "action_id" : 68,
Charles Chan384aea22018-08-23 22:08:02 -070012417 "action_const" : true,
12418 "action_data" : [],
12419 "action_entry_const" : true
12420 }
12421 },
12422 {
12423 "name" : "tbl_act_25",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012424 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012425 "key" : [],
12426 "match_type" : "exact",
12427 "type" : "simple",
12428 "max_size" : 1024,
12429 "with_counters" : false,
12430 "support_timeout" : false,
12431 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012432 "action_ids" : [69],
Charles Chan384aea22018-08-23 22:08:02 -070012433 "actions" : ["act_25"],
12434 "base_default_next" : "node_60",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012435 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012436 "act_25" : "node_60"
12437 },
12438 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012439 "action_id" : 69,
Charles Chan384aea22018-08-23 22:08:02 -070012440 "action_const" : true,
12441 "action_data" : [],
12442 "action_entry_const" : true
12443 }
12444 },
12445 {
12446 "name" : "tbl_act_26",
12447 "id" : 42,
12448 "key" : [],
12449 "match_type" : "exact",
12450 "type" : "simple",
12451 "max_size" : 1024,
12452 "with_counters" : false,
12453 "support_timeout" : false,
12454 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012455 "action_ids" : [70],
Charles Chan384aea22018-08-23 22:08:02 -070012456 "actions" : ["act_26"],
12457 "base_default_next" : "node_66",
12458 "next_tables" : {
12459 "act_26" : "node_66"
12460 },
12461 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012462 "action_id" : 70,
Charles Chan384aea22018-08-23 22:08:02 -070012463 "action_const" : true,
12464 "action_data" : [],
12465 "action_entry_const" : true
12466 }
12467 },
12468 {
12469 "name" : "tbl_act_27",
12470 "id" : 43,
12471 "key" : [],
12472 "match_type" : "exact",
12473 "type" : "simple",
12474 "max_size" : 1024,
12475 "with_counters" : false,
12476 "support_timeout" : false,
12477 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012478 "action_ids" : [71],
Charles Chan384aea22018-08-23 22:08:02 -070012479 "actions" : ["act_27"],
12480 "base_default_next" : "node_66",
12481 "next_tables" : {
12482 "act_27" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012483 },
12484 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012485 "action_id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012486 "action_const" : true,
12487 "action_data" : [],
12488 "action_entry_const" : true
12489 }
12490 },
12491 {
Charles Chan384aea22018-08-23 22:08:02 -070012492 "name" : "tbl_act_28",
12493 "id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012494 "key" : [],
12495 "match_type" : "exact",
12496 "type" : "simple",
12497 "max_size" : 1024,
12498 "with_counters" : false,
12499 "support_timeout" : false,
12500 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012501 "action_ids" : [72],
Charles Chan384aea22018-08-23 22:08:02 -070012502 "actions" : ["act_28"],
12503 "base_default_next" : "node_68",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012504 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012505 "act_28" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012506 },
12507 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012508 "action_id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012509 "action_const" : true,
12510 "action_data" : [],
12511 "action_entry_const" : true
12512 }
12513 },
12514 {
Charles Chan384aea22018-08-23 22:08:02 -070012515 "name" : "tbl_act_29",
12516 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012517 "key" : [],
12518 "match_type" : "exact",
12519 "type" : "simple",
12520 "max_size" : 1024,
12521 "with_counters" : false,
12522 "support_timeout" : false,
12523 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012524 "action_ids" : [73],
Charles Chan384aea22018-08-23 22:08:02 -070012525 "actions" : ["act_29"],
12526 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012527 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012528 "act_29" : "FabricIngress.process_set_source_sink.tb_set_source"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012529 },
12530 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012531 "action_id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012532 "action_const" : true,
12533 "action_data" : [],
12534 "action_entry_const" : true
12535 }
12536 },
12537 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012538 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
Charles Chan384aea22018-08-23 22:08:02 -070012539 "id" : 46,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012540 "source_info" : {
12541 "filename" : "include/int_source.p4",
12542 "line" : 101,
12543 "column" : 10,
12544 "source_fragment" : "tb_set_source"
12545 },
12546 "key" : [
12547 {
12548 "match_type" : "exact",
12549 "name" : "standard_metadata.ingress_port",
12550 "target" : ["standard_metadata", "ingress_port"],
12551 "mask" : null
12552 }
12553 ],
12554 "match_type" : "exact",
12555 "type" : "simple",
12556 "max_size" : 256,
12557 "with_counters" : true,
12558 "support_timeout" : false,
12559 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012560 "action_ids" : [15, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012561 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
12562 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
12563 "next_tables" : {
12564 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
12565 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
12566 },
12567 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012568 "action_id" : 2,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012569 "action_const" : false,
12570 "action_data" : [],
12571 "action_entry_const" : false
12572 }
12573 },
12574 {
12575 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
Charles Chan384aea22018-08-23 22:08:02 -070012576 "id" : 47,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012577 "source_info" : {
12578 "filename" : "include/int_source.p4",
12579 "line" : 111,
12580 "column" : 10,
12581 "source_fragment" : "tb_set_sink"
12582 },
12583 "key" : [
12584 {
12585 "match_type" : "exact",
12586 "name" : "standard_metadata.egress_spec",
12587 "target" : ["standard_metadata", "egress_spec"],
12588 "mask" : null
12589 }
12590 ],
12591 "match_type" : "exact",
12592 "type" : "simple",
12593 "max_size" : 256,
12594 "with_counters" : true,
12595 "support_timeout" : false,
12596 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012597 "action_ids" : [16, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012598 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
Charles Chan384aea22018-08-23 22:08:02 -070012599 "base_default_next" : "node_72",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012600 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012601 "FabricIngress.process_set_source_sink.int_set_sink" : "node_72",
12602 "NoAction" : "node_72"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012603 },
12604 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012605 "action_id" : 3,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012606 "action_const" : false,
12607 "action_data" : [],
12608 "action_entry_const" : false
12609 }
12610 },
12611 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012612 "name" : "tbl_act_30",
Charles Chan384aea22018-08-23 22:08:02 -070012613 "id" : 48,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012614 "key" : [],
12615 "match_type" : "exact",
12616 "type" : "simple",
12617 "max_size" : 1024,
12618 "with_counters" : false,
12619 "support_timeout" : false,
12620 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070012621 "action_ids" : [74],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012622 "actions" : ["act_30"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012623 "base_default_next" : null,
12624 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012625 "act_30" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012626 },
12627 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070012628 "action_id" : 74,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012629 "action_const" : true,
12630 "action_data" : [],
12631 "action_entry_const" : true
12632 }
12633 }
12634 ],
12635 "action_profiles" : [
12636 {
12637 "name" : "FabricIngress.next.ecmp_selector",
12638 "id" : 0,
12639 "max_size" : 64,
12640 "selector" : {
12641 "algo" : "crc16",
12642 "input" : [
12643 {
12644 "type" : "field",
12645 "value" : ["ipv4", "dst_addr"]
12646 },
12647 {
12648 "type" : "field",
12649 "value" : ["ipv4", "src_addr"]
12650 },
12651 {
12652 "type" : "field",
12653 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
12654 },
12655 {
12656 "type" : "field",
12657 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
12658 },
12659 {
12660 "type" : "field",
12661 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
12662 }
12663 ]
12664 }
12665 }
12666 ],
12667 "conditionals" : [
12668 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012669 "name" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012670 "id" : 0,
12671 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012672 "filename" : "include/spgw.p4",
12673 "line" : 30,
12674 "column" : 12,
12675 "source_fragment" : "! is_gtpu_encapped"
12676 },
12677 "expression" : {
12678 "type" : "expression",
12679 "value" : {
12680 "op" : "not",
12681 "left" : null,
12682 "right" : {
12683 "type" : "expression",
12684 "value" : {
12685 "op" : "d2b",
12686 "left" : null,
12687 "right" : {
12688 "type" : "field",
12689 "value" : ["gtpu", "$valid$"]
12690 }
12691 }
12692 }
12693 }
12694 },
12695 "true_next" : "tbl_act_0",
12696 "false_next" : "node_5"
12697 },
12698 {
12699 "name" : "node_5",
12700 "id" : 1,
12701 "expression" : {
12702 "type" : "expression",
12703 "value" : {
12704 "op" : "not",
12705 "left" : null,
12706 "right" : {
12707 "type" : "expression",
12708 "value" : {
12709 "op" : "d2b",
12710 "left" : null,
12711 "right" : {
12712 "type" : "field",
12713 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
12714 }
12715 }
12716 }
12717 }
12718 },
12719 "true_next" : "tbl_act_1",
12720 "false_next" : "node_10"
12721 },
12722 {
12723 "name" : "node_7",
12724 "id" : 2,
12725 "source_info" : {
12726 "filename" : "include/spgw.p4",
12727 "line" : 34,
12728 "column" : 12,
12729 "source_fragment" : "inner_udp.isValid()"
12730 },
12731 "expression" : {
12732 "type" : "expression",
12733 "value" : {
12734 "op" : "d2b",
12735 "left" : null,
12736 "right" : {
12737 "type" : "field",
12738 "value" : ["inner_udp", "$valid$"]
12739 }
12740 }
12741 },
12742 "true_next" : "tbl_act_2",
12743 "false_next" : "tbl_act_3"
12744 },
12745 {
12746 "name" : "node_10",
12747 "id" : 3,
12748 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012749 "filename" : "include/control/packetio.p4",
12750 "line" : 25,
12751 "column" : 12,
12752 "source_fragment" : "hdr.packet_out.isValid()"
12753 },
12754 "expression" : {
12755 "type" : "expression",
12756 "value" : {
12757 "op" : "d2b",
12758 "left" : null,
12759 "right" : {
12760 "type" : "field",
12761 "value" : ["packet_out", "$valid$"]
12762 }
12763 }
12764 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012765 "true_next" : "tbl_act_4",
12766 "false_next" : "tbl_act_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012767 },
12768 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012769 "name" : "node_13",
12770 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012771 "source_info" : {
12772 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012773 "line" : 139,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012774 "column" : 12,
12775 "source_fragment" : "gtpu.isValid()"
12776 },
12777 "expression" : {
12778 "type" : "expression",
12779 "value" : {
12780 "op" : "d2b",
12781 "left" : null,
12782 "right" : {
12783 "type" : "field",
12784 "value" : ["gtpu", "$valid$"]
12785 }
12786 }
12787 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012788 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
12789 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012790 },
12791 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012792 "name" : "node_17",
12793 "id" : 5,
12794 "source_info" : {
12795 "filename" : "include/spgw.p4",
12796 "line" : 143,
12797 "column" : 16,
12798 "source_fragment" : "!s1u_filter_table.apply().hit"
12799 },
12800 "expression" : {
12801 "type" : "expression",
12802 "value" : {
12803 "op" : "not",
12804 "left" : null,
12805 "right" : {
12806 "type" : "expression",
12807 "value" : {
12808 "op" : "d2b",
12809 "left" : null,
12810 "right" : {
12811 "type" : "field",
12812 "value" : ["scalars", "spgw_ingress_tmp_1"]
12813 }
12814 }
12815 }
12816 }
12817 },
12818 "true_next" : "tbl_drop_now",
12819 "false_next" : "tbl_act_8"
12820 },
12821 {
12822 "name" : "node_24",
12823 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012824 "expression" : {
12825 "type" : "expression",
12826 "value" : {
12827 "op" : "d2b",
12828 "left" : null,
12829 "right" : {
12830 "type" : "field",
12831 "value" : ["scalars", "spgw_ingress_tmp_2"]
12832 }
12833 }
12834 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012835 "true_next" : "tbl_act_11",
12836 "false_next" : "tbl_act_12"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012837 },
12838 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012839 "name" : "node_27",
12840 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012841 "expression" : {
12842 "type" : "expression",
12843 "value" : {
12844 "op" : "not",
12845 "left" : null,
12846 "right" : {
12847 "type" : "expression",
12848 "value" : {
12849 "op" : "d2b",
12850 "left" : null,
12851 "right" : {
12852 "type" : "field",
12853 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
12854 }
12855 }
12856 }
12857 }
12858 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012859 "true_next" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012860 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
12861 },
12862 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012863 "name" : "node_32",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012864 "id" : 8,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012865 "expression" : {
12866 "type" : "expression",
12867 "value" : {
12868 "op" : "d2b",
12869 "left" : null,
12870 "right" : {
12871 "type" : "field",
12872 "value" : ["scalars", "filtering_tmp_0"]
12873 }
12874 }
12875 },
12876 "true_next" : "FabricIngress.filtering.fwd_classifier",
12877 "false_next" : "tbl_act_16"
12878 },
12879 {
12880 "name" : "node_35",
12881 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012882 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012883 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070012884 "line" : 191,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012885 "column" : 11,
12886 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
12887 },
12888 "expression" : {
12889 "type" : "expression",
12890 "value" : {
12891 "op" : "==",
12892 "left" : {
12893 "type" : "field",
12894 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12895 },
12896 "right" : {
12897 "type" : "hexstr",
12898 "value" : "0x00"
12899 }
12900 }
12901 },
12902 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012903 "false_next" : "node_37"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012904 },
12905 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012906 "name" : "node_37",
12907 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012908 "source_info" : {
12909 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070012910 "line" : 192,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012911 "column" : 17,
12912 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
12913 },
12914 "expression" : {
12915 "type" : "expression",
12916 "value" : {
12917 "op" : "==",
12918 "left" : {
12919 "type" : "field",
12920 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12921 },
12922 "right" : {
12923 "type" : "hexstr",
12924 "value" : "0x01"
12925 }
12926 }
12927 },
12928 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012929 "false_next" : "node_40"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012930 },
12931 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012932 "name" : "node_40",
12933 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012934 "source_info" : {
12935 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070012936 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012937 "column" : 17,
12938 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
12939 },
12940 "expression" : {
12941 "type" : "expression",
12942 "value" : {
12943 "op" : "==",
12944 "left" : {
12945 "type" : "field",
12946 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12947 },
12948 "right" : {
12949 "type" : "hexstr",
12950 "value" : "0x02"
12951 }
12952 }
12953 },
Charles Chan384aea22018-08-23 22:08:02 -070012954 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012955 "false_next" : "node_42"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012956 },
12957 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012958 "name" : "node_42",
12959 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012960 "source_info" : {
12961 "filename" : "include/control/forwarding.p4",
Charles Chancd03f072018-08-31 17:46:37 -070012962 "line" : 200,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012963 "column" : 17,
12964 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
12965 },
12966 "expression" : {
12967 "type" : "expression",
12968 "value" : {
12969 "op" : "==",
12970 "left" : {
12971 "type" : "field",
12972 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12973 },
12974 "right" : {
12975 "type" : "hexstr",
12976 "value" : "0x04"
12977 }
12978 }
12979 },
Charles Chan384aea22018-08-23 22:08:02 -070012980 "true_next" : "FabricIngress.forwarding.routing_v6",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012981 "false_next" : "FabricIngress.forwarding.acl"
12982 },
12983 {
Charles Chan384aea22018-08-23 22:08:02 -070012984 "name" : "node_50",
12985 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012986 "source_info" : {
12987 "filename" : "include/control/next.p4",
12988 "line" : 219,
12989 "column" : 12,
12990 "source_fragment" : "!simple.apply().hit"
12991 },
12992 "expression" : {
12993 "type" : "expression",
12994 "value" : {
12995 "op" : "not",
12996 "left" : null,
12997 "right" : {
12998 "type" : "expression",
12999 "value" : {
13000 "op" : "d2b",
13001 "left" : null,
13002 "right" : {
13003 "type" : "field",
13004 "value" : ["scalars", "next_tmp_4"]
13005 }
13006 }
13007 }
13008 }
13009 },
13010 "true_next" : "FabricIngress.next.hashed",
Charles Chan384aea22018-08-23 22:08:02 -070013011 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013012 },
13013 {
Charles Chan384aea22018-08-23 22:08:02 -070013014 "name" : "node_54",
13015 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013016 "source_info" : {
13017 "filename" : "include/control/next.p4",
13018 "line" : 220,
13019 "column" : 16,
13020 "source_fragment" : "!hashed.apply().hit"
13021 },
13022 "expression" : {
13023 "type" : "expression",
13024 "value" : {
13025 "op" : "not",
13026 "left" : null,
13027 "right" : {
13028 "type" : "expression",
13029 "value" : {
13030 "op" : "d2b",
13031 "left" : null,
13032 "right" : {
13033 "type" : "field",
13034 "value" : ["scalars", "next_tmp_3"]
13035 }
13036 }
13037 }
13038 }
13039 },
13040 "true_next" : "FabricIngress.next.multicast",
Charles Chan384aea22018-08-23 22:08:02 -070013041 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013042 },
13043 {
Charles Chan384aea22018-08-23 22:08:02 -070013044 "name" : "node_58",
13045 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013046 "source_info" : {
13047 "filename" : "include/control/next.p4",
13048 "line" : 221,
13049 "column" : 20,
13050 "source_fragment" : "!multicast.apply().hit"
13051 },
13052 "expression" : {
13053 "type" : "expression",
13054 "value" : {
13055 "op" : "not",
13056 "left" : null,
13057 "right" : {
13058 "type" : "expression",
13059 "value" : {
13060 "op" : "d2b",
13061 "left" : null,
13062 "right" : {
13063 "type" : "field",
13064 "value" : ["scalars", "next_tmp_2"]
13065 }
13066 }
13067 }
13068 }
13069 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013070 "true_next" : "tbl_act_25",
Charles Chan384aea22018-08-23 22:08:02 -070013071 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013072 },
13073 {
Charles Chan384aea22018-08-23 22:08:02 -070013074 "name" : "node_60",
13075 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013076 "expression" : {
13077 "type" : "expression",
13078 "value" : {
13079 "op" : "not",
13080 "left" : null,
13081 "right" : {
13082 "type" : "expression",
13083 "value" : {
13084 "op" : "d2b",
13085 "left" : null,
13086 "right" : {
13087 "type" : "field",
13088 "value" : ["scalars", "next_hasReturned_0"]
13089 }
13090 }
13091 }
13092 }
13093 },
Charles Chan384aea22018-08-23 22:08:02 -070013094 "true_next" : "node_61",
13095 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013096 },
13097 {
Charles Chan384aea22018-08-23 22:08:02 -070013098 "name" : "node_61",
13099 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013100 "source_info" : {
13101 "filename" : "include/control/next.p4",
13102 "line" : 228,
13103 "column" : 12,
13104 "source_fragment" : "!hdr.mpls.isValid()"
13105 },
13106 "expression" : {
13107 "type" : "expression",
13108 "value" : {
13109 "op" : "not",
13110 "left" : null,
13111 "right" : {
13112 "type" : "expression",
13113 "value" : {
13114 "op" : "d2b",
13115 "left" : null,
13116 "right" : {
13117 "type" : "field",
13118 "value" : ["mpls", "$valid$"]
13119 }
13120 }
13121 }
13122 }
13123 },
Charles Chan384aea22018-08-23 22:08:02 -070013124 "true_next" : "node_62",
13125 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013126 },
13127 {
Charles Chan384aea22018-08-23 22:08:02 -070013128 "name" : "node_62",
13129 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013130 "source_info" : {
13131 "filename" : "include/control/next.p4",
13132 "line" : 229,
13133 "column" : 15,
13134 "source_fragment" : "hdr.ipv4.isValid()"
13135 },
13136 "expression" : {
13137 "type" : "expression",
13138 "value" : {
13139 "op" : "d2b",
13140 "left" : null,
13141 "right" : {
13142 "type" : "field",
13143 "value" : ["ipv4", "$valid$"]
13144 }
13145 }
13146 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013147 "true_next" : "tbl_act_26",
Charles Chan384aea22018-08-23 22:08:02 -070013148 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013149 },
13150 {
Charles Chan384aea22018-08-23 22:08:02 -070013151 "name" : "node_64",
13152 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013153 "source_info" : {
13154 "filename" : "include/control/next.p4",
13155 "line" : 233,
13156 "column" : 21,
13157 "source_fragment" : "hdr.ipv6.isValid()"
13158 },
13159 "expression" : {
13160 "type" : "expression",
13161 "value" : {
13162 "op" : "d2b",
13163 "left" : null,
13164 "right" : {
13165 "type" : "field",
13166 "value" : ["ipv6", "$valid$"]
13167 }
13168 }
13169 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013170 "true_next" : "tbl_act_27",
Charles Chan384aea22018-08-23 22:08:02 -070013171 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013172 },
13173 {
Charles Chan384aea22018-08-23 22:08:02 -070013174 "name" : "node_66",
13175 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013176 "source_info" : {
13177 "filename" : "include/control/port_counter.p4",
13178 "line" : 27,
13179 "column" : 12,
13180 "source_fragment" : "standard_metadata.egress_spec < 511"
13181 },
13182 "expression" : {
13183 "type" : "expression",
13184 "value" : {
13185 "op" : "<",
13186 "left" : {
13187 "type" : "field",
13188 "value" : ["standard_metadata", "egress_spec"]
13189 },
13190 "right" : {
13191 "type" : "hexstr",
13192 "value" : "0x01ff"
13193 }
13194 }
13195 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013196 "true_next" : "tbl_act_28",
Charles Chan384aea22018-08-23 22:08:02 -070013197 "false_next" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013198 },
13199 {
Charles Chan384aea22018-08-23 22:08:02 -070013200 "name" : "node_68",
13201 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013202 "source_info" : {
13203 "filename" : "include/control/port_counter.p4",
13204 "line" : 30,
13205 "column" : 12,
13206 "source_fragment" : "standard_metadata.ingress_port < 511"
13207 },
13208 "expression" : {
13209 "type" : "expression",
13210 "value" : {
13211 "op" : "<",
13212 "left" : {
13213 "type" : "field",
13214 "value" : ["standard_metadata", "ingress_port"]
13215 },
13216 "right" : {
13217 "type" : "hexstr",
13218 "value" : "0x01ff"
13219 }
13220 }
13221 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013222 "true_next" : "tbl_act_29",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013223 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
13224 },
13225 {
Charles Chan384aea22018-08-23 22:08:02 -070013226 "name" : "node_72",
13227 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013228 "source_info" : {
13229 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013230 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013231 "column" : 11,
13232 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
13233 },
13234 "expression" : {
13235 "type" : "expression",
13236 "value" : {
13237 "op" : "==",
13238 "left" : {
13239 "type" : "field",
13240 "value" : ["userMetadata.int_meta", "sink"]
13241 },
13242 "right" : {
13243 "type" : "hexstr",
13244 "value" : "0x01"
13245 }
13246 }
13247 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013248 "false_next" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013249 "true_next" : "tbl_act_30"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013250 }
13251 ]
13252 },
13253 {
13254 "name" : "egress",
13255 "id" : 1,
13256 "source_info" : {
13257 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013258 "line" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013259 "column" : 8,
13260 "source_fragment" : "FabricEgress"
13261 },
Charles Chan384aea22018-08-23 22:08:02 -070013262 "init_table" : "node_76",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013263 "tables" : [
13264 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013265 "name" : "tbl_pkt_io_egress_pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070013266 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013267 "key" : [],
13268 "match_type" : "exact",
13269 "type" : "simple",
13270 "max_size" : 1024,
13271 "with_counters" : false,
13272 "support_timeout" : false,
13273 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013274 "action_ids" : [125],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013275 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
13276 "base_default_next" : "node_80",
13277 "next_tables" : {
13278 "FabricEgress.pkt_io_egress.pop_vlan" : "node_80"
13279 },
13280 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013281 "action_id" : 125,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013282 "action_const" : true,
13283 "action_data" : [],
13284 "action_entry_const" : true
13285 }
13286 },
13287 {
13288 "name" : "tbl_drop_now_0",
13289 "id" : 50,
13290 "key" : [],
13291 "match_type" : "exact",
13292 "type" : "simple",
13293 "max_size" : 1024,
13294 "with_counters" : false,
13295 "support_timeout" : false,
13296 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013297 "action_ids" : [81],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013298 "actions" : ["drop_now"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013299 "base_default_next" : "tbl_act_31",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013300 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013301 "drop_now" : "tbl_act_31"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013302 },
13303 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013304 "action_id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013305 "action_const" : true,
13306 "action_data" : [],
13307 "action_entry_const" : true
13308 }
13309 },
13310 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013311 "name" : "tbl_act_31",
13312 "id" : 51,
13313 "key" : [],
13314 "match_type" : "exact",
13315 "type" : "simple",
13316 "max_size" : 1024,
13317 "with_counters" : false,
13318 "support_timeout" : false,
13319 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013320 "action_ids" : [127],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013321 "actions" : ["act_31"],
13322 "base_default_next" : null,
13323 "next_tables" : {
13324 "act_31" : null
13325 },
13326 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013327 "action_id" : 127,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013328 "action_const" : true,
13329 "action_data" : [],
13330 "action_entry_const" : true
13331 }
13332 },
13333 {
13334 "name" : "tbl_drop_now_1",
13335 "id" : 52,
13336 "key" : [],
13337 "match_type" : "exact",
13338 "type" : "simple",
13339 "max_size" : 1024,
13340 "with_counters" : false,
13341 "support_timeout" : false,
13342 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013343 "action_ids" : [82],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013344 "actions" : ["drop_now"],
13345 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
13346 "next_tables" : {
13347 "drop_now" : "FabricEgress.egress_next.egress_vlan"
13348 },
13349 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013350 "action_id" : 82,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013351 "action_const" : true,
13352 "action_data" : [],
13353 "action_entry_const" : true
13354 }
13355 },
13356 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013357 "name" : "FabricEgress.egress_next.egress_vlan",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013358 "id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013359 "source_info" : {
13360 "filename" : "include/control/next.p4",
13361 "line" : 258,
13362 "column" : 10,
13363 "source_fragment" : "egress_vlan"
13364 },
13365 "key" : [
13366 {
13367 "match_type" : "exact",
13368 "name" : "hdr.vlan_tag.vlan_id",
13369 "target" : ["vlan_tag", "vlan_id"],
13370 "mask" : null
13371 },
13372 {
13373 "match_type" : "exact",
13374 "name" : "standard_metadata.egress_port",
13375 "target" : ["standard_metadata", "egress_port"],
13376 "mask" : null
13377 }
13378 ],
13379 "match_type" : "exact",
13380 "type" : "simple",
13381 "max_size" : 1024,
13382 "with_counters" : true,
13383 "support_timeout" : false,
13384 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013385 "action_ids" : [126, 80],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013386 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013387 "base_default_next" : "node_86",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013388 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013389 "FabricEgress.egress_next.pop_vlan" : "node_86",
13390 "nop" : "node_86"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013391 },
13392 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013393 "action_id" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013394 "action_const" : false,
13395 "action_data" : [],
13396 "action_entry_const" : false
13397 }
13398 },
13399 {
Charles Chan384aea22018-08-23 22:08:02 -070013400 "name" : "tbl_spgw_egress_gtpu_encap",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013401 "id" : 54,
13402 "key" : [],
13403 "match_type" : "exact",
13404 "type" : "simple",
13405 "max_size" : 1024,
13406 "with_counters" : false,
13407 "support_timeout" : false,
13408 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013409 "action_ids" : [83],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013410 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013411 "base_default_next" : "node_88",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013412 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013413 "FabricEgress.spgw_egress.gtpu_encap" : "node_88"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013414 },
13415 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013416 "action_id" : 83,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013417 "action_const" : true,
13418 "action_data" : [],
13419 "action_entry_const" : true
13420 }
13421 },
13422 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013423 "name" : "FabricEgress.process_int_source.tb_int_source",
Charles Chan384aea22018-08-23 22:08:02 -070013424 "id" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013425 "source_info" : {
13426 "filename" : "include/int_source.p4",
13427 "line" : 66,
13428 "column" : 10,
13429 "source_fragment" : "tb_int_source"
13430 },
13431 "key" : [
13432 {
13433 "match_type" : "ternary",
13434 "name" : "hdr.ipv4.src_addr",
13435 "target" : ["ipv4", "src_addr"],
13436 "mask" : null
13437 },
13438 {
13439 "match_type" : "ternary",
13440 "name" : "hdr.ipv4.dst_addr",
13441 "target" : ["ipv4", "dst_addr"],
13442 "mask" : null
13443 },
13444 {
13445 "match_type" : "ternary",
13446 "name" : "fabric_metadata.l4_src_port",
13447 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
13448 "mask" : null
13449 },
13450 {
13451 "match_type" : "ternary",
13452 "name" : "fabric_metadata.l4_dst_port",
13453 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
13454 "mask" : null
13455 }
13456 ],
13457 "match_type" : "ternary",
13458 "type" : "simple",
13459 "max_size" : 1024,
13460 "with_counters" : true,
13461 "support_timeout" : false,
13462 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013463 "action_ids" : [84, 75],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013464 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013465 "base_default_next" : "node_91",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013466 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013467 "FabricEgress.process_int_source.int_source_dscp" : "node_91",
13468 "NoAction" : "node_91"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013469 },
13470 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013471 "action_id" : 75,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013472 "action_const" : false,
13473 "action_data" : [],
13474 "action_entry_const" : false
13475 }
13476 },
13477 {
13478 "name" : "FabricEgress.process_int_transit.tb_int_insert",
Charles Chan384aea22018-08-23 22:08:02 -070013479 "id" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013480 "source_info" : {
13481 "filename" : "include/int_transit.p4",
13482 "line" : 227,
13483 "column" : 10,
13484 "source_fragment" : "tb_int_insert"
13485 },
13486 "key" : [],
13487 "match_type" : "exact",
13488 "type" : "simple",
13489 "max_size" : 2,
13490 "with_counters" : true,
13491 "support_timeout" : false,
13492 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013493 "action_ids" : [86, 76],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013494 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
13495 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13496 "next_tables" : {
13497 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13498 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
13499 },
13500 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013501 "action_id" : 76,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013502 "action_const" : false,
13503 "action_data" : [],
13504 "action_entry_const" : false
13505 }
13506 },
13507 {
13508 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
Charles Chan384aea22018-08-23 22:08:02 -070013509 "id" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013510 "source_info" : {
13511 "filename" : "include/int_transit.p4",
13512 "line" : 237,
13513 "column" : 10,
13514 "source_fragment" : "tb_int_inst_0003"
13515 },
13516 "key" : [
13517 {
13518 "match_type" : "exact",
13519 "name" : "hdr.int_header.instruction_mask_0003",
13520 "target" : ["int_header", "instruction_mask_0003"],
13521 "mask" : null
13522 }
13523 ],
13524 "match_type" : "exact",
13525 "type" : "simple",
13526 "max_size" : 16,
13527 "with_counters" : true,
13528 "support_timeout" : false,
13529 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013530 "action_ids" : [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 77],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013531 "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"],
13532 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13533 "next_tables" : {
13534 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13535 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13536 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13537 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13538 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13539 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13540 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13541 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13542 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13543 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13544 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13545 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13546 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13547 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13548 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13549 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13550 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
13551 },
13552 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013553 "action_id" : 77,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013554 "action_const" : false,
13555 "action_data" : [],
13556 "action_entry_const" : false
13557 }
13558 },
13559 {
13560 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
Charles Chan384aea22018-08-23 22:08:02 -070013561 "id" : 58,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013562 "source_info" : {
13563 "filename" : "include/int_transit.p4",
13564 "line" : 264,
13565 "column" : 10,
13566 "source_fragment" : "tb_int_inst_0407"
13567 },
13568 "key" : [
13569 {
13570 "match_type" : "exact",
13571 "name" : "hdr.int_header.instruction_mask_0407",
13572 "target" : ["int_header", "instruction_mask_0407"],
13573 "mask" : null
13574 }
13575 ],
13576 "match_type" : "exact",
13577 "type" : "simple",
13578 "max_size" : 16,
13579 "with_counters" : true,
13580 "support_timeout" : false,
13581 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013582 "action_ids" : [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 78],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013583 "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"],
13584 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
13585 "next_tables" : {
13586 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
13587 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
13588 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
13589 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
13590 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
13591 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
13592 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
13593 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
13594 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
13595 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
13596 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
13597 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
13598 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
13599 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
13600 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
13601 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
13602 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
13603 },
13604 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013605 "action_id" : 78,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013606 "action_const" : false,
13607 "action_data" : [],
13608 "action_entry_const" : false
13609 }
13610 },
13611 {
13612 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
Charles Chan384aea22018-08-23 22:08:02 -070013613 "id" : 59,
13614 "key" : [],
13615 "match_type" : "exact",
13616 "type" : "simple",
13617 "max_size" : 1024,
13618 "with_counters" : false,
13619 "support_timeout" : false,
13620 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013621 "action_ids" : [85],
Charles Chan384aea22018-08-23 22:08:02 -070013622 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013623 "base_default_next" : "node_96",
Charles Chan384aea22018-08-23 22:08:02 -070013624 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013625 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_96"
Charles Chan384aea22018-08-23 22:08:02 -070013626 },
13627 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013628 "action_id" : 85,
Charles Chan384aea22018-08-23 22:08:02 -070013629 "action_const" : true,
13630 "action_data" : [],
13631 "action_entry_const" : true
13632 }
13633 },
13634 {
13635 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
13636 "id" : 60,
13637 "key" : [],
13638 "match_type" : "exact",
13639 "type" : "simple",
13640 "max_size" : 1024,
13641 "with_counters" : false,
13642 "support_timeout" : false,
13643 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013644 "action_ids" : [119],
Charles Chan384aea22018-08-23 22:08:02 -070013645 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013646 "base_default_next" : "node_98",
Charles Chan384aea22018-08-23 22:08:02 -070013647 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013648 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_98"
Charles Chan384aea22018-08-23 22:08:02 -070013649 },
13650 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013651 "action_id" : 119,
Charles Chan384aea22018-08-23 22:08:02 -070013652 "action_const" : true,
13653 "action_data" : [],
13654 "action_entry_const" : true
13655 }
13656 },
13657 {
13658 "name" : "tbl_process_int_outer_encap_int_update_udp",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013659 "id" : 61,
13660 "key" : [],
13661 "match_type" : "exact",
13662 "type" : "simple",
13663 "max_size" : 1024,
13664 "with_counters" : false,
13665 "support_timeout" : false,
13666 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013667 "action_ids" : [120],
Charles Chan384aea22018-08-23 22:08:02 -070013668 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013669 "base_default_next" : "node_100",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013670 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013671 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_100"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013672 },
13673 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013674 "action_id" : 120,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013675 "action_const" : true,
13676 "action_data" : [],
13677 "action_entry_const" : true
13678 }
13679 },
13680 {
Charles Chan384aea22018-08-23 22:08:02 -070013681 "name" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013682 "id" : 62,
13683 "key" : [],
13684 "match_type" : "exact",
13685 "type" : "simple",
13686 "max_size" : 1024,
13687 "with_counters" : false,
13688 "support_timeout" : false,
13689 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013690 "action_ids" : [121],
Charles Chan384aea22018-08-23 22:08:02 -070013691 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013692 "base_default_next" : "node_102",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013693 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013694 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_102"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013695 },
13696 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013697 "action_id" : 121,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013698 "action_const" : true,
13699 "action_data" : [],
13700 "action_entry_const" : true
13701 }
13702 },
13703 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013704 "name" : "FabricEgress.process_int_report.tb_generate_report",
Charles Chan384aea22018-08-23 22:08:02 -070013705 "id" : 63,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013706 "source_info" : {
13707 "filename" : "include/int_report.p4",
13708 "line" : 87,
13709 "column" : 10,
13710 "source_fragment" : "tb_generate_report"
13711 },
13712 "key" : [],
13713 "match_type" : "exact",
13714 "type" : "simple",
13715 "max_size" : 1024,
13716 "with_counters" : false,
13717 "support_timeout" : false,
13718 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013719 "action_ids" : [122, 79],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013720 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013721 "base_default_next" : "node_104",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013722 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013723 "FabricEgress.process_int_report.do_report_encapsulation" : "node_104",
13724 "NoAction" : "node_104"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013725 },
13726 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013727 "action_id" : 79,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013728 "action_const" : false,
13729 "action_data" : [],
13730 "action_entry_const" : false
13731 }
13732 },
13733 {
13734 "name" : "tbl_process_int_sink_restore_header",
Charles Chan384aea22018-08-23 22:08:02 -070013735 "id" : 64,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013736 "key" : [],
13737 "match_type" : "exact",
13738 "type" : "simple",
13739 "max_size" : 1024,
13740 "with_counters" : false,
13741 "support_timeout" : false,
13742 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013743 "action_ids" : [123],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013744 "actions" : ["FabricEgress.process_int_sink.restore_header"],
13745 "base_default_next" : "tbl_process_int_sink_int_sink",
13746 "next_tables" : {
13747 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
13748 },
13749 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013750 "action_id" : 123,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013751 "action_const" : true,
13752 "action_data" : [],
13753 "action_entry_const" : true
13754 }
13755 },
13756 {
13757 "name" : "tbl_process_int_sink_int_sink",
Charles Chan384aea22018-08-23 22:08:02 -070013758 "id" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013759 "key" : [],
13760 "match_type" : "exact",
13761 "type" : "simple",
13762 "max_size" : 1024,
13763 "with_counters" : false,
13764 "support_timeout" : false,
13765 "direct_meters" : null,
Charles Chancd03f072018-08-31 17:46:37 -070013766 "action_ids" : [124],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013767 "actions" : ["FabricEgress.process_int_sink.int_sink"],
13768 "base_default_next" : null,
13769 "next_tables" : {
13770 "FabricEgress.process_int_sink.int_sink" : null
13771 },
13772 "default_entry" : {
Charles Chancd03f072018-08-31 17:46:37 -070013773 "action_id" : 124,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013774 "action_const" : true,
13775 "action_data" : [],
13776 "action_entry_const" : true
13777 }
13778 }
13779 ],
13780 "action_profiles" : [],
13781 "conditionals" : [
13782 {
Charles Chan384aea22018-08-23 22:08:02 -070013783 "name" : "node_76",
13784 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013785 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013786 "filename" : "include/control/packetio.p4",
13787 "line" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013788 "column" : 12,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013789 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013790 },
13791 "expression" : {
13792 "type" : "expression",
13793 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013794 "op" : "==",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013795 "left" : {
13796 "type" : "expression",
13797 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013798 "op" : "d2b",
13799 "left" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013800 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013801 "type" : "field",
13802 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013803 }
13804 }
13805 },
13806 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013807 "type" : "bool",
13808 "value" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013809 }
13810 }
13811 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013812 "true_next" : null,
13813 "false_next" : "node_77"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013814 },
13815 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013816 "name" : "node_77",
Charles Chan384aea22018-08-23 22:08:02 -070013817 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013818 "source_info" : {
13819 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013820 "line" : 47,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013821 "column" : 12,
13822 "source_fragment" : "standard_metadata.egress_port == 255"
13823 },
13824 "expression" : {
13825 "type" : "expression",
13826 "value" : {
13827 "op" : "==",
13828 "left" : {
13829 "type" : "field",
13830 "value" : ["standard_metadata", "egress_port"]
13831 },
13832 "right" : {
13833 "type" : "hexstr",
13834 "value" : "0x00ff"
13835 }
13836 }
13837 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013838 "true_next" : "node_78",
13839 "false_next" : "node_83"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013840 },
13841 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013842 "name" : "node_78",
Charles Chan384aea22018-08-23 22:08:02 -070013843 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013844 "source_info" : {
13845 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013846 "line" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013847 "column" : 16,
13848 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
13849 },
13850 "expression" : {
13851 "type" : "expression",
13852 "value" : {
13853 "op" : "and",
13854 "left" : {
13855 "type" : "expression",
13856 "value" : {
13857 "op" : "d2b",
13858 "left" : null,
13859 "right" : {
13860 "type" : "field",
13861 "value" : ["vlan_tag", "$valid$"]
13862 }
13863 }
13864 },
13865 "right" : {
13866 "type" : "expression",
13867 "value" : {
13868 "op" : "==",
13869 "left" : {
13870 "type" : "expression",
13871 "value" : {
13872 "op" : "d2b",
13873 "left" : null,
13874 "right" : {
13875 "type" : "field",
13876 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
13877 }
13878 }
13879 },
13880 "right" : {
13881 "type" : "bool",
13882 "value" : true
13883 }
13884 }
13885 }
13886 }
13887 },
13888 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013889 "false_next" : "node_80"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013890 },
13891 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013892 "name" : "node_80",
Charles Chan384aea22018-08-23 22:08:02 -070013893 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013894 "source_info" : {
13895 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013896 "line" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013897 "column" : 16,
13898 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
13899 },
13900 "expression" : {
13901 "type" : "expression",
13902 "value" : {
13903 "op" : "and",
13904 "left" : {
13905 "type" : "expression",
13906 "value" : {
13907 "op" : "==",
13908 "left" : {
13909 "type" : "expression",
13910 "value" : {
13911 "op" : "d2b",
13912 "left" : null,
13913 "right" : {
13914 "type" : "field",
13915 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13916 }
13917 }
13918 },
13919 "right" : {
13920 "type" : "bool",
13921 "value" : true
13922 }
13923 }
13924 },
13925 "right" : {
13926 "type" : "expression",
13927 "value" : {
13928 "op" : "==",
13929 "left" : {
13930 "type" : "expression",
13931 "value" : {
13932 "op" : "d2b",
13933 "left" : null,
13934 "right" : {
13935 "type" : "field",
13936 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
13937 }
13938 }
13939 },
13940 "right" : {
13941 "type" : "bool",
13942 "value" : false
13943 }
13944 }
13945 }
13946 }
13947 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013948 "true_next" : "tbl_drop_now_0",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013949 "false_next" : "tbl_act_31"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013950 },
13951 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013952 "name" : "node_83",
Charles Chan384aea22018-08-23 22:08:02 -070013953 "id" : 27,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013954 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070013955 "filename" : "include/control/next.p4",
13956 "line" : 272,
13957 "column" : 12,
13958 "source_fragment" : "fabric_metadata.is_multicast == true ..."
13959 },
13960 "expression" : {
13961 "type" : "expression",
13962 "value" : {
13963 "op" : "and",
13964 "left" : {
13965 "type" : "expression",
13966 "value" : {
13967 "op" : "==",
13968 "left" : {
13969 "type" : "expression",
13970 "value" : {
13971 "op" : "d2b",
13972 "left" : null,
13973 "right" : {
13974 "type" : "field",
13975 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13976 }
13977 }
13978 },
13979 "right" : {
13980 "type" : "bool",
13981 "value" : true
13982 }
13983 }
13984 },
13985 "right" : {
13986 "type" : "expression",
13987 "value" : {
13988 "op" : "==",
13989 "left" : {
13990 "type" : "field",
13991 "value" : ["standard_metadata", "ingress_port"]
13992 },
13993 "right" : {
13994 "type" : "field",
13995 "value" : ["standard_metadata", "egress_port"]
13996 }
13997 }
13998 }
13999 }
14000 },
14001 "true_next" : "tbl_drop_now_1",
14002 "false_next" : "FabricEgress.egress_next.egress_vlan"
14003 },
14004 {
14005 "name" : "node_86",
14006 "id" : 28,
14007 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014008 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014009 "line" : 221,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014010 "column" : 12,
14011 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
14012 },
14013 "expression" : {
14014 "type" : "expression",
14015 "value" : {
14016 "op" : "==",
14017 "left" : {
14018 "type" : "field",
14019 "value" : ["userMetadata.spgw", "direction"]
14020 },
14021 "right" : {
14022 "type" : "hexstr",
14023 "value" : "0x02"
14024 }
14025 }
14026 },
14027 "true_next" : "tbl_spgw_egress_gtpu_encap",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014028 "false_next" : "node_88"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014029 },
14030 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014031 "name" : "node_88",
14032 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014033 "source_info" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014034 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014035 "line" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014036 "column" : 12,
14037 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
14038 },
14039 "expression" : {
14040 "type" : "expression",
14041 "value" : {
14042 "op" : "and",
14043 "left" : {
14044 "type" : "expression",
14045 "value" : {
14046 "op" : "and",
14047 "left" : {
14048 "type" : "expression",
14049 "value" : {
14050 "op" : "!=",
14051 "left" : {
14052 "type" : "field",
14053 "value" : ["standard_metadata", "ingress_port"]
14054 },
14055 "right" : {
14056 "type" : "hexstr",
14057 "value" : "0x00ff"
14058 }
14059 }
14060 },
14061 "right" : {
14062 "type" : "expression",
14063 "value" : {
14064 "op" : "!=",
14065 "left" : {
14066 "type" : "field",
14067 "value" : ["standard_metadata", "egress_port"]
14068 },
14069 "right" : {
14070 "type" : "hexstr",
14071 "value" : "0x00ff"
14072 }
14073 }
14074 }
14075 }
14076 },
14077 "right" : {
14078 "type" : "expression",
14079 "value" : {
14080 "op" : "or",
14081 "left" : {
14082 "type" : "expression",
14083 "value" : {
14084 "op" : "d2b",
14085 "left" : null,
14086 "right" : {
14087 "type" : "field",
14088 "value" : ["udp", "$valid$"]
14089 }
14090 }
14091 },
14092 "right" : {
14093 "type" : "expression",
14094 "value" : {
14095 "op" : "d2b",
14096 "left" : null,
14097 "right" : {
14098 "type" : "field",
14099 "value" : ["tcp", "$valid$"]
14100 }
14101 }
14102 }
14103 }
14104 }
14105 }
14106 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014107 "false_next" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014108 "true_next" : "node_89"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014109 },
14110 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014111 "name" : "node_89",
14112 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014113 "source_info" : {
14114 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014115 "line" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014116 "column" : 16,
14117 "source_fragment" : "fabric_metadata.int_meta.source == 1"
14118 },
14119 "expression" : {
14120 "type" : "expression",
14121 "value" : {
14122 "op" : "==",
14123 "left" : {
14124 "type" : "field",
14125 "value" : ["userMetadata.int_meta", "source"]
14126 },
14127 "right" : {
14128 "type" : "hexstr",
14129 "value" : "0x01"
14130 }
14131 }
14132 },
14133 "true_next" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014134 "false_next" : "node_91"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014135 },
14136 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014137 "name" : "node_91",
14138 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014139 "source_info" : {
14140 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014141 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014142 "column" : 15,
14143 "source_fragment" : "hdr.int_header.isValid()"
14144 },
14145 "expression" : {
14146 "type" : "expression",
14147 "value" : {
14148 "op" : "d2b",
14149 "left" : null,
14150 "right" : {
14151 "type" : "field",
14152 "value" : ["int_header", "$valid$"]
14153 }
14154 }
14155 },
14156 "false_next" : null,
14157 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
14158 },
14159 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014160 "name" : "node_96",
14161 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014162 "source_info" : {
14163 "filename" : "include/int_transit.p4",
14164 "line" : 314,
14165 "column" : 12,
14166 "source_fragment" : "hdr.ipv4.isValid()"
14167 },
14168 "expression" : {
14169 "type" : "expression",
14170 "value" : {
14171 "op" : "d2b",
14172 "left" : null,
14173 "right" : {
14174 "type" : "field",
14175 "value" : ["ipv4", "$valid$"]
14176 }
14177 }
14178 },
14179 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014180 "false_next" : "node_98"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014181 },
14182 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014183 "name" : "node_98",
14184 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014185 "source_info" : {
14186 "filename" : "include/int_transit.p4",
14187 "line" : 317,
14188 "column" : 12,
14189 "source_fragment" : "hdr.udp.isValid()"
14190 },
14191 "expression" : {
14192 "type" : "expression",
14193 "value" : {
14194 "op" : "d2b",
14195 "left" : null,
14196 "right" : {
14197 "type" : "field",
14198 "value" : ["udp", "$valid$"]
14199 }
14200 }
14201 },
14202 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014203 "false_next" : "node_100"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014204 },
14205 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014206 "name" : "node_100",
14207 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014208 "source_info" : {
14209 "filename" : "include/int_transit.p4",
14210 "line" : 320,
14211 "column" : 12,
14212 "source_fragment" : "hdr.intl4_shim.isValid()"
14213 },
14214 "expression" : {
14215 "type" : "expression",
14216 "value" : {
14217 "op" : "d2b",
14218 "left" : null,
14219 "right" : {
14220 "type" : "field",
14221 "value" : ["intl4_shim", "$valid$"]
14222 }
14223 }
14224 },
14225 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014226 "false_next" : "node_102"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014227 },
14228 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014229 "name" : "node_102",
14230 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014231 "source_info" : {
14232 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014233 "line" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014234 "column" : 20,
14235 "source_fragment" : "standard_metadata.instance_type == 1"
14236 },
14237 "expression" : {
14238 "type" : "expression",
14239 "value" : {
14240 "op" : "==",
14241 "left" : {
14242 "type" : "field",
14243 "value" : ["standard_metadata", "instance_type"]
14244 },
14245 "right" : {
14246 "type" : "hexstr",
14247 "value" : "0x00000001"
14248 }
14249 }
14250 },
14251 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014252 "false_next" : "node_104"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014253 },
14254 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070014255 "name" : "node_104",
14256 "id" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014257 "source_info" : {
14258 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014259 "line" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014260 "column" : 20,
14261 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
14262 },
14263 "expression" : {
14264 "type" : "expression",
14265 "value" : {
14266 "op" : "==",
14267 "left" : {
14268 "type" : "field",
14269 "value" : ["userMetadata.int_meta", "sink"]
14270 },
14271 "right" : {
14272 "type" : "hexstr",
14273 "value" : "0x01"
14274 }
14275 }
14276 },
14277 "false_next" : null,
14278 "true_next" : "tbl_process_int_sink_restore_header"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014279 }
14280 ]
14281 }
14282 ],
14283 "checksums" : [
14284 {
14285 "name" : "cksum",
14286 "id" : 0,
14287 "target" : ["ipv4", "hdr_checksum"],
14288 "type" : "generic",
14289 "calculation" : "calc",
14290 "if_cond" : {
14291 "type" : "expression",
14292 "value" : {
14293 "op" : "d2b",
14294 "left" : null,
14295 "right" : {
14296 "type" : "field",
14297 "value" : ["ipv4", "$valid$"]
14298 }
14299 }
14300 }
14301 },
14302 {
14303 "name" : "cksum_0",
14304 "id" : 1,
14305 "target" : ["gtpu_ipv4", "hdr_checksum"],
14306 "type" : "generic",
14307 "calculation" : "calc_0",
14308 "if_cond" : {
14309 "type" : "expression",
14310 "value" : {
14311 "op" : "d2b",
14312 "left" : null,
14313 "right" : {
14314 "type" : "field",
14315 "value" : ["gtpu_ipv4", "$valid$"]
14316 }
14317 }
14318 }
14319 },
14320 {
14321 "name" : "cksum_1",
14322 "id" : 2,
14323 "target" : ["ipv4", "hdr_checksum"],
14324 "type" : "generic",
14325 "calculation" : "calc_1",
14326 "if_cond" : {
14327 "type" : "expression",
14328 "value" : {
14329 "op" : "d2b",
14330 "left" : null,
14331 "right" : {
14332 "type" : "field",
14333 "value" : ["ipv4", "$valid$"]
14334 }
14335 }
14336 }
14337 }
14338 ],
14339 "force_arith" : [],
14340 "extern_instances" : [],
14341 "field_aliases" : [
14342 [
14343 "queueing_metadata.enq_timestamp",
14344 ["standard_metadata", "enq_timestamp"]
14345 ],
14346 [
14347 "queueing_metadata.enq_qdepth",
14348 ["standard_metadata", "enq_qdepth"]
14349 ],
14350 [
14351 "queueing_metadata.deq_timedelta",
14352 ["standard_metadata", "deq_timedelta"]
14353 ],
14354 [
14355 "queueing_metadata.deq_qdepth",
14356 ["standard_metadata", "deq_qdepth"]
14357 ],
14358 [
14359 "intrinsic_metadata.ingress_global_timestamp",
14360 ["standard_metadata", "ingress_global_timestamp"]
14361 ],
14362 [
14363 "intrinsic_metadata.egress_global_timestamp",
14364 ["standard_metadata", "egress_global_timestamp"]
14365 ],
14366 [
14367 "intrinsic_metadata.lf_field_list",
14368 ["standard_metadata", "lf_field_list"]
14369 ],
14370 [
14371 "intrinsic_metadata.mcast_grp",
14372 ["standard_metadata", "mcast_grp"]
14373 ],
14374 [
14375 "intrinsic_metadata.resubmit_flag",
14376 ["standard_metadata", "resubmit_flag"]
14377 ],
14378 [
14379 "intrinsic_metadata.egress_rid",
14380 ["standard_metadata", "egress_rid"]
14381 ],
14382 [
14383 "intrinsic_metadata.recirculate_flag",
14384 ["standard_metadata", "recirculate_flag"]
14385 ]
14386 ],
14387 "program" : "fabric.p4",
14388 "__meta__" : {
14389 "version" : [2, 18],
14390 "compiler" : "https://github.com/p4lang/p4c"
14391 }
14392}