blob: 8571db213729d303cd9aeef9bb90e6de22098f45 [file] [log] [blame]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
7 ["tmp", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008 ["tmp_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02009 ["tmp_1", 32, false],
Charles Chancf696e52018-08-16 16:25:13 -070010 ["tmp_2", 8, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011 ["tmp_3", 1, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012 ["tmp_4", 32, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013 ["tmp_5", 32, false],
14 ["spgw_ingress_tmp_1", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020015 ["spgw_ingress_tmp_2", 1, false],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070016 ["filtering_tmp_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020017 ["next_tmp_2", 1, false],
18 ["next_tmp_3", 1, false],
19 ["next_tmp_4", 1, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070020 ["spgw_normalizer_hasReturned_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020021 ["spgw_ingress_hasReturned_0", 1, false],
22 ["next_hasReturned_0", 1, false],
23 ["fabric_metadata_t.fwd_type", 3, false],
24 ["fabric_metadata_t.next_id", 32, false],
25 ["fabric_metadata_t.pop_vlan_when_packet_in", 1, false],
26 ["fabric_metadata_t.is_multicast", 1, false],
27 ["fabric_metadata_t.clone_to_cpu", 1, false],
28 ["fabric_metadata_t.ip_proto", 8, false],
29 ["fabric_metadata_t.l4_src_port", 16, false],
30 ["fabric_metadata_t.l4_dst_port", 16, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090031 ["fabric_metadata_t.compute_checksum", 1, false],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070032 ["_padding_2", 2, false]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020033 ]
34 },
35 {
36 "name" : "standard_metadata",
37 "id" : 1,
38 "fields" : [
39 ["ingress_port", 9, false],
40 ["egress_spec", 9, false],
41 ["egress_port", 9, false],
42 ["clone_spec", 32, false],
43 ["instance_type", 32, false],
44 ["drop", 1, false],
45 ["recirculate_port", 16, false],
46 ["packet_length", 32, false],
47 ["enq_timestamp", 32, false],
48 ["enq_qdepth", 19, false],
49 ["deq_timedelta", 32, false],
50 ["deq_qdepth", 19, false],
51 ["ingress_global_timestamp", 48, false],
52 ["egress_global_timestamp", 48, false],
53 ["lf_field_list", 32, false],
54 ["mcast_grp", 16, false],
55 ["resubmit_flag", 32, false],
56 ["egress_rid", 16, false],
57 ["checksum_error", 1, false],
58 ["recirculate_flag", 32, false],
59 ["_padding", 5, false]
60 ]
61 },
62 {
63 "name" : "ethernet_t",
64 "id" : 2,
65 "fields" : [
66 ["dst_addr", 48, false],
67 ["src_addr", 48, false],
68 ["ether_type", 16, false]
69 ]
70 },
71 {
72 "name" : "vlan_tag_t",
73 "id" : 3,
74 "fields" : [
75 ["pri", 3, false],
76 ["cfi", 1, false],
77 ["vlan_id", 12, false],
78 ["ether_type", 16, false]
79 ]
80 },
81 {
82 "name" : "mpls_t",
83 "id" : 4,
84 "fields" : [
85 ["label", 20, false],
86 ["tc", 3, false],
87 ["bos", 1, false],
88 ["ttl", 8, false]
89 ]
90 },
91 {
92 "name" : "ipv4_t",
93 "id" : 5,
94 "fields" : [
95 ["version", 4, false],
96 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090097 ["dscp", 6, false],
98 ["ecn", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020099 ["total_len", 16, false],
100 ["identification", 16, false],
101 ["flags", 3, false],
102 ["frag_offset", 13, false],
103 ["ttl", 8, false],
104 ["protocol", 8, false],
105 ["hdr_checksum", 16, false],
106 ["src_addr", 32, false],
107 ["dst_addr", 32, false]
108 ]
109 },
110 {
111 "name" : "udp_t",
112 "id" : 6,
113 "fields" : [
114 ["src_port", 16, false],
115 ["dst_port", 16, false],
116 ["len", 16, false],
117 ["checksum", 16, false]
118 ]
119 },
120 {
121 "name" : "gtpu_t",
122 "id" : 7,
123 "fields" : [
124 ["version", 3, false],
125 ["pt", 1, false],
126 ["spare", 1, false],
127 ["ex_flag", 1, false],
128 ["seq_flag", 1, false],
129 ["npdu_flag", 1, false],
130 ["msgtype", 8, false],
131 ["msglen", 16, false],
132 ["teid", 32, false]
133 ]
134 },
135 {
136 "name" : "ipv6_t",
137 "id" : 8,
138 "fields" : [
139 ["version", 4, false],
140 ["traffic_class", 8, false],
141 ["flow_label", 20, false],
142 ["payload_len", 16, false],
143 ["next_hdr", 8, false],
144 ["hop_limit", 8, false],
145 ["src_addr", 128, false],
146 ["dst_addr", 128, false]
147 ]
148 },
149 {
150 "name" : "arp_t",
151 "id" : 9,
152 "fields" : [
153 ["hw_type", 16, false],
154 ["proto_type", 16, false],
155 ["hw_addr_len", 8, false],
156 ["proto_addr_len", 8, false],
157 ["opcode", 16, false]
158 ]
159 },
160 {
161 "name" : "tcp_t",
162 "id" : 10,
163 "fields" : [
164 ["src_port", 16, false],
165 ["dst_port", 16, false],
166 ["seq_no", 32, false],
167 ["ack_no", 32, false],
168 ["data_offset", 4, false],
169 ["res", 3, false],
170 ["ecn", 3, false],
171 ["ctrl", 6, false],
172 ["window", 16, false],
173 ["checksum", 16, false],
174 ["urgent_ptr", 16, false]
175 ]
176 },
177 {
178 "name" : "icmp_t",
179 "id" : 11,
180 "fields" : [
181 ["icmp_type", 8, false],
182 ["icmp_code", 8, false],
183 ["checksum", 16, false],
184 ["identifier", 16, false],
185 ["sequence_number", 16, false],
186 ["timestamp", 64, false]
187 ]
188 },
189 {
190 "name" : "packet_out_header_t",
191 "id" : 12,
192 "fields" : [
193 ["egress_port", 9, false],
194 ["_pad", 7, false]
195 ]
196 },
197 {
198 "name" : "packet_in_header_t",
199 "id" : 13,
200 "fields" : [
201 ["ingress_port", 9, false],
202 ["_pad", 7, false]
203 ]
204 },
205 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900206 "name" : "report_fixed_header_t",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200207 "id" : 14,
208 "fields" : [
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900209 ["ver", 4, false],
210 ["nproto", 4, false],
211 ["d", 1, false],
212 ["q", 1, false],
213 ["f", 1, false],
214 ["rsvd", 15, false],
215 ["hw_id", 6, false],
216 ["seq_no", 32, false],
217 ["ingress_tstamp", 32, false]
218 ]
219 },
220 {
221 "name" : "drop_report_header_t",
222 "id" : 15,
223 "fields" : [
224 ["switch_id", 32, false],
225 ["ingress_port_id", 16, false],
226 ["egress_port_id", 16, false],
227 ["queue_id", 8, false],
228 ["drop_reason", 8, false],
229 ["pad", 16, false]
230 ]
231 },
232 {
233 "name" : "local_report_header_t",
234 "id" : 16,
235 "fields" : [
236 ["switch_id", 32, false],
237 ["ingress_port_id", 16, false],
238 ["egress_port_id", 16, false],
239 ["queue_id", 8, false],
240 ["queue_occupancy", 24, false],
241 ["egress_tstamp", 32, false]
242 ]
243 },
244 {
245 "name" : "intl4_shim_t",
246 "id" : 17,
247 "fields" : [
248 ["int_type", 8, false],
249 ["rsvd1", 8, false],
250 ["len", 8, false],
251 ["rsvd2", 8, false]
252 ]
253 },
254 {
255 "name" : "int_header_t",
256 "id" : 18,
257 "fields" : [
258 ["ver", 2, false],
259 ["rep", 2, false],
260 ["c", 1, false],
261 ["e", 1, false],
262 ["rsvd1", 5, false],
263 ["ins_cnt", 5, false],
264 ["max_hop_cnt", 8, false],
265 ["total_hop_cnt", 8, false],
266 ["instruction_mask_0003", 4, false],
267 ["instruction_mask_0407", 4, false],
268 ["instruction_mask_0811", 4, false],
269 ["instruction_mask_1215", 4, false],
270 ["rsvd2", 16, false]
271 ]
272 },
273 {
274 "name" : "int_data_t",
275 "id" : 19,
276 "fields" : [
277 ["data", "*"]
278 ],
279 "max_length" : 1004
280 },
281 {
282 "name" : "int_switch_id_t",
283 "id" : 20,
284 "fields" : [
285 ["switch_id", 32, false]
286 ]
287 },
288 {
289 "name" : "int_port_ids_t",
290 "id" : 21,
291 "fields" : [
292 ["ingress_port_id", 16, false],
293 ["egress_port_id", 16, false]
294 ]
295 },
296 {
297 "name" : "int_hop_latency_t",
298 "id" : 22,
299 "fields" : [
300 ["hop_latency", 32, false]
301 ]
302 },
303 {
304 "name" : "int_q_occupancy_t",
305 "id" : 23,
306 "fields" : [
307 ["q_id", 8, false],
308 ["q_occupancy", 24, false]
309 ]
310 },
311 {
312 "name" : "int_ingress_tstamp_t",
313 "id" : 24,
314 "fields" : [
315 ["ingress_tstamp", 32, false]
316 ]
317 },
318 {
319 "name" : "int_egress_tstamp_t",
320 "id" : 25,
321 "fields" : [
322 ["egress_tstamp", 32, false]
323 ]
324 },
325 {
326 "name" : "int_q_congestion_t",
327 "id" : 26,
328 "fields" : [
329 ["q_id", 8, false],
330 ["q_congestion", 24, false]
331 ]
332 },
333 {
334 "name" : "int_egress_port_tx_util_t",
335 "id" : 27,
336 "fields" : [
337 ["egress_port_tx_util", 32, false]
338 ]
339 },
340 {
341 "name" : "intl4_tail_t",
342 "id" : 28,
343 "fields" : [
344 ["next_proto", 8, false],
345 ["dest_port", 16, false],
346 ["dscp", 8, false]
347 ]
348 },
349 {
350 "name" : "spgw_meta_t",
351 "id" : 29,
352 "fields" : [
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700353 ["direction", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200354 ["ipv4_len", 16, false],
355 ["teid", 32, false],
356 ["s1u_enb_addr", 32, false],
357 ["s1u_sgw_addr", 32, false],
358 ["_padding_0", 6, false]
359 ]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900360 },
361 {
362 "name" : "int_metadata_t",
363 "id" : 30,
364 "fields" : [
365 ["switch_id", 32, false],
366 ["insert_byte_cnt", 16, false],
367 ["source", 1, false],
368 ["sink", 1, false],
369 ["mirror_id", 8, false],
370 ["flow_id", 16, false],
371 ["metadata_len", 8, false],
372 ["_padding_1", 6, false]
373 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200374 }
375 ],
376 "headers" : [
377 {
378 "name" : "scalars",
379 "id" : 0,
380 "header_type" : "scalars_0",
381 "metadata" : true,
382 "pi_omit" : true
383 },
384 {
385 "name" : "standard_metadata",
386 "id" : 1,
387 "header_type" : "standard_metadata",
388 "metadata" : true,
389 "pi_omit" : true
390 },
391 {
392 "name" : "ethernet",
393 "id" : 2,
394 "header_type" : "ethernet_t",
395 "metadata" : false,
396 "pi_omit" : true
397 },
398 {
399 "name" : "vlan_tag",
400 "id" : 3,
401 "header_type" : "vlan_tag_t",
402 "metadata" : false,
403 "pi_omit" : true
404 },
405 {
406 "name" : "mpls",
407 "id" : 4,
408 "header_type" : "mpls_t",
409 "metadata" : false,
410 "pi_omit" : true
411 },
412 {
413 "name" : "gtpu_ipv4",
414 "id" : 5,
415 "header_type" : "ipv4_t",
416 "metadata" : false,
417 "pi_omit" : true
418 },
419 {
420 "name" : "gtpu_udp",
421 "id" : 6,
422 "header_type" : "udp_t",
423 "metadata" : false,
424 "pi_omit" : true
425 },
426 {
427 "name" : "gtpu",
428 "id" : 7,
429 "header_type" : "gtpu_t",
430 "metadata" : false,
431 "pi_omit" : true
432 },
433 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700434 "name" : "inner_ipv4",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200435 "id" : 8,
436 "header_type" : "ipv4_t",
437 "metadata" : false,
438 "pi_omit" : true
439 },
440 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700441 "name" : "inner_udp",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200442 "id" : 9,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700443 "header_type" : "udp_t",
444 "metadata" : false,
445 "pi_omit" : true
446 },
447 {
448 "name" : "ipv4",
449 "id" : 10,
450 "header_type" : "ipv4_t",
451 "metadata" : false,
452 "pi_omit" : true
453 },
454 {
455 "name" : "ipv6",
456 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200457 "header_type" : "ipv6_t",
458 "metadata" : false,
459 "pi_omit" : true
460 },
461 {
462 "name" : "arp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700463 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200464 "header_type" : "arp_t",
465 "metadata" : false,
466 "pi_omit" : true
467 },
468 {
469 "name" : "tcp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700470 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200471 "header_type" : "tcp_t",
472 "metadata" : false,
473 "pi_omit" : true
474 },
475 {
476 "name" : "udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700477 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200478 "header_type" : "udp_t",
479 "metadata" : false,
480 "pi_omit" : true
481 },
482 {
483 "name" : "icmp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700484 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200485 "header_type" : "icmp_t",
486 "metadata" : false,
487 "pi_omit" : true
488 },
489 {
490 "name" : "packet_out",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700491 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200492 "header_type" : "packet_out_header_t",
493 "metadata" : false,
494 "pi_omit" : true
495 },
496 {
497 "name" : "packet_in",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700498 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200499 "header_type" : "packet_in_header_t",
500 "metadata" : false,
501 "pi_omit" : true
502 },
503 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900504 "name" : "report_ethernet",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700505 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900506 "header_type" : "ethernet_t",
507 "metadata" : false,
508 "pi_omit" : true
509 },
510 {
511 "name" : "report_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700512 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900513 "header_type" : "ipv4_t",
514 "metadata" : false,
515 "pi_omit" : true
516 },
517 {
518 "name" : "report_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700519 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900520 "header_type" : "udp_t",
521 "metadata" : false,
522 "pi_omit" : true
523 },
524 {
525 "name" : "report_fixed_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700526 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900527 "header_type" : "report_fixed_header_t",
528 "metadata" : false,
529 "pi_omit" : true
530 },
531 {
532 "name" : "report_local.drop_report_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700533 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900534 "header_type" : "drop_report_header_t",
535 "metadata" : false,
536 "pi_omit" : true
537 },
538 {
539 "name" : "report_local.local_report_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700540 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900541 "header_type" : "local_report_header_t",
542 "metadata" : false,
543 "pi_omit" : true
544 },
545 {
546 "name" : "intl4_shim",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700547 "id" : 24,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900548 "header_type" : "intl4_shim_t",
549 "metadata" : false,
550 "pi_omit" : true
551 },
552 {
553 "name" : "int_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700554 "id" : 25,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900555 "header_type" : "int_header_t",
556 "metadata" : false,
557 "pi_omit" : true
558 },
559 {
560 "name" : "int_data",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700561 "id" : 26,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900562 "header_type" : "int_data_t",
563 "metadata" : false,
564 "pi_omit" : true
565 },
566 {
567 "name" : "int_switch_id",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700568 "id" : 27,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900569 "header_type" : "int_switch_id_t",
570 "metadata" : false,
571 "pi_omit" : true
572 },
573 {
574 "name" : "int_port_ids",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700575 "id" : 28,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900576 "header_type" : "int_port_ids_t",
577 "metadata" : false,
578 "pi_omit" : true
579 },
580 {
581 "name" : "int_hop_latency",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700582 "id" : 29,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900583 "header_type" : "int_hop_latency_t",
584 "metadata" : false,
585 "pi_omit" : true
586 },
587 {
588 "name" : "int_q_occupancy",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700589 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900590 "header_type" : "int_q_occupancy_t",
591 "metadata" : false,
592 "pi_omit" : true
593 },
594 {
595 "name" : "int_ingress_tstamp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700596 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900597 "header_type" : "int_ingress_tstamp_t",
598 "metadata" : false,
599 "pi_omit" : true
600 },
601 {
602 "name" : "int_egress_tstamp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700603 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900604 "header_type" : "int_egress_tstamp_t",
605 "metadata" : false,
606 "pi_omit" : true
607 },
608 {
609 "name" : "int_q_congestion",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700610 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900611 "header_type" : "int_q_congestion_t",
612 "metadata" : false,
613 "pi_omit" : true
614 },
615 {
616 "name" : "int_egress_tx_util",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700617 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900618 "header_type" : "int_egress_port_tx_util_t",
619 "metadata" : false,
620 "pi_omit" : true
621 },
622 {
623 "name" : "intl4_tail",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700624 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900625 "header_type" : "intl4_tail_t",
626 "metadata" : false,
627 "pi_omit" : true
628 },
629 {
630 "name" : "userMetadata.spgw",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700631 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200632 "header_type" : "spgw_meta_t",
633 "metadata" : true,
634 "pi_omit" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900635 },
636 {
637 "name" : "userMetadata.int_meta",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700638 "id" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900639 "header_type" : "int_metadata_t",
640 "metadata" : true,
641 "pi_omit" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200642 }
643 ],
644 "header_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900645 "header_union_types" : [
646 {
647 "name" : "local_report_t",
648 "id" : 0,
649 "headers" : [
650 ["drop_report_header", "drop_report_header_t"],
651 ["local_report_header", "local_report_header_t"]
652 ]
653 }
654 ],
655 "header_unions" : [
656 {
657 "name" : "report_local",
658 "id" : 0,
659 "union_type" : "local_report_t",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700660 "header_ids" : [22, 23],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900661 "pi_omit" : true
662 }
663 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200664 "header_union_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900665 "field_lists" : [
666 {
667 "id" : 1,
668 "name" : "fl",
669 "elements" : []
670 }
671 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200672 "errors" : [],
673 "enums" : [],
674 "parsers" : [
675 {
676 "name" : "parser",
677 "id" : 0,
678 "init_state" : "start",
679 "parse_states" : [
680 {
681 "name" : "start",
682 "id" : 0,
683 "parser_ops" : [],
684 "transitions" : [
685 {
686 "type" : "hexstr",
687 "value" : "0x00ff",
688 "mask" : null,
689 "next_state" : "parse_packet_out"
690 },
691 {
692 "value" : "default",
693 "mask" : null,
694 "next_state" : "parse_ethernet"
695 }
696 ],
697 "transition_key" : [
698 {
699 "type" : "field",
700 "value" : ["standard_metadata", "ingress_port"]
701 }
702 ]
703 },
704 {
705 "name" : "parse_packet_out",
706 "id" : 1,
707 "parser_ops" : [
708 {
709 "parameters" : [
710 {
711 "type" : "regular",
712 "value" : "packet_out"
713 }
714 ],
715 "op" : "extract"
716 }
717 ],
718 "transitions" : [
719 {
720 "value" : "default",
721 "mask" : null,
722 "next_state" : "parse_ethernet"
723 }
724 ],
725 "transition_key" : []
726 },
727 {
728 "name" : "parse_ethernet",
729 "id" : 2,
730 "parser_ops" : [
731 {
732 "parameters" : [
733 {
734 "type" : "regular",
735 "value" : "ethernet"
736 }
737 ],
738 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200739 }
740 ],
741 "transitions" : [
742 {
743 "type" : "hexstr",
744 "value" : "0x8100",
745 "mask" : null,
746 "next_state" : "parse_vlan_tag"
747 },
748 {
749 "type" : "hexstr",
750 "value" : "0x8847",
751 "mask" : null,
752 "next_state" : "parse_mpls"
753 },
754 {
755 "type" : "hexstr",
756 "value" : "0x0806",
757 "mask" : null,
758 "next_state" : "parse_arp"
759 },
760 {
761 "type" : "hexstr",
762 "value" : "0x0800",
763 "mask" : null,
764 "next_state" : "parse_ipv4"
765 },
766 {
767 "type" : "hexstr",
768 "value" : "0x86dd",
769 "mask" : null,
770 "next_state" : "parse_ipv6"
771 },
772 {
773 "value" : "default",
774 "mask" : null,
775 "next_state" : null
776 }
777 ],
778 "transition_key" : [
779 {
780 "type" : "field",
781 "value" : ["ethernet", "ether_type"]
782 }
783 ]
784 },
785 {
786 "name" : "parse_vlan_tag",
787 "id" : 3,
788 "parser_ops" : [
789 {
790 "parameters" : [
791 {
792 "type" : "regular",
793 "value" : "vlan_tag"
794 }
795 ],
796 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200797 }
798 ],
799 "transitions" : [
800 {
801 "type" : "hexstr",
802 "value" : "0x0806",
803 "mask" : null,
804 "next_state" : "parse_arp"
805 },
806 {
807 "type" : "hexstr",
808 "value" : "0x0800",
809 "mask" : null,
810 "next_state" : "parse_ipv4"
811 },
812 {
813 "type" : "hexstr",
814 "value" : "0x86dd",
815 "mask" : null,
816 "next_state" : "parse_ipv6"
817 },
818 {
819 "type" : "hexstr",
820 "value" : "0x8847",
821 "mask" : null,
822 "next_state" : "parse_mpls"
823 },
824 {
825 "value" : "default",
826 "mask" : null,
827 "next_state" : null
828 }
829 ],
830 "transition_key" : [
831 {
832 "type" : "field",
833 "value" : ["vlan_tag", "ether_type"]
834 }
835 ]
836 },
837 {
838 "name" : "parse_mpls",
839 "id" : 4,
840 "parser_ops" : [
841 {
842 "parameters" : [
843 {
844 "type" : "regular",
845 "value" : "mpls"
846 }
847 ],
848 "op" : "extract"
849 },
850 {
851 "parameters" : [
852 {
853 "type" : "field",
854 "value" : ["scalars", "tmp"]
855 },
856 {
857 "type" : "lookahead",
858 "value" : [0, 4]
859 }
860 ],
861 "op" : "set"
862 }
863 ],
864 "transitions" : [
865 {
866 "type" : "hexstr",
867 "value" : "0x04",
868 "mask" : null,
869 "next_state" : "parse_ipv4"
870 },
871 {
872 "type" : "hexstr",
873 "value" : "0x06",
874 "mask" : null,
875 "next_state" : "parse_ipv6"
876 },
877 {
878 "value" : "default",
879 "mask" : null,
880 "next_state" : "parse_ethernet"
881 }
882 ],
883 "transition_key" : [
884 {
885 "type" : "field",
886 "value" : ["scalars", "tmp"]
887 }
888 ]
889 },
890 {
891 "name" : "parse_ipv4",
892 "id" : 5,
893 "parser_ops" : [
894 {
895 "parameters" : [
896 {
897 "type" : "regular",
898 "value" : "ipv4"
899 }
900 ],
901 "op" : "extract"
902 },
903 {
904 "parameters" : [
905 {
906 "type" : "field",
907 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
908 },
909 {
910 "type" : "field",
911 "value" : ["ipv4", "protocol"]
912 }
913 ],
914 "op" : "set"
915 }
916 ],
917 "transitions" : [
918 {
919 "type" : "hexstr",
920 "value" : "0x06",
921 "mask" : null,
922 "next_state" : "parse_tcp"
923 },
924 {
925 "type" : "hexstr",
926 "value" : "0x11",
927 "mask" : null,
928 "next_state" : "parse_udp"
929 },
930 {
931 "type" : "hexstr",
932 "value" : "0x01",
933 "mask" : null,
934 "next_state" : "parse_icmp"
935 },
936 {
937 "value" : "default",
938 "mask" : null,
939 "next_state" : null
940 }
941 ],
942 "transition_key" : [
943 {
944 "type" : "field",
945 "value" : ["ipv4", "protocol"]
946 }
947 ]
948 },
949 {
950 "name" : "parse_ipv6",
951 "id" : 6,
952 "parser_ops" : [
953 {
954 "parameters" : [
955 {
956 "type" : "regular",
957 "value" : "ipv6"
958 }
959 ],
960 "op" : "extract"
961 },
962 {
963 "parameters" : [
964 {
965 "type" : "field",
966 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
967 },
968 {
969 "type" : "field",
970 "value" : ["ipv6", "next_hdr"]
971 }
972 ],
973 "op" : "set"
974 }
975 ],
976 "transitions" : [
977 {
978 "type" : "hexstr",
979 "value" : "0x06",
980 "mask" : null,
981 "next_state" : "parse_tcp"
982 },
983 {
984 "type" : "hexstr",
985 "value" : "0x11",
986 "mask" : null,
987 "next_state" : "parse_udp"
988 },
989 {
990 "type" : "hexstr",
991 "value" : "0x3a",
992 "mask" : null,
993 "next_state" : "parse_icmp"
994 },
995 {
996 "value" : "default",
997 "mask" : null,
998 "next_state" : null
999 }
1000 ],
1001 "transition_key" : [
1002 {
1003 "type" : "field",
1004 "value" : ["ipv6", "next_hdr"]
1005 }
1006 ]
1007 },
1008 {
1009 "name" : "parse_arp",
1010 "id" : 7,
1011 "parser_ops" : [
1012 {
1013 "parameters" : [
1014 {
1015 "type" : "regular",
1016 "value" : "arp"
1017 }
1018 ],
1019 "op" : "extract"
1020 }
1021 ],
1022 "transitions" : [
1023 {
1024 "value" : "default",
1025 "mask" : null,
1026 "next_state" : null
1027 }
1028 ],
1029 "transition_key" : []
1030 },
1031 {
1032 "name" : "parse_tcp",
1033 "id" : 8,
1034 "parser_ops" : [
1035 {
1036 "parameters" : [
1037 {
1038 "type" : "regular",
1039 "value" : "tcp"
1040 }
1041 ],
1042 "op" : "extract"
1043 },
1044 {
1045 "parameters" : [
1046 {
1047 "type" : "field",
1048 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1049 },
1050 {
1051 "type" : "field",
1052 "value" : ["tcp", "src_port"]
1053 }
1054 ],
1055 "op" : "set"
1056 },
1057 {
1058 "parameters" : [
1059 {
1060 "type" : "field",
1061 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1062 },
1063 {
1064 "type" : "field",
1065 "value" : ["tcp", "dst_port"]
1066 }
1067 ],
1068 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001069 },
1070 {
1071 "parameters" : [
1072 {
1073 "type" : "field",
1074 "value" : ["scalars", "tmp_0"]
1075 },
1076 {
1077 "type" : "expression",
1078 "value" : {
1079 "type" : "expression",
1080 "value" : {
1081 "op" : "?",
1082 "left" : {
1083 "type" : "hexstr",
1084 "value" : "0x01"
1085 },
1086 "right" : {
1087 "type" : "hexstr",
1088 "value" : "0x00"
1089 },
1090 "cond" : {
1091 "type" : "expression",
1092 "value" : {
1093 "op" : "and",
1094 "left" : {
1095 "type" : "expression",
1096 "value" : {
1097 "op" : "d2b",
1098 "left" : null,
1099 "right" : {
1100 "type" : "field",
1101 "value" : ["ipv4", "$valid$"]
1102 }
1103 }
1104 },
1105 "right" : {
1106 "type" : "expression",
1107 "value" : {
1108 "op" : "==",
1109 "left" : {
1110 "type" : "expression",
1111 "value" : {
1112 "op" : "&",
1113 "left" : {
1114 "type" : "field",
1115 "value" : ["ipv4", "dscp"]
1116 },
1117 "right" : {
1118 "type" : "hexstr",
1119 "value" : "0x01"
1120 }
1121 }
1122 },
1123 "right" : {
1124 "type" : "hexstr",
1125 "value" : "0x01"
1126 }
1127 }
1128 }
1129 }
1130 }
1131 }
1132 }
1133 }
1134 ],
1135 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001136 }
1137 ],
1138 "transitions" : [
1139 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001140 "type" : "hexstr",
1141 "value" : "0x01",
1142 "mask" : null,
1143 "next_state" : "parse_intl4_shim"
1144 },
1145 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001146 "value" : "default",
1147 "mask" : null,
1148 "next_state" : null
1149 }
1150 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001151 "transition_key" : [
1152 {
1153 "type" : "field",
1154 "value" : ["scalars", "tmp_0"]
1155 }
1156 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001157 },
1158 {
1159 "name" : "parse_udp",
1160 "id" : 9,
1161 "parser_ops" : [
1162 {
1163 "parameters" : [
1164 {
1165 "type" : "regular",
1166 "value" : "udp"
1167 }
1168 ],
1169 "op" : "extract"
1170 },
1171 {
1172 "parameters" : [
1173 {
1174 "type" : "field",
1175 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1176 },
1177 {
1178 "type" : "field",
1179 "value" : ["udp", "src_port"]
1180 }
1181 ],
1182 "op" : "set"
1183 },
1184 {
1185 "parameters" : [
1186 {
1187 "type" : "field",
1188 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1189 },
1190 {
1191 "type" : "field",
1192 "value" : ["udp", "dst_port"]
1193 }
1194 ],
1195 "op" : "set"
1196 }
1197 ],
1198 "transitions" : [
1199 {
1200 "type" : "hexstr",
1201 "value" : "0x0868",
1202 "mask" : null,
1203 "next_state" : "parse_gtpu"
1204 },
1205 {
1206 "value" : "default",
1207 "mask" : null,
1208 "next_state" : null
1209 }
1210 ],
1211 "transition_key" : [
1212 {
1213 "type" : "field",
1214 "value" : ["udp", "dst_port"]
1215 }
1216 ]
1217 },
1218 {
1219 "name" : "parse_icmp",
1220 "id" : 10,
1221 "parser_ops" : [
1222 {
1223 "parameters" : [
1224 {
1225 "type" : "regular",
1226 "value" : "icmp"
1227 }
1228 ],
1229 "op" : "extract"
1230 }
1231 ],
1232 "transitions" : [
1233 {
1234 "value" : "default",
1235 "mask" : null,
1236 "next_state" : null
1237 }
1238 ],
1239 "transition_key" : []
1240 },
1241 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001242 "name" : "parse_intl4_shim",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001243 "id" : 11,
1244 "parser_ops" : [
1245 {
1246 "parameters" : [
1247 {
1248 "type" : "regular",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001249 "value" : "intl4_shim"
1250 }
1251 ],
1252 "op" : "extract"
1253 },
1254 {
1255 "parameters" : [
1256 {
1257 "type" : "regular",
1258 "value" : "int_header"
1259 }
1260 ],
1261 "op" : "extract"
1262 },
1263 {
1264 "parameters" : [
1265 {
1266 "type" : "field",
1267 "value" : ["userMetadata.int_meta", "metadata_len"]
1268 },
1269 {
1270 "type" : "expression",
1271 "value" : {
1272 "type" : "expression",
1273 "value" : {
1274 "op" : "&",
1275 "left" : {
1276 "type" : "expression",
1277 "value" : {
1278 "op" : "+",
1279 "left" : {
1280 "type" : "field",
1281 "value" : ["intl4_shim", "len"]
1282 },
1283 "right" : {
1284 "type" : "hexstr",
1285 "value" : "0xfc"
1286 }
1287 }
1288 },
1289 "right" : {
1290 "type" : "hexstr",
1291 "value" : "0xff"
1292 }
1293 }
1294 }
1295 }
1296 ],
1297 "op" : "set"
1298 }
1299 ],
1300 "transitions" : [
1301 {
1302 "type" : "hexstr",
1303 "value" : "0x00",
1304 "mask" : null,
1305 "next_state" : "parse_intl4_tail"
1306 },
1307 {
1308 "value" : "default",
1309 "mask" : null,
1310 "next_state" : "parse_int_data"
1311 }
1312 ],
1313 "transition_key" : [
1314 {
1315 "type" : "field",
1316 "value" : ["userMetadata.int_meta", "metadata_len"]
1317 }
1318 ]
1319 },
1320 {
1321 "name" : "parse_int_data",
1322 "id" : 12,
1323 "parser_ops" : [
1324 {
1325 "parameters" : [
1326 {
1327 "type" : "field",
1328 "value" : ["scalars", "tmp_1"]
1329 },
1330 {
1331 "type" : "expression",
1332 "value" : {
1333 "type" : "expression",
1334 "value" : {
1335 "op" : "&",
1336 "left" : {
1337 "type" : "expression",
1338 "value" : {
1339 "op" : "&",
1340 "left" : {
1341 "type" : "expression",
1342 "value" : {
1343 "op" : "<<",
1344 "left" : {
1345 "type" : "expression",
1346 "value" : {
1347 "op" : "&",
1348 "left" : {
1349 "type" : "expression",
1350 "value" : {
1351 "op" : "+",
1352 "left" : {
1353 "type" : "field",
1354 "value" : ["intl4_shim", "len"]
1355 },
1356 "right" : {
1357 "type" : "hexstr",
1358 "value" : "0xfc"
1359 }
1360 }
1361 },
1362 "right" : {
1363 "type" : "hexstr",
1364 "value" : "0xff"
1365 }
1366 }
1367 },
1368 "right" : {
1369 "type" : "hexstr",
1370 "value" : "0x5"
1371 }
1372 }
1373 },
1374 "right" : {
1375 "type" : "hexstr",
1376 "value" : "0xff"
1377 }
1378 }
1379 },
1380 "right" : {
1381 "type" : "hexstr",
1382 "value" : "0xffffffff"
1383 }
1384 }
1385 }
1386 }
1387 ],
1388 "op" : "set"
1389 },
1390 {
1391 "parameters" : [
1392 {
1393 "type" : "regular",
1394 "value" : "int_data"
1395 },
1396 {
1397 "type" : "expression",
1398 "value" : {
1399 "type" : "field",
1400 "value" : ["scalars", "tmp_1"]
1401 }
1402 }
1403 ],
1404 "op" : "extract_VL"
1405 }
1406 ],
1407 "transitions" : [
1408 {
1409 "value" : "default",
1410 "mask" : null,
1411 "next_state" : "parse_intl4_tail"
1412 }
1413 ],
1414 "transition_key" : []
1415 },
1416 {
1417 "name" : "parse_intl4_tail",
1418 "id" : 13,
1419 "parser_ops" : [
1420 {
1421 "parameters" : [
1422 {
1423 "type" : "regular",
1424 "value" : "intl4_tail"
1425 }
1426 ],
1427 "op" : "extract"
1428 }
1429 ],
1430 "transitions" : [
1431 {
1432 "value" : "default",
1433 "mask" : null,
1434 "next_state" : null
1435 }
1436 ],
1437 "transition_key" : []
1438 },
1439 {
1440 "name" : "parse_gtpu",
1441 "id" : 14,
1442 "parser_ops" : [
1443 {
1444 "parameters" : [
1445 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001446 "type" : "field",
1447 "value" : ["scalars", "tmp_2"]
1448 },
1449 {
1450 "type" : "expression",
1451 "value" : {
1452 "type" : "expression",
1453 "value" : {
1454 "op" : "&",
1455 "left" : {
Charles Chancf696e52018-08-16 16:25:13 -07001456 "type" : "expression",
1457 "value" : {
1458 "op" : "&",
1459 "left" : {
1460 "type" : "expression",
1461 "value" : {
1462 "op" : ">>",
1463 "left" : {
1464 "type" : "field",
1465 "value" : ["ipv4", "dst_addr"]
1466 },
1467 "right" : {
1468 "type" : "hexstr",
1469 "value" : "0x18"
1470 }
1471 }
1472 },
1473 "right" : {
1474 "type" : "hexstr",
1475 "value" : "0xffffffff"
1476 }
1477 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001478 },
1479 "right" : {
1480 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001481 "value" : "0xff"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001482 }
1483 }
1484 }
1485 }
1486 ],
1487 "op" : "set"
1488 }
1489 ],
1490 "transitions" : [
1491 {
1492 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001493 "value" : "0x8c",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001494 "mask" : null,
1495 "next_state" : "do_parse_gtpu"
1496 },
1497 {
1498 "value" : "default",
1499 "mask" : null,
1500 "next_state" : null
1501 }
1502 ],
1503 "transition_key" : [
1504 {
1505 "type" : "field",
1506 "value" : ["scalars", "tmp_2"]
1507 }
1508 ]
1509 },
1510 {
1511 "name" : "do_parse_gtpu",
1512 "id" : 15,
1513 "parser_ops" : [
1514 {
1515 "parameters" : [
1516 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001517 "type" : "regular",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001518 "value" : "gtpu"
1519 }
1520 ],
1521 "op" : "extract"
1522 },
1523 {
1524 "parameters" : [
1525 {
1526 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001527 "value" : "inner_ipv4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001528 }
1529 ],
1530 "op" : "extract"
1531 }
1532 ],
1533 "transitions" : [
1534 {
1535 "type" : "hexstr",
1536 "value" : "0x06",
1537 "mask" : null,
1538 "next_state" : "parse_tcp"
1539 },
1540 {
1541 "type" : "hexstr",
1542 "value" : "0x11",
1543 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001544 "next_state" : "parse_inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001545 },
1546 {
1547 "type" : "hexstr",
1548 "value" : "0x01",
1549 "mask" : null,
1550 "next_state" : "parse_icmp"
1551 },
1552 {
1553 "value" : "default",
1554 "mask" : null,
1555 "next_state" : null
1556 }
1557 ],
1558 "transition_key" : [
1559 {
1560 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001561 "value" : ["inner_ipv4", "protocol"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001562 }
1563 ]
1564 },
1565 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001566 "name" : "parse_inner_udp",
1567 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001568 "parser_ops" : [
1569 {
1570 "parameters" : [
1571 {
1572 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001573 "value" : "inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001574 }
1575 ],
1576 "op" : "extract"
1577 },
1578 {
1579 "parameters" : [
1580 {
1581 "type" : "field",
1582 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1583 },
1584 {
1585 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001586 "value" : ["inner_udp", "src_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001587 }
1588 ],
1589 "op" : "set"
1590 },
1591 {
1592 "parameters" : [
1593 {
1594 "type" : "field",
1595 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1596 },
1597 {
1598 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001599 "value" : ["inner_udp", "dst_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001600 }
1601 ],
1602 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001603 },
1604 {
1605 "parameters" : [
1606 {
1607 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001608 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001609 },
1610 {
1611 "type" : "expression",
1612 "value" : {
1613 "type" : "expression",
1614 "value" : {
1615 "op" : "?",
1616 "left" : {
1617 "type" : "hexstr",
1618 "value" : "0x01"
1619 },
1620 "right" : {
1621 "type" : "hexstr",
1622 "value" : "0x00"
1623 },
1624 "cond" : {
1625 "type" : "expression",
1626 "value" : {
1627 "op" : "and",
1628 "left" : {
1629 "type" : "expression",
1630 "value" : {
1631 "op" : "d2b",
1632 "left" : null,
1633 "right" : {
1634 "type" : "field",
1635 "value" : ["ipv4", "$valid$"]
1636 }
1637 }
1638 },
1639 "right" : {
1640 "type" : "expression",
1641 "value" : {
1642 "op" : "==",
1643 "left" : {
1644 "type" : "expression",
1645 "value" : {
1646 "op" : "&",
1647 "left" : {
1648 "type" : "field",
1649 "value" : ["ipv4", "dscp"]
1650 },
1651 "right" : {
1652 "type" : "hexstr",
1653 "value" : "0x01"
1654 }
1655 }
1656 },
1657 "right" : {
1658 "type" : "hexstr",
1659 "value" : "0x01"
1660 }
1661 }
1662 }
1663 }
1664 }
1665 }
1666 }
1667 }
1668 ],
1669 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001670 }
1671 ],
1672 "transitions" : [
1673 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001674 "type" : "hexstr",
1675 "value" : "0x01",
1676 "mask" : null,
1677 "next_state" : "parse_intl4_shim"
1678 },
1679 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001680 "value" : "default",
1681 "mask" : null,
1682 "next_state" : null
1683 }
1684 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001685 "transition_key" : [
1686 {
1687 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001688 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001689 }
1690 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001691 }
1692 ]
1693 }
1694 ],
1695 "parse_vsets" : [],
1696 "deparsers" : [
1697 {
1698 "name" : "deparser",
1699 "id" : 0,
1700 "source_info" : {
1701 "filename" : "include/parser.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001702 "line" : 223,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001703 "column" : 8,
1704 "source_fragment" : "FabricDeparser"
1705 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001706 "order" : ["packet_in", "report_ethernet", "report_ipv4", "report_udp", "report_fixed_header", "ethernet", "vlan_tag", "mpls", "arp", "gtpu_ipv4", "gtpu_udp", "gtpu", "ipv4", "ipv6", "tcp", "udp", "icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_tx_util", "int_data", "intl4_tail"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001707 }
1708 ],
1709 "meter_arrays" : [],
1710 "counter_arrays" : [
1711 {
1712 "name" : "FabricIngress.spgw_ingress.ue_counter",
1713 "id" : 0,
1714 "is_direct" : true,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001715 "binding" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001716 },
1717 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001718 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001719 "id" : 1,
1720 "is_direct" : true,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001721 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1722 },
1723 {
1724 "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
1725 "id" : 2,
1726 "is_direct" : true,
1727 "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
1728 },
1729 {
1730 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1731 "id" : 3,
1732 "is_direct" : true,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001733 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1734 },
1735 {
1736 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001737 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001738 "is_direct" : true,
1739 "binding" : "FabricIngress.filtering.fwd_classifier"
1740 },
1741 {
1742 "name" : "FabricIngress.forwarding.bridging_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001743 "id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001744 "is_direct" : true,
1745 "binding" : "FabricIngress.forwarding.bridging"
1746 },
1747 {
1748 "name" : "FabricIngress.forwarding.mpls_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001749 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001750 "is_direct" : true,
1751 "binding" : "FabricIngress.forwarding.mpls"
1752 },
1753 {
Charles Chan384aea22018-08-23 22:08:02 -07001754 "name" : "FabricIngress.forwarding.routing_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001755 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001756 "is_direct" : true,
Charles Chan384aea22018-08-23 22:08:02 -07001757 "binding" : "FabricIngress.forwarding.routing_v4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001758 },
1759 {
1760 "name" : "FabricIngress.forwarding.acl_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001761 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001762 "is_direct" : true,
1763 "binding" : "FabricIngress.forwarding.acl"
1764 },
1765 {
Charles Chan384aea22018-08-23 22:08:02 -07001766 "name" : "FabricIngress.forwarding.routing_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001767 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001768 "is_direct" : true,
Charles Chan384aea22018-08-23 22:08:02 -07001769 "binding" : "FabricIngress.forwarding.routing_v6"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001770 },
1771 {
1772 "name" : "FabricIngress.next.vlan_meta_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001773 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001774 "is_direct" : true,
1775 "binding" : "FabricIngress.next.vlan_meta"
1776 },
1777 {
1778 "name" : "FabricIngress.next.simple_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001779 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001780 "is_direct" : true,
1781 "binding" : "FabricIngress.next.simple"
1782 },
1783 {
1784 "name" : "FabricIngress.next.hashed_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001785 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001786 "is_direct" : true,
1787 "binding" : "FabricIngress.next.hashed"
1788 },
1789 {
1790 "name" : "FabricIngress.next.multicast_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001791 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001792 "is_direct" : true,
1793 "binding" : "FabricIngress.next.multicast"
1794 },
1795 {
1796 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001797 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001798 "source_info" : {
1799 "filename" : "include/control/port_counter.p4",
1800 "line" : 23,
1801 "column" : 48,
1802 "source_fragment" : "egress_port_counter"
1803 },
1804 "size" : 511,
1805 "is_direct" : false
1806 },
1807 {
1808 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001809 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001810 "source_info" : {
1811 "filename" : "include/control/port_counter.p4",
1812 "line" : 24,
1813 "column" : 48,
1814 "source_fragment" : "ingress_port_counter"
1815 },
1816 "size" : 511,
1817 "is_direct" : false
1818 },
1819 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001820 "name" : "FabricEgress.process_int_source.counter_int_source",
Charles Chan384aea22018-08-23 22:08:02 -07001821 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001822 "is_direct" : true,
1823 "binding" : "FabricEgress.process_int_source.tb_int_source"
1824 },
1825 {
1826 "name" : "FabricEgress.process_int_transit.counter_int_insert",
Charles Chan384aea22018-08-23 22:08:02 -07001827 "id" : 17,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001828 "is_direct" : true,
1829 "binding" : "FabricEgress.process_int_transit.tb_int_insert"
1830 },
1831 {
1832 "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
Charles Chan384aea22018-08-23 22:08:02 -07001833 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001834 "is_direct" : true,
1835 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
1836 },
1837 {
1838 "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
Charles Chan384aea22018-08-23 22:08:02 -07001839 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001840 "is_direct" : true,
1841 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
1842 },
1843 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001844 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Charles Chan384aea22018-08-23 22:08:02 -07001845 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001846 "is_direct" : true,
1847 "binding" : "FabricEgress.egress_next.egress_vlan"
1848 }
1849 ],
1850 "register_arrays" : [],
1851 "calculations" : [
1852 {
1853 "name" : "calc",
1854 "id" : 0,
1855 "source_info" : {
1856 "filename" : "include/checksum.p4",
1857 "line" : 28,
1858 "column" : 8,
1859 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1860 },
1861 "algo" : "csum16",
1862 "input" : [
1863 {
1864 "type" : "field",
1865 "value" : ["ipv4", "version"]
1866 },
1867 {
1868 "type" : "field",
1869 "value" : ["ipv4", "ihl"]
1870 },
1871 {
1872 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001873 "value" : ["ipv4", "dscp"]
1874 },
1875 {
1876 "type" : "field",
1877 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001878 },
1879 {
1880 "type" : "field",
1881 "value" : ["ipv4", "total_len"]
1882 },
1883 {
1884 "type" : "field",
1885 "value" : ["ipv4", "identification"]
1886 },
1887 {
1888 "type" : "field",
1889 "value" : ["ipv4", "flags"]
1890 },
1891 {
1892 "type" : "field",
1893 "value" : ["ipv4", "frag_offset"]
1894 },
1895 {
1896 "type" : "field",
1897 "value" : ["ipv4", "ttl"]
1898 },
1899 {
1900 "type" : "field",
1901 "value" : ["ipv4", "protocol"]
1902 },
1903 {
1904 "type" : "field",
1905 "value" : ["ipv4", "src_addr"]
1906 },
1907 {
1908 "type" : "field",
1909 "value" : ["ipv4", "dst_addr"]
1910 }
1911 ]
1912 },
1913 {
1914 "name" : "calc_0",
1915 "id" : 1,
1916 "source_info" : {
1917 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001918 "line" : 237,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001919 "column" : 8,
1920 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1921 },
1922 "algo" : "csum16",
1923 "input" : [
1924 {
1925 "type" : "field",
1926 "value" : ["gtpu_ipv4", "version"]
1927 },
1928 {
1929 "type" : "field",
1930 "value" : ["gtpu_ipv4", "ihl"]
1931 },
1932 {
1933 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001934 "value" : ["gtpu_ipv4", "dscp"]
1935 },
1936 {
1937 "type" : "field",
1938 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001939 },
1940 {
1941 "type" : "field",
1942 "value" : ["gtpu_ipv4", "total_len"]
1943 },
1944 {
1945 "type" : "field",
1946 "value" : ["gtpu_ipv4", "identification"]
1947 },
1948 {
1949 "type" : "field",
1950 "value" : ["gtpu_ipv4", "flags"]
1951 },
1952 {
1953 "type" : "field",
1954 "value" : ["gtpu_ipv4", "frag_offset"]
1955 },
1956 {
1957 "type" : "field",
1958 "value" : ["gtpu_ipv4", "ttl"]
1959 },
1960 {
1961 "type" : "field",
1962 "value" : ["gtpu_ipv4", "protocol"]
1963 },
1964 {
1965 "type" : "field",
1966 "value" : ["gtpu_ipv4", "src_addr"]
1967 },
1968 {
1969 "type" : "field",
1970 "value" : ["gtpu_ipv4", "dst_addr"]
1971 }
1972 ]
1973 },
1974 {
1975 "name" : "calc_1",
1976 "id" : 2,
1977 "source_info" : {
1978 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001979 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001980 "column" : 8,
1981 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1982 },
1983 "algo" : "csum16",
1984 "input" : [
1985 {
1986 "type" : "field",
1987 "value" : ["ipv4", "version"]
1988 },
1989 {
1990 "type" : "field",
1991 "value" : ["ipv4", "ihl"]
1992 },
1993 {
1994 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001995 "value" : ["ipv4", "dscp"]
1996 },
1997 {
1998 "type" : "field",
1999 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002000 },
2001 {
2002 "type" : "field",
2003 "value" : ["ipv4", "total_len"]
2004 },
2005 {
2006 "type" : "field",
2007 "value" : ["ipv4", "identification"]
2008 },
2009 {
2010 "type" : "field",
2011 "value" : ["ipv4", "flags"]
2012 },
2013 {
2014 "type" : "field",
2015 "value" : ["ipv4", "frag_offset"]
2016 },
2017 {
2018 "type" : "field",
2019 "value" : ["ipv4", "ttl"]
2020 },
2021 {
2022 "type" : "field",
2023 "value" : ["ipv4", "protocol"]
2024 },
2025 {
2026 "type" : "field",
2027 "value" : ["ipv4", "src_addr"]
2028 },
2029 {
2030 "type" : "field",
2031 "value" : ["ipv4", "dst_addr"]
2032 }
2033 ]
2034 }
2035 ],
2036 "learn_lists" : [],
2037 "actions" : [
2038 {
2039 "name" : "NoAction",
2040 "id" : 0,
2041 "runtime_data" : [],
2042 "primitives" : []
2043 },
2044 {
2045 "name" : "NoAction",
2046 "id" : 1,
2047 "runtime_data" : [],
2048 "primitives" : []
2049 },
2050 {
2051 "name" : "NoAction",
2052 "id" : 2,
2053 "runtime_data" : [],
2054 "primitives" : []
2055 },
2056 {
2057 "name" : "NoAction",
2058 "id" : 3,
2059 "runtime_data" : [],
2060 "primitives" : []
2061 },
2062 {
2063 "name" : "NoAction",
2064 "id" : 4,
2065 "runtime_data" : [],
2066 "primitives" : []
2067 },
2068 {
2069 "name" : "NoAction",
2070 "id" : 5,
2071 "runtime_data" : [],
2072 "primitives" : []
2073 },
2074 {
2075 "name" : "NoAction",
2076 "id" : 6,
2077 "runtime_data" : [],
2078 "primitives" : []
2079 },
2080 {
2081 "name" : "NoAction",
2082 "id" : 7,
2083 "runtime_data" : [],
2084 "primitives" : []
2085 },
2086 {
2087 "name" : "NoAction",
2088 "id" : 8,
2089 "runtime_data" : [],
2090 "primitives" : []
2091 },
2092 {
2093 "name" : "NoAction",
2094 "id" : 9,
2095 "runtime_data" : [],
2096 "primitives" : []
2097 },
2098 {
2099 "name" : "NoAction",
2100 "id" : 10,
2101 "runtime_data" : [],
2102 "primitives" : []
2103 },
2104 {
Charles Chan384aea22018-08-23 22:08:02 -07002105 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002106 "id" : 11,
2107 "runtime_data" : [],
2108 "primitives" : []
2109 },
2110 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002111 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07002112 "id" : 12,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002113 "runtime_data" : [],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002114 "primitives" : [
2115 {
2116 "op" : "drop",
2117 "parameters" : [],
2118 "source_info" : {
2119 "filename" : "include/control/../action.p4",
2120 "line" : 24,
2121 "column" : 4,
2122 "source_fragment" : "mark_to_drop()"
2123 }
2124 },
2125 {
2126 "op" : "exit",
2127 "parameters" : [],
2128 "source_info" : {
2129 "filename" : "include/control/../action.p4",
2130 "line" : 25,
2131 "column" : 4,
2132 "source_fragment" : "exit"
2133 }
2134 }
2135 ]
2136 },
2137 {
2138 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
Charles Chan384aea22018-08-23 22:08:02 -07002139 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002140 "runtime_data" : [],
2141 "primitives" : [
2142 {
2143 "op" : "remove_header",
2144 "parameters" : [
2145 {
2146 "type" : "header",
2147 "value" : "gtpu_ipv4"
2148 }
2149 ],
2150 "source_info" : {
2151 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002152 "line" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002153 "column" : 8,
2154 "source_fragment" : "gtpu_ipv4.setInvalid()"
2155 }
2156 },
2157 {
2158 "op" : "remove_header",
2159 "parameters" : [
2160 {
2161 "type" : "header",
2162 "value" : "gtpu_udp"
2163 }
2164 ],
2165 "source_info" : {
2166 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002167 "line" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002168 "column" : 8,
2169 "source_fragment" : "gtpu_udp.setInvalid()"
2170 }
2171 },
2172 {
2173 "op" : "remove_header",
2174 "parameters" : [
2175 {
2176 "type" : "header",
2177 "value" : "gtpu"
2178 }
2179 ],
2180 "source_info" : {
2181 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002182 "line" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002183 "column" : 8,
2184 "source_fragment" : "gtpu.setInvalid()"
2185 }
2186 }
2187 ]
2188 },
2189 {
2190 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
Charles Chan384aea22018-08-23 22:08:02 -07002191 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002192 "runtime_data" : [
2193 {
2194 "name" : "teid",
2195 "bitwidth" : 32
2196 },
2197 {
2198 "name" : "s1u_enb_addr",
2199 "bitwidth" : 32
2200 },
2201 {
2202 "name" : "s1u_sgw_addr",
2203 "bitwidth" : 32
2204 }
2205 ],
2206 "primitives" : [
2207 {
2208 "op" : "assign",
2209 "parameters" : [
2210 {
2211 "type" : "field",
2212 "value" : ["userMetadata.spgw", "teid"]
2213 },
2214 {
2215 "type" : "runtime_data",
2216 "value" : 0
2217 }
2218 ],
2219 "source_info" : {
2220 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002221 "line" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002222 "column" : 8,
2223 "source_fragment" : "spgw_meta.teid = teid"
2224 }
2225 },
2226 {
2227 "op" : "assign",
2228 "parameters" : [
2229 {
2230 "type" : "field",
2231 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
2232 },
2233 {
2234 "type" : "runtime_data",
2235 "value" : 1
2236 }
2237 ],
2238 "source_info" : {
2239 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002240 "line" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002241 "column" : 8,
2242 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
2243 }
2244 },
2245 {
2246 "op" : "assign",
2247 "parameters" : [
2248 {
2249 "type" : "field",
2250 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
2251 },
2252 {
2253 "type" : "runtime_data",
2254 "value" : 2
2255 }
2256 ],
2257 "source_info" : {
2258 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002259 "line" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002260 "column" : 8,
2261 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
2262 }
2263 }
2264 ]
2265 },
2266 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002267 "name" : "FabricIngress.process_set_source_sink.int_set_source",
Charles Chan384aea22018-08-23 22:08:02 -07002268 "id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002269 "runtime_data" : [],
2270 "primitives" : [
2271 {
2272 "op" : "assign",
2273 "parameters" : [
2274 {
2275 "type" : "field",
2276 "value" : ["userMetadata.int_meta", "source"]
2277 },
2278 {
2279 "type" : "hexstr",
2280 "value" : "0x01"
2281 }
2282 ],
2283 "source_info" : {
2284 "filename" : "include/int_source.p4",
2285 "line" : 94,
2286 "column" : 8,
2287 "source_fragment" : "fabric_metadata.int_meta.source = 1"
2288 }
2289 }
2290 ]
2291 },
2292 {
2293 "name" : "FabricIngress.process_set_source_sink.int_set_sink",
Charles Chan384aea22018-08-23 22:08:02 -07002294 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002295 "runtime_data" : [],
2296 "primitives" : [
2297 {
2298 "op" : "assign",
2299 "parameters" : [
2300 {
2301 "type" : "field",
2302 "value" : ["userMetadata.int_meta", "sink"]
2303 },
2304 {
2305 "type" : "hexstr",
2306 "value" : "0x01"
2307 }
2308 ],
2309 "source_info" : {
2310 "filename" : "include/int_source.p4",
2311 "line" : 98,
2312 "column" : 8,
2313 "source_fragment" : "fabric_metadata.int_meta.sink = 1"
2314 }
2315 }
2316 ]
2317 },
2318 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002319 "name" : "FabricIngress.filtering.drop",
Charles Chan384aea22018-08-23 22:08:02 -07002320 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002321 "runtime_data" : [],
2322 "primitives" : [
2323 {
2324 "op" : "drop",
2325 "parameters" : [],
2326 "source_info" : {
2327 "filename" : "include/control/filtering.p4",
2328 "line" : 37,
2329 "column" : 8,
2330 "source_fragment" : "mark_to_drop()"
2331 }
2332 }
2333 ]
2334 },
2335 {
2336 "name" : "FabricIngress.filtering.set_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002337 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002338 "runtime_data" : [
2339 {
2340 "name" : "new_vlan_id",
2341 "bitwidth" : 12
2342 }
2343 ],
2344 "primitives" : [
2345 {
2346 "op" : "assign",
2347 "parameters" : [
2348 {
2349 "type" : "field",
2350 "value" : ["vlan_tag", "vlan_id"]
2351 },
2352 {
2353 "type" : "runtime_data",
2354 "value" : 0
2355 }
2356 ],
2357 "source_info" : {
2358 "filename" : "include/control/filtering.p4",
2359 "line" : 42,
2360 "column" : 8,
2361 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2362 }
2363 }
2364 ]
2365 },
2366 {
2367 "name" : "FabricIngress.filtering.push_internal_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002368 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002369 "runtime_data" : [
2370 {
2371 "name" : "new_vlan_id",
2372 "bitwidth" : 12
2373 }
2374 ],
2375 "primitives" : [
2376 {
2377 "op" : "add_header",
2378 "parameters" : [
2379 {
2380 "type" : "header",
2381 "value" : "vlan_tag"
2382 }
2383 ],
2384 "source_info" : {
2385 "filename" : "include/control/filtering.p4",
2386 "line" : 49,
2387 "column" : 8,
2388 "source_fragment" : "hdr.vlan_tag.setValid()"
2389 }
2390 },
2391 {
2392 "op" : "assign",
2393 "parameters" : [
2394 {
2395 "type" : "field",
2396 "value" : ["vlan_tag", "cfi"]
2397 },
2398 {
2399 "type" : "hexstr",
2400 "value" : "0x00"
2401 }
2402 ],
2403 "source_info" : {
2404 "filename" : "include/control/filtering.p4",
2405 "line" : 50,
2406 "column" : 8,
2407 "source_fragment" : "hdr.vlan_tag.cfi = 0"
2408 }
2409 },
2410 {
2411 "op" : "assign",
2412 "parameters" : [
2413 {
2414 "type" : "field",
2415 "value" : ["vlan_tag", "pri"]
2416 },
2417 {
2418 "type" : "hexstr",
2419 "value" : "0x00"
2420 }
2421 ],
2422 "source_info" : {
2423 "filename" : "include/control/filtering.p4",
2424 "line" : 51,
2425 "column" : 8,
2426 "source_fragment" : "hdr.vlan_tag.pri = 0"
2427 }
2428 },
2429 {
2430 "op" : "assign",
2431 "parameters" : [
2432 {
2433 "type" : "field",
2434 "value" : ["vlan_tag", "ether_type"]
2435 },
2436 {
2437 "type" : "field",
2438 "value" : ["ethernet", "ether_type"]
2439 }
2440 ],
2441 "source_info" : {
2442 "filename" : "include/control/filtering.p4",
2443 "line" : 52,
2444 "column" : 8,
2445 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
2446 }
2447 },
2448 {
2449 "op" : "assign",
2450 "parameters" : [
2451 {
2452 "type" : "field",
2453 "value" : ["ethernet", "ether_type"]
2454 },
2455 {
2456 "type" : "hexstr",
2457 "value" : "0x8100"
2458 }
2459 ],
2460 "source_info" : {
2461 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002462 "line" : 89,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002463 "column" : 31,
2464 "source_fragment" : "0x8100; ..."
2465 }
2466 },
2467 {
2468 "op" : "assign",
2469 "parameters" : [
2470 {
2471 "type" : "field",
2472 "value" : ["vlan_tag", "vlan_id"]
2473 },
2474 {
2475 "type" : "runtime_data",
2476 "value" : 0
2477 }
2478 ],
2479 "source_info" : {
2480 "filename" : "include/control/filtering.p4",
2481 "line" : 54,
2482 "column" : 8,
2483 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2484 }
2485 },
2486 {
2487 "op" : "assign",
2488 "parameters" : [
2489 {
2490 "type" : "field",
2491 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2492 },
2493 {
2494 "type" : "expression",
2495 "value" : {
2496 "type" : "expression",
2497 "value" : {
2498 "op" : "b2d",
2499 "left" : null,
2500 "right" : {
2501 "type" : "bool",
2502 "value" : true
2503 }
2504 }
2505 }
2506 }
2507 ],
2508 "source_info" : {
2509 "filename" : "include/control/filtering.p4",
2510 "line" : 57,
2511 "column" : 8,
2512 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2513 }
2514 }
2515 ]
2516 },
2517 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002518 "name" : "FabricIngress.filtering.nop_ingress_port_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002519 "id" : 20,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002520 "runtime_data" : [],
2521 "primitives" : []
2522 },
2523 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002524 "name" : "FabricIngress.filtering.set_forwarding_type",
Charles Chan384aea22018-08-23 22:08:02 -07002525 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002526 "runtime_data" : [
2527 {
2528 "name" : "fwd_type",
2529 "bitwidth" : 3
2530 }
2531 ],
2532 "primitives" : [
2533 {
2534 "op" : "assign",
2535 "parameters" : [
2536 {
2537 "type" : "field",
2538 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2539 },
2540 {
2541 "type" : "runtime_data",
2542 "value" : 0
2543 }
2544 ],
2545 "source_info" : {
2546 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002547 "line" : 99,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002548 "column" : 8,
2549 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2550 }
2551 }
2552 ]
2553 },
2554 {
2555 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Charles Chan384aea22018-08-23 22:08:02 -07002556 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002557 "runtime_data" : [
2558 {
2559 "name" : "next_id",
2560 "bitwidth" : 32
2561 }
2562 ],
2563 "primitives" : [
2564 {
2565 "op" : "assign",
2566 "parameters" : [
2567 {
2568 "type" : "field",
2569 "value" : ["scalars", "fabric_metadata_t.next_id"]
2570 },
2571 {
2572 "type" : "runtime_data",
2573 "value" : 0
2574 }
2575 ],
2576 "source_info" : {
2577 "filename" : "include/control/forwarding.p4",
2578 "line" : 37,
2579 "column" : 8,
2580 "source_fragment" : "fabric_metadata.next_id = next_id"
2581 }
2582 }
2583 ]
2584 },
2585 {
2586 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Charles Chan384aea22018-08-23 22:08:02 -07002587 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002588 "runtime_data" : [
2589 {
2590 "name" : "next_id",
2591 "bitwidth" : 32
2592 }
2593 ],
2594 "primitives" : [
2595 {
2596 "op" : "remove_header",
2597 "parameters" : [
2598 {
2599 "type" : "header",
2600 "value" : "mpls"
2601 }
2602 ],
2603 "source_info" : {
2604 "filename" : "include/control/forwarding.p4",
2605 "line" : 60,
2606 "column" : 8,
2607 "source_fragment" : "hdr.mpls.setInvalid()"
2608 }
2609 },
2610 {
2611 "op" : "assign",
2612 "parameters" : [
2613 {
2614 "type" : "field",
2615 "value" : ["scalars", "fabric_metadata_t.next_id"]
2616 },
2617 {
2618 "type" : "runtime_data",
2619 "value" : 0
2620 }
2621 ],
2622 "source_info" : {
2623 "filename" : "include/control/forwarding.p4",
2624 "line" : 61,
2625 "column" : 8,
2626 "source_fragment" : "fabric_metadata.next_id = next_id"
2627 }
2628 }
2629 ]
2630 },
2631 {
Charles Chan384aea22018-08-23 22:08:02 -07002632 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
2633 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002634 "runtime_data" : [
2635 {
2636 "name" : "next_id",
2637 "bitwidth" : 32
2638 }
2639 ],
2640 "primitives" : [
2641 {
2642 "op" : "assign",
2643 "parameters" : [
2644 {
2645 "type" : "field",
2646 "value" : ["scalars", "fabric_metadata_t.next_id"]
2647 },
2648 {
2649 "type" : "runtime_data",
2650 "value" : 0
2651 }
2652 ],
2653 "source_info" : {
2654 "filename" : "include/control/forwarding.p4",
2655 "line" : 83,
2656 "column" : 8,
2657 "source_fragment" : "fabric_metadata.next_id = next_id"
2658 }
2659 }
2660 ]
2661 },
2662 {
2663 "name" : "FabricIngress.forwarding.set_next_id_acl",
Charles Chan384aea22018-08-23 22:08:02 -07002664 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002665 "runtime_data" : [
2666 {
2667 "name" : "next_id",
2668 "bitwidth" : 32
2669 }
2670 ],
2671 "primitives" : [
2672 {
2673 "op" : "assign",
2674 "parameters" : [
2675 {
2676 "type" : "field",
2677 "value" : ["scalars", "fabric_metadata_t.next_id"]
2678 },
2679 {
2680 "type" : "runtime_data",
2681 "value" : 0
2682 }
2683 ],
2684 "source_info" : {
2685 "filename" : "include/control/forwarding.p4",
2686 "line" : 105,
2687 "column" : 8,
2688 "source_fragment" : "fabric_metadata.next_id = next_id"
2689 }
2690 }
2691 ]
2692 },
2693 {
2694 "name" : "FabricIngress.forwarding.punt_to_cpu",
Charles Chan384aea22018-08-23 22:08:02 -07002695 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002696 "runtime_data" : [],
2697 "primitives" : [
2698 {
2699 "op" : "assign",
2700 "parameters" : [
2701 {
2702 "type" : "field",
2703 "value" : ["standard_metadata", "egress_spec"]
2704 },
2705 {
2706 "type" : "hexstr",
2707 "value" : "0x00ff"
2708 }
2709 ],
2710 "source_info" : {
2711 "filename" : "include/control/forwarding.p4",
2712 "line" : 111,
2713 "column" : 8,
2714 "source_fragment" : "standard_metadata.egress_spec = 255"
2715 }
2716 },
2717 {
2718 "op" : "exit",
2719 "parameters" : [],
2720 "source_info" : {
2721 "filename" : "include/control/forwarding.p4",
2722 "line" : 113,
2723 "column" : 8,
2724 "source_fragment" : "exit"
2725 }
2726 }
2727 ]
2728 },
2729 {
2730 "name" : "FabricIngress.forwarding.clone_to_cpu",
Charles Chan384aea22018-08-23 22:08:02 -07002731 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002732 "runtime_data" : [],
2733 "primitives" : [
2734 {
2735 "op" : "assign",
2736 "parameters" : [
2737 {
2738 "type" : "field",
2739 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2740 },
2741 {
2742 "type" : "expression",
2743 "value" : {
2744 "type" : "expression",
2745 "value" : {
2746 "op" : "b2d",
2747 "left" : null,
2748 "right" : {
2749 "type" : "bool",
2750 "value" : true
2751 }
2752 }
2753 }
2754 }
2755 ],
2756 "source_info" : {
2757 "filename" : "include/control/forwarding.p4",
2758 "line" : 118,
2759 "column" : 8,
2760 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2761 }
2762 }
2763 ]
2764 },
2765 {
2766 "name" : "FabricIngress.forwarding.drop",
Charles Chan384aea22018-08-23 22:08:02 -07002767 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002768 "runtime_data" : [],
2769 "primitives" : [
2770 {
2771 "op" : "drop",
2772 "parameters" : [],
2773 "source_info" : {
2774 "filename" : "include/control/forwarding.p4",
2775 "line" : 123,
2776 "column" : 8,
2777 "source_fragment" : "mark_to_drop()"
2778 }
2779 }
2780 ]
2781 },
2782 {
Charles Chancf696e52018-08-16 16:25:13 -07002783 "name" : "FabricIngress.forwarding.nop_acl",
Charles Chan384aea22018-08-23 22:08:02 -07002784 "id" : 29,
Charles Chancf696e52018-08-16 16:25:13 -07002785 "runtime_data" : [],
2786 "primitives" : []
2787 },
2788 {
Charles Chan384aea22018-08-23 22:08:02 -07002789 "name" : "FabricIngress.forwarding.set_next_id_routing_v6",
2790 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002791 "runtime_data" : [
2792 {
2793 "name" : "next_id",
2794 "bitwidth" : 32
2795 }
2796 ],
2797 "primitives" : [
2798 {
2799 "op" : "assign",
2800 "parameters" : [
2801 {
2802 "type" : "field",
2803 "value" : ["scalars", "fabric_metadata_t.next_id"]
2804 },
2805 {
2806 "type" : "runtime_data",
2807 "value" : 0
2808 }
2809 ],
2810 "source_info" : {
2811 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -07002812 "line" : 169,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002813 "column" : 8,
2814 "source_fragment" : "fabric_metadata.next_id = next_id"
2815 }
2816 }
2817 ]
2818 },
2819 {
2820 "name" : "FabricIngress.next.set_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07002821 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002822 "runtime_data" : [
2823 {
2824 "name" : "new_vlan_id",
2825 "bitwidth" : 12
2826 }
2827 ],
2828 "primitives" : [
2829 {
2830 "op" : "assign",
2831 "parameters" : [
2832 {
2833 "type" : "field",
2834 "value" : ["vlan_tag", "vlan_id"]
2835 },
2836 {
2837 "type" : "runtime_data",
2838 "value" : 0
2839 }
2840 ],
2841 "source_info" : {
2842 "filename" : "include/control/next.p4",
2843 "line" : 61,
2844 "column" : 8,
2845 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2846 }
2847 }
2848 ]
2849 },
2850 {
2851 "name" : "FabricIngress.next.output_simple",
Charles Chan384aea22018-08-23 22:08:02 -07002852 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002853 "runtime_data" : [
2854 {
2855 "name" : "port_num",
2856 "bitwidth" : 9
2857 }
2858 ],
2859 "primitives" : [
2860 {
2861 "op" : "assign",
2862 "parameters" : [
2863 {
2864 "type" : "field",
2865 "value" : ["standard_metadata", "egress_spec"]
2866 },
2867 {
2868 "type" : "runtime_data",
2869 "value" : 0
2870 }
2871 ],
2872 "source_info" : {
2873 "filename" : "include/control/next.p4",
2874 "line" : 85,
2875 "column" : 8,
2876 "source_fragment" : "standard_metadata.egress_spec = port_num"
2877 }
2878 }
2879 ]
2880 },
2881 {
2882 "name" : "FabricIngress.next.set_vlan_output",
Charles Chan384aea22018-08-23 22:08:02 -07002883 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002884 "runtime_data" : [
2885 {
2886 "name" : "new_vlan_id",
2887 "bitwidth" : 12
2888 },
2889 {
2890 "name" : "port_num",
2891 "bitwidth" : 9
2892 }
2893 ],
2894 "primitives" : [
2895 {
2896 "op" : "assign",
2897 "parameters" : [
2898 {
2899 "type" : "field",
2900 "value" : ["vlan_tag", "vlan_id"]
2901 },
2902 {
2903 "type" : "runtime_data",
2904 "value" : 0
2905 }
2906 ],
2907 "source_info" : {
2908 "filename" : "include/control/next.p4",
2909 "line" : 90,
2910 "column" : 8,
2911 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2912 }
2913 },
2914 {
2915 "op" : "assign",
2916 "parameters" : [
2917 {
2918 "type" : "field",
2919 "value" : ["standard_metadata", "egress_spec"]
2920 },
2921 {
2922 "type" : "runtime_data",
2923 "value" : 1
2924 }
2925 ],
2926 "source_info" : {
2927 "filename" : "include/control/next.p4",
2928 "line" : 85,
2929 "column" : 8,
2930 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2931 }
2932 }
2933 ]
2934 },
2935 {
2936 "name" : "FabricIngress.next.l3_routing_simple",
Charles Chan384aea22018-08-23 22:08:02 -07002937 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002938 "runtime_data" : [
2939 {
2940 "name" : "port_num",
2941 "bitwidth" : 9
2942 },
2943 {
2944 "name" : "smac",
2945 "bitwidth" : 48
2946 },
2947 {
2948 "name" : "dmac",
2949 "bitwidth" : 48
2950 }
2951 ],
2952 "primitives" : [
2953 {
2954 "op" : "assign",
2955 "parameters" : [
2956 {
2957 "type" : "field",
2958 "value" : ["ethernet", "src_addr"]
2959 },
2960 {
2961 "type" : "runtime_data",
2962 "value" : 1
2963 }
2964 ],
2965 "source_info" : {
2966 "filename" : "include/control/next.p4",
2967 "line" : 37,
2968 "column" : 8,
2969 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2970 }
2971 },
2972 {
2973 "op" : "assign",
2974 "parameters" : [
2975 {
2976 "type" : "field",
2977 "value" : ["ethernet", "dst_addr"]
2978 },
2979 {
2980 "type" : "runtime_data",
2981 "value" : 2
2982 }
2983 ],
2984 "source_info" : {
2985 "filename" : "include/control/next.p4",
2986 "line" : 41,
2987 "column" : 8,
2988 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2989 }
2990 },
2991 {
2992 "op" : "assign",
2993 "parameters" : [
2994 {
2995 "type" : "field",
2996 "value" : ["standard_metadata", "egress_spec"]
2997 },
2998 {
2999 "type" : "runtime_data",
3000 "value" : 0
3001 }
3002 ],
3003 "source_info" : {
3004 "filename" : "include/control/next.p4",
3005 "line" : 85,
3006 "column" : 8,
3007 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3008 }
3009 }
3010 ]
3011 },
3012 {
3013 "name" : "FabricIngress.next.mpls_routing_v4_simple",
Charles Chan384aea22018-08-23 22:08:02 -07003014 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003015 "runtime_data" : [
3016 {
3017 "name" : "port_num",
3018 "bitwidth" : 9
3019 },
3020 {
3021 "name" : "smac",
3022 "bitwidth" : 48
3023 },
3024 {
3025 "name" : "dmac",
3026 "bitwidth" : 48
3027 },
3028 {
3029 "name" : "label",
3030 "bitwidth" : 20
3031 }
3032 ],
3033 "primitives" : [
3034 {
3035 "op" : "assign",
3036 "parameters" : [
3037 {
3038 "type" : "field",
3039 "value" : ["ethernet", "src_addr"]
3040 },
3041 {
3042 "type" : "runtime_data",
3043 "value" : 1
3044 }
3045 ],
3046 "source_info" : {
3047 "filename" : "include/control/next.p4",
3048 "line" : 37,
3049 "column" : 8,
3050 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3051 }
3052 },
3053 {
3054 "op" : "assign",
3055 "parameters" : [
3056 {
3057 "type" : "field",
3058 "value" : ["ethernet", "dst_addr"]
3059 },
3060 {
3061 "type" : "runtime_data",
3062 "value" : 2
3063 }
3064 ],
3065 "source_info" : {
3066 "filename" : "include/control/next.p4",
3067 "line" : 41,
3068 "column" : 8,
3069 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3070 }
3071 },
3072 {
3073 "op" : "assign",
3074 "parameters" : [
3075 {
3076 "type" : "field",
3077 "value" : ["standard_metadata", "egress_spec"]
3078 },
3079 {
3080 "type" : "runtime_data",
3081 "value" : 0
3082 }
3083 ],
3084 "source_info" : {
3085 "filename" : "include/control/next.p4",
3086 "line" : 85,
3087 "column" : 8,
3088 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3089 }
3090 },
3091 {
3092 "op" : "add_header",
3093 "parameters" : [
3094 {
3095 "type" : "header",
3096 "value" : "mpls"
3097 }
3098 ],
3099 "source_info" : {
3100 "filename" : "include/control/next.p4",
3101 "line" : 46,
3102 "column" : 8,
3103 "source_fragment" : "hdr.mpls.setValid()"
3104 }
3105 },
3106 {
3107 "op" : "assign",
3108 "parameters" : [
3109 {
3110 "type" : "field",
3111 "value" : ["vlan_tag", "ether_type"]
3112 },
3113 {
3114 "type" : "hexstr",
3115 "value" : "0x8847"
3116 }
3117 ],
3118 "source_info" : {
3119 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003120 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003121 "column" : 31,
3122 "source_fragment" : "0x8847; ..."
3123 }
3124 },
3125 {
3126 "op" : "assign",
3127 "parameters" : [
3128 {
3129 "type" : "field",
3130 "value" : ["mpls", "label"]
3131 },
3132 {
3133 "type" : "runtime_data",
3134 "value" : 3
3135 }
3136 ],
3137 "source_info" : {
3138 "filename" : "include/control/next.p4",
3139 "line" : 48,
3140 "column" : 8,
3141 "source_fragment" : "hdr.mpls.label = label; ..."
3142 }
3143 },
3144 {
3145 "op" : "assign",
3146 "parameters" : [
3147 {
3148 "type" : "field",
3149 "value" : ["mpls", "tc"]
3150 },
3151 {
3152 "type" : "hexstr",
3153 "value" : "0x00"
3154 }
3155 ],
3156 "source_info" : {
3157 "filename" : "include/control/next.p4",
3158 "line" : 49,
3159 "column" : 8,
3160 "source_fragment" : "hdr.mpls.tc = tc; ..."
3161 }
3162 },
3163 {
3164 "op" : "assign",
3165 "parameters" : [
3166 {
3167 "type" : "field",
3168 "value" : ["mpls", "bos"]
3169 },
3170 {
3171 "type" : "hexstr",
3172 "value" : "0x01"
3173 }
3174 ],
3175 "source_info" : {
3176 "filename" : "include/control/next.p4",
3177 "line" : 50,
3178 "column" : 8,
3179 "source_fragment" : "hdr.mpls.bos = 1w1"
3180 }
3181 },
3182 {
3183 "op" : "assign",
3184 "parameters" : [
3185 {
3186 "type" : "field",
3187 "value" : ["mpls", "ttl"]
3188 },
3189 {
3190 "type" : "hexstr",
3191 "value" : "0x40"
3192 }
3193 ],
3194 "source_info" : {
3195 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003196 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003197 "column" : 32,
3198 "source_fragment" : "64; ..."
3199 }
3200 }
3201 ]
3202 },
3203 {
3204 "name" : "FabricIngress.next.mpls_routing_v6_simple",
Charles Chan384aea22018-08-23 22:08:02 -07003205 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003206 "runtime_data" : [
3207 {
3208 "name" : "port_num",
3209 "bitwidth" : 9
3210 },
3211 {
3212 "name" : "smac",
3213 "bitwidth" : 48
3214 },
3215 {
3216 "name" : "dmac",
3217 "bitwidth" : 48
3218 },
3219 {
3220 "name" : "label",
3221 "bitwidth" : 20
3222 }
3223 ],
3224 "primitives" : [
3225 {
3226 "op" : "assign",
3227 "parameters" : [
3228 {
3229 "type" : "field",
3230 "value" : ["ethernet", "src_addr"]
3231 },
3232 {
3233 "type" : "runtime_data",
3234 "value" : 1
3235 }
3236 ],
3237 "source_info" : {
3238 "filename" : "include/control/next.p4",
3239 "line" : 37,
3240 "column" : 8,
3241 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3242 }
3243 },
3244 {
3245 "op" : "assign",
3246 "parameters" : [
3247 {
3248 "type" : "field",
3249 "value" : ["ethernet", "dst_addr"]
3250 },
3251 {
3252 "type" : "runtime_data",
3253 "value" : 2
3254 }
3255 ],
3256 "source_info" : {
3257 "filename" : "include/control/next.p4",
3258 "line" : 41,
3259 "column" : 8,
3260 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3261 }
3262 },
3263 {
3264 "op" : "assign",
3265 "parameters" : [
3266 {
3267 "type" : "field",
3268 "value" : ["standard_metadata", "egress_spec"]
3269 },
3270 {
3271 "type" : "runtime_data",
3272 "value" : 0
3273 }
3274 ],
3275 "source_info" : {
3276 "filename" : "include/control/next.p4",
3277 "line" : 85,
3278 "column" : 8,
3279 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3280 }
3281 },
3282 {
3283 "op" : "add_header",
3284 "parameters" : [
3285 {
3286 "type" : "header",
3287 "value" : "mpls"
3288 }
3289 ],
3290 "source_info" : {
3291 "filename" : "include/control/next.p4",
3292 "line" : 46,
3293 "column" : 8,
3294 "source_fragment" : "hdr.mpls.setValid()"
3295 }
3296 },
3297 {
3298 "op" : "assign",
3299 "parameters" : [
3300 {
3301 "type" : "field",
3302 "value" : ["vlan_tag", "ether_type"]
3303 },
3304 {
3305 "type" : "hexstr",
3306 "value" : "0x8847"
3307 }
3308 ],
3309 "source_info" : {
3310 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003311 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003312 "column" : 31,
3313 "source_fragment" : "0x8847; ..."
3314 }
3315 },
3316 {
3317 "op" : "assign",
3318 "parameters" : [
3319 {
3320 "type" : "field",
3321 "value" : ["mpls", "label"]
3322 },
3323 {
3324 "type" : "runtime_data",
3325 "value" : 3
3326 }
3327 ],
3328 "source_info" : {
3329 "filename" : "include/control/next.p4",
3330 "line" : 48,
3331 "column" : 8,
3332 "source_fragment" : "hdr.mpls.label = label; ..."
3333 }
3334 },
3335 {
3336 "op" : "assign",
3337 "parameters" : [
3338 {
3339 "type" : "field",
3340 "value" : ["mpls", "tc"]
3341 },
3342 {
3343 "type" : "hexstr",
3344 "value" : "0x00"
3345 }
3346 ],
3347 "source_info" : {
3348 "filename" : "include/control/next.p4",
3349 "line" : 49,
3350 "column" : 8,
3351 "source_fragment" : "hdr.mpls.tc = tc; ..."
3352 }
3353 },
3354 {
3355 "op" : "assign",
3356 "parameters" : [
3357 {
3358 "type" : "field",
3359 "value" : ["mpls", "bos"]
3360 },
3361 {
3362 "type" : "hexstr",
3363 "value" : "0x01"
3364 }
3365 ],
3366 "source_info" : {
3367 "filename" : "include/control/next.p4",
3368 "line" : 50,
3369 "column" : 8,
3370 "source_fragment" : "hdr.mpls.bos = 1w1"
3371 }
3372 },
3373 {
3374 "op" : "assign",
3375 "parameters" : [
3376 {
3377 "type" : "field",
3378 "value" : ["mpls", "ttl"]
3379 },
3380 {
3381 "type" : "hexstr",
3382 "value" : "0x40"
3383 }
3384 ],
3385 "source_info" : {
3386 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003387 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003388 "column" : 32,
3389 "source_fragment" : "64; ..."
3390 }
3391 }
3392 ]
3393 },
3394 {
3395 "name" : "FabricIngress.next.l3_routing_vlan",
Charles Chan384aea22018-08-23 22:08:02 -07003396 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003397 "runtime_data" : [
3398 {
3399 "name" : "port_num",
3400 "bitwidth" : 9
3401 },
3402 {
3403 "name" : "smac",
3404 "bitwidth" : 48
3405 },
3406 {
3407 "name" : "dmac",
3408 "bitwidth" : 48
3409 },
3410 {
3411 "name" : "new_vlan_id",
3412 "bitwidth" : 12
3413 }
3414 ],
3415 "primitives" : [
3416 {
3417 "op" : "assign",
3418 "parameters" : [
3419 {
3420 "type" : "field",
3421 "value" : ["ethernet", "src_addr"]
3422 },
3423 {
3424 "type" : "runtime_data",
3425 "value" : 1
3426 }
3427 ],
3428 "source_info" : {
3429 "filename" : "include/control/next.p4",
3430 "line" : 37,
3431 "column" : 8,
3432 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3433 }
3434 },
3435 {
3436 "op" : "assign",
3437 "parameters" : [
3438 {
3439 "type" : "field",
3440 "value" : ["ethernet", "dst_addr"]
3441 },
3442 {
3443 "type" : "runtime_data",
3444 "value" : 2
3445 }
3446 ],
3447 "source_info" : {
3448 "filename" : "include/control/next.p4",
3449 "line" : 41,
3450 "column" : 8,
3451 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3452 }
3453 },
3454 {
3455 "op" : "assign",
3456 "parameters" : [
3457 {
3458 "type" : "field",
3459 "value" : ["vlan_tag", "vlan_id"]
3460 },
3461 {
3462 "type" : "runtime_data",
3463 "value" : 3
3464 }
3465 ],
3466 "source_info" : {
3467 "filename" : "include/control/next.p4",
3468 "line" : 90,
3469 "column" : 8,
3470 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3471 }
3472 },
3473 {
3474 "op" : "assign",
3475 "parameters" : [
3476 {
3477 "type" : "field",
3478 "value" : ["standard_metadata", "egress_spec"]
3479 },
3480 {
3481 "type" : "runtime_data",
3482 "value" : 0
3483 }
3484 ],
3485 "source_info" : {
3486 "filename" : "include/control/next.p4",
3487 "line" : 85,
3488 "column" : 8,
3489 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3490 }
3491 }
3492 ]
3493 },
3494 {
3495 "name" : "FabricIngress.next.l3_routing_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003496 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003497 "runtime_data" : [
3498 {
3499 "name" : "port_num",
3500 "bitwidth" : 9
3501 },
3502 {
3503 "name" : "smac",
3504 "bitwidth" : 48
3505 },
3506 {
3507 "name" : "dmac",
3508 "bitwidth" : 48
3509 }
3510 ],
3511 "primitives" : [
3512 {
3513 "op" : "assign",
3514 "parameters" : [
3515 {
3516 "type" : "field",
3517 "value" : ["ethernet", "src_addr"]
3518 },
3519 {
3520 "type" : "runtime_data",
3521 "value" : 1
3522 }
3523 ],
3524 "source_info" : {
3525 "filename" : "include/control/next.p4",
3526 "line" : 37,
3527 "column" : 8,
3528 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3529 }
3530 },
3531 {
3532 "op" : "assign",
3533 "parameters" : [
3534 {
3535 "type" : "field",
3536 "value" : ["ethernet", "dst_addr"]
3537 },
3538 {
3539 "type" : "runtime_data",
3540 "value" : 2
3541 }
3542 ],
3543 "source_info" : {
3544 "filename" : "include/control/next.p4",
3545 "line" : 41,
3546 "column" : 8,
3547 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3548 }
3549 },
3550 {
3551 "op" : "assign",
3552 "parameters" : [
3553 {
3554 "type" : "field",
3555 "value" : ["standard_metadata", "egress_spec"]
3556 },
3557 {
3558 "type" : "runtime_data",
3559 "value" : 0
3560 }
3561 ],
3562 "source_info" : {
3563 "filename" : "include/control/next.p4",
3564 "line" : 149,
3565 "column" : 8,
3566 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3567 }
3568 }
3569 ]
3570 },
3571 {
3572 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003573 "id" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003574 "runtime_data" : [
3575 {
3576 "name" : "port_num",
3577 "bitwidth" : 9
3578 },
3579 {
3580 "name" : "smac",
3581 "bitwidth" : 48
3582 },
3583 {
3584 "name" : "dmac",
3585 "bitwidth" : 48
3586 },
3587 {
3588 "name" : "label",
3589 "bitwidth" : 20
3590 }
3591 ],
3592 "primitives" : [
3593 {
3594 "op" : "assign",
3595 "parameters" : [
3596 {
3597 "type" : "field",
3598 "value" : ["ethernet", "src_addr"]
3599 },
3600 {
3601 "type" : "runtime_data",
3602 "value" : 1
3603 }
3604 ],
3605 "source_info" : {
3606 "filename" : "include/control/next.p4",
3607 "line" : 37,
3608 "column" : 8,
3609 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3610 }
3611 },
3612 {
3613 "op" : "assign",
3614 "parameters" : [
3615 {
3616 "type" : "field",
3617 "value" : ["ethernet", "dst_addr"]
3618 },
3619 {
3620 "type" : "runtime_data",
3621 "value" : 2
3622 }
3623 ],
3624 "source_info" : {
3625 "filename" : "include/control/next.p4",
3626 "line" : 41,
3627 "column" : 8,
3628 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3629 }
3630 },
3631 {
3632 "op" : "assign",
3633 "parameters" : [
3634 {
3635 "type" : "field",
3636 "value" : ["standard_metadata", "egress_spec"]
3637 },
3638 {
3639 "type" : "runtime_data",
3640 "value" : 0
3641 }
3642 ],
3643 "source_info" : {
3644 "filename" : "include/control/next.p4",
3645 "line" : 149,
3646 "column" : 8,
3647 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3648 }
3649 },
3650 {
3651 "op" : "add_header",
3652 "parameters" : [
3653 {
3654 "type" : "header",
3655 "value" : "mpls"
3656 }
3657 ],
3658 "source_info" : {
3659 "filename" : "include/control/next.p4",
3660 "line" : 46,
3661 "column" : 8,
3662 "source_fragment" : "hdr.mpls.setValid()"
3663 }
3664 },
3665 {
3666 "op" : "assign",
3667 "parameters" : [
3668 {
3669 "type" : "field",
3670 "value" : ["vlan_tag", "ether_type"]
3671 },
3672 {
3673 "type" : "hexstr",
3674 "value" : "0x8847"
3675 }
3676 ],
3677 "source_info" : {
3678 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003679 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003680 "column" : 31,
3681 "source_fragment" : "0x8847; ..."
3682 }
3683 },
3684 {
3685 "op" : "assign",
3686 "parameters" : [
3687 {
3688 "type" : "field",
3689 "value" : ["mpls", "label"]
3690 },
3691 {
3692 "type" : "runtime_data",
3693 "value" : 3
3694 }
3695 ],
3696 "source_info" : {
3697 "filename" : "include/control/next.p4",
3698 "line" : 48,
3699 "column" : 8,
3700 "source_fragment" : "hdr.mpls.label = label; ..."
3701 }
3702 },
3703 {
3704 "op" : "assign",
3705 "parameters" : [
3706 {
3707 "type" : "field",
3708 "value" : ["mpls", "tc"]
3709 },
3710 {
3711 "type" : "hexstr",
3712 "value" : "0x00"
3713 }
3714 ],
3715 "source_info" : {
3716 "filename" : "include/control/next.p4",
3717 "line" : 49,
3718 "column" : 8,
3719 "source_fragment" : "hdr.mpls.tc = tc; ..."
3720 }
3721 },
3722 {
3723 "op" : "assign",
3724 "parameters" : [
3725 {
3726 "type" : "field",
3727 "value" : ["mpls", "bos"]
3728 },
3729 {
3730 "type" : "hexstr",
3731 "value" : "0x01"
3732 }
3733 ],
3734 "source_info" : {
3735 "filename" : "include/control/next.p4",
3736 "line" : 50,
3737 "column" : 8,
3738 "source_fragment" : "hdr.mpls.bos = 1w1"
3739 }
3740 },
3741 {
3742 "op" : "assign",
3743 "parameters" : [
3744 {
3745 "type" : "field",
3746 "value" : ["mpls", "ttl"]
3747 },
3748 {
3749 "type" : "hexstr",
3750 "value" : "0x40"
3751 }
3752 ],
3753 "source_info" : {
3754 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003755 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003756 "column" : 32,
3757 "source_fragment" : "64; ..."
3758 }
3759 }
3760 ]
3761 },
3762 {
3763 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
Charles Chan384aea22018-08-23 22:08:02 -07003764 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003765 "runtime_data" : [
3766 {
3767 "name" : "port_num",
3768 "bitwidth" : 9
3769 },
3770 {
3771 "name" : "smac",
3772 "bitwidth" : 48
3773 },
3774 {
3775 "name" : "dmac",
3776 "bitwidth" : 48
3777 },
3778 {
3779 "name" : "label",
3780 "bitwidth" : 20
3781 }
3782 ],
3783 "primitives" : [
3784 {
3785 "op" : "assign",
3786 "parameters" : [
3787 {
3788 "type" : "field",
3789 "value" : ["ethernet", "src_addr"]
3790 },
3791 {
3792 "type" : "runtime_data",
3793 "value" : 1
3794 }
3795 ],
3796 "source_info" : {
3797 "filename" : "include/control/next.p4",
3798 "line" : 37,
3799 "column" : 8,
3800 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3801 }
3802 },
3803 {
3804 "op" : "assign",
3805 "parameters" : [
3806 {
3807 "type" : "field",
3808 "value" : ["ethernet", "dst_addr"]
3809 },
3810 {
3811 "type" : "runtime_data",
3812 "value" : 2
3813 }
3814 ],
3815 "source_info" : {
3816 "filename" : "include/control/next.p4",
3817 "line" : 41,
3818 "column" : 8,
3819 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3820 }
3821 },
3822 {
3823 "op" : "assign",
3824 "parameters" : [
3825 {
3826 "type" : "field",
3827 "value" : ["standard_metadata", "egress_spec"]
3828 },
3829 {
3830 "type" : "runtime_data",
3831 "value" : 0
3832 }
3833 ],
3834 "source_info" : {
3835 "filename" : "include/control/next.p4",
3836 "line" : 149,
3837 "column" : 8,
3838 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3839 }
3840 },
3841 {
3842 "op" : "add_header",
3843 "parameters" : [
3844 {
3845 "type" : "header",
3846 "value" : "mpls"
3847 }
3848 ],
3849 "source_info" : {
3850 "filename" : "include/control/next.p4",
3851 "line" : 46,
3852 "column" : 8,
3853 "source_fragment" : "hdr.mpls.setValid()"
3854 }
3855 },
3856 {
3857 "op" : "assign",
3858 "parameters" : [
3859 {
3860 "type" : "field",
3861 "value" : ["vlan_tag", "ether_type"]
3862 },
3863 {
3864 "type" : "hexstr",
3865 "value" : "0x8847"
3866 }
3867 ],
3868 "source_info" : {
3869 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003870 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003871 "column" : 31,
3872 "source_fragment" : "0x8847; ..."
3873 }
3874 },
3875 {
3876 "op" : "assign",
3877 "parameters" : [
3878 {
3879 "type" : "field",
3880 "value" : ["mpls", "label"]
3881 },
3882 {
3883 "type" : "runtime_data",
3884 "value" : 3
3885 }
3886 ],
3887 "source_info" : {
3888 "filename" : "include/control/next.p4",
3889 "line" : 48,
3890 "column" : 8,
3891 "source_fragment" : "hdr.mpls.label = label; ..."
3892 }
3893 },
3894 {
3895 "op" : "assign",
3896 "parameters" : [
3897 {
3898 "type" : "field",
3899 "value" : ["mpls", "tc"]
3900 },
3901 {
3902 "type" : "hexstr",
3903 "value" : "0x00"
3904 }
3905 ],
3906 "source_info" : {
3907 "filename" : "include/control/next.p4",
3908 "line" : 49,
3909 "column" : 8,
3910 "source_fragment" : "hdr.mpls.tc = tc; ..."
3911 }
3912 },
3913 {
3914 "op" : "assign",
3915 "parameters" : [
3916 {
3917 "type" : "field",
3918 "value" : ["mpls", "bos"]
3919 },
3920 {
3921 "type" : "hexstr",
3922 "value" : "0x01"
3923 }
3924 ],
3925 "source_info" : {
3926 "filename" : "include/control/next.p4",
3927 "line" : 50,
3928 "column" : 8,
3929 "source_fragment" : "hdr.mpls.bos = 1w1"
3930 }
3931 },
3932 {
3933 "op" : "assign",
3934 "parameters" : [
3935 {
3936 "type" : "field",
3937 "value" : ["mpls", "ttl"]
3938 },
3939 {
3940 "type" : "hexstr",
3941 "value" : "0x40"
3942 }
3943 ],
3944 "source_info" : {
3945 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003946 "line" : 113,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003947 "column" : 32,
3948 "source_fragment" : "64; ..."
3949 }
3950 }
3951 ]
3952 },
3953 {
3954 "name" : "FabricIngress.next.set_mcast_group",
Charles Chan384aea22018-08-23 22:08:02 -07003955 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003956 "runtime_data" : [
3957 {
3958 "name" : "gid",
3959 "bitwidth" : 16
3960 }
3961 ],
3962 "primitives" : [
3963 {
3964 "op" : "assign",
3965 "parameters" : [
3966 {
3967 "type" : "field",
3968 "value" : ["standard_metadata", "mcast_grp"]
3969 },
3970 {
3971 "type" : "runtime_data",
3972 "value" : 0
3973 }
3974 ],
3975 "source_info" : {
3976 "filename" : "include/control/next.p4",
3977 "line" : 202,
3978 "column" : 8,
3979 "source_fragment" : "standard_metadata.mcast_grp = gid"
3980 }
3981 },
3982 {
3983 "op" : "assign",
3984 "parameters" : [
3985 {
3986 "type" : "field",
3987 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
3988 },
3989 {
3990 "type" : "expression",
3991 "value" : {
3992 "type" : "expression",
3993 "value" : {
3994 "op" : "b2d",
3995 "left" : null,
3996 "right" : {
3997 "type" : "bool",
3998 "value" : true
3999 }
4000 }
4001 }
4002 }
4003 ],
4004 "source_info" : {
4005 "filename" : "include/control/next.p4",
4006 "line" : 203,
4007 "column" : 8,
4008 "source_fragment" : "fabric_metadata.is_multicast = true"
4009 }
4010 }
4011 ]
4012 },
4013 {
4014 "name" : "act",
Charles Chan384aea22018-08-23 22:08:02 -07004015 "id" : 42,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004016 "runtime_data" : [],
4017 "primitives" : [
4018 {
4019 "op" : "assign",
4020 "parameters" : [
4021 {
4022 "type" : "field",
4023 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4024 },
4025 {
4026 "type" : "expression",
4027 "value" : {
4028 "type" : "expression",
4029 "value" : {
4030 "op" : "b2d",
4031 "left" : null,
4032 "right" : {
4033 "type" : "bool",
4034 "value" : true
4035 }
4036 }
4037 }
4038 }
4039 ],
4040 "source_info" : {
4041 "filename" : "include/spgw.p4",
4042 "line" : 30,
4043 "column" : 32,
4044 "source_fragment" : "return"
4045 }
4046 }
4047 ]
4048 },
4049 {
4050 "name" : "act_0",
Charles Chan384aea22018-08-23 22:08:02 -07004051 "id" : 43,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004052 "runtime_data" : [],
4053 "primitives" : [
4054 {
4055 "op" : "remove_header",
4056 "parameters" : [
4057 {
4058 "type" : "header",
4059 "value" : "gtpu_ipv4"
4060 }
4061 ],
4062 "source_info" : {
4063 "filename" : "fabric.p4",
4064 "line" : 52,
4065 "column" : 50,
4066 "source_fragment" : "hdr.gtpu_ipv4"
4067 }
4068 },
4069 {
4070 "op" : "remove_header",
4071 "parameters" : [
4072 {
4073 "type" : "header",
4074 "value" : "gtpu_udp"
4075 }
4076 ],
4077 "source_info" : {
4078 "filename" : "fabric.p4",
4079 "line" : 52,
4080 "column" : 65,
4081 "source_fragment" : "hdr.gtpu_udp"
4082 }
4083 },
4084 {
4085 "op" : "assign",
4086 "parameters" : [
4087 {
4088 "type" : "field",
4089 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4090 },
4091 {
4092 "type" : "expression",
4093 "value" : {
4094 "type" : "expression",
4095 "value" : {
4096 "op" : "b2d",
4097 "left" : null,
4098 "right" : {
4099 "type" : "bool",
4100 "value" : false
4101 }
4102 }
4103 }
4104 }
4105 ]
4106 }
4107 ]
4108 },
4109 {
4110 "name" : "act_1",
Charles Chan384aea22018-08-23 22:08:02 -07004111 "id" : 44,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004112 "runtime_data" : [],
4113 "primitives" : [
4114 {
4115 "op" : "assign_header",
4116 "parameters" : [
4117 {
4118 "type" : "header",
4119 "value" : "udp"
4120 },
4121 {
4122 "type" : "header",
4123 "value" : "inner_udp"
4124 }
4125 ],
4126 "source_info" : {
4127 "filename" : "include/spgw.p4",
4128 "line" : 35,
4129 "column" : 16,
4130 "source_fragment" : "= inner_udp; ..."
4131 }
4132 }
4133 ]
4134 },
4135 {
4136 "name" : "act_2",
Charles Chan384aea22018-08-23 22:08:02 -07004137 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004138 "runtime_data" : [],
4139 "primitives" : [
4140 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004141 "op" : "remove_header",
4142 "parameters" : [
4143 {
4144 "type" : "header",
4145 "value" : "udp"
4146 }
4147 ],
4148 "source_info" : {
4149 "filename" : "include/spgw.p4",
4150 "line" : 37,
4151 "column" : 12,
4152 "source_fragment" : "udp.setInvalid()"
4153 }
4154 }
4155 ]
4156 },
4157 {
4158 "name" : "act_3",
Charles Chan384aea22018-08-23 22:08:02 -07004159 "id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004160 "runtime_data" : [],
4161 "primitives" : [
4162 {
4163 "op" : "assign_header",
4164 "parameters" : [
4165 {
4166 "type" : "header",
4167 "value" : "gtpu_ipv4"
4168 },
4169 {
4170 "type" : "header",
4171 "value" : "ipv4"
4172 }
4173 ],
4174 "source_info" : {
4175 "filename" : "include/spgw.p4",
4176 "line" : 31,
4177 "column" : 18,
4178 "source_fragment" : "= ipv4; ..."
4179 }
4180 },
4181 {
4182 "op" : "assign_header",
4183 "parameters" : [
4184 {
4185 "type" : "header",
4186 "value" : "ipv4"
4187 },
4188 {
4189 "type" : "header",
4190 "value" : "inner_ipv4"
4191 }
4192 ],
4193 "source_info" : {
4194 "filename" : "include/spgw.p4",
4195 "line" : 32,
4196 "column" : 13,
4197 "source_fragment" : "= inner_ipv4; ..."
4198 }
4199 },
4200 {
4201 "op" : "assign_header",
4202 "parameters" : [
4203 {
4204 "type" : "header",
4205 "value" : "gtpu_udp"
4206 },
4207 {
4208 "type" : "header",
4209 "value" : "udp"
4210 }
4211 ],
4212 "source_info" : {
4213 "filename" : "include/spgw.p4",
4214 "line" : 33,
4215 "column" : 17,
4216 "source_fragment" : "= udp; ..."
4217 }
4218 }
4219 ]
4220 },
4221 {
4222 "name" : "act_4",
Charles Chan384aea22018-08-23 22:08:02 -07004223 "id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004224 "runtime_data" : [],
4225 "primitives" : [
4226 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004227 "op" : "assign",
4228 "parameters" : [
4229 {
4230 "type" : "field",
4231 "value" : ["standard_metadata", "egress_spec"]
4232 },
4233 {
4234 "type" : "field",
4235 "value" : ["packet_out", "egress_port"]
4236 }
4237 ],
4238 "source_info" : {
4239 "filename" : "include/control/packetio.p4",
4240 "line" : 26,
4241 "column" : 12,
4242 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4243 }
4244 },
4245 {
4246 "op" : "remove_header",
4247 "parameters" : [
4248 {
4249 "type" : "header",
4250 "value" : "packet_out"
4251 }
4252 ],
4253 "source_info" : {
4254 "filename" : "include/control/packetio.p4",
4255 "line" : 27,
4256 "column" : 12,
4257 "source_fragment" : "hdr.packet_out.setInvalid()"
4258 }
4259 }
4260 ]
4261 },
4262 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004263 "name" : "act_5",
Charles Chan384aea22018-08-23 22:08:02 -07004264 "id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004265 "runtime_data" : [],
4266 "primitives" : [
4267 {
4268 "op" : "assign",
4269 "parameters" : [
4270 {
4271 "type" : "field",
4272 "value" : ["scalars", "spgw_ingress_tmp_1"]
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 }
4290 ]
4291 },
4292 {
4293 "name" : "act_6",
Charles Chan384aea22018-08-23 22:08:02 -07004294 "id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004295 "runtime_data" : [],
4296 "primitives" : [
4297 {
4298 "op" : "assign",
4299 "parameters" : [
4300 {
4301 "type" : "field",
4302 "value" : ["scalars", "spgw_ingress_tmp_1"]
4303 },
4304 {
4305 "type" : "expression",
4306 "value" : {
4307 "type" : "expression",
4308 "value" : {
4309 "op" : "b2d",
4310 "left" : null,
4311 "right" : {
4312 "type" : "bool",
4313 "value" : false
4314 }
4315 }
4316 }
4317 }
4318 ]
4319 }
4320 ]
4321 },
4322 {
4323 "name" : "act_7",
Charles Chan384aea22018-08-23 22:08:02 -07004324 "id" : 50,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004325 "runtime_data" : [],
4326 "primitives" : [
4327 {
4328 "op" : "assign",
4329 "parameters" : [
4330 {
4331 "type" : "field",
4332 "value" : ["userMetadata.spgw", "direction"]
4333 },
4334 {
4335 "type" : "hexstr",
4336 "value" : "0x01"
4337 }
4338 ],
4339 "source_info" : {
4340 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004341 "line" : 119,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004342 "column" : 36,
4343 "source_fragment" : "2w1; ..."
4344 }
4345 }
4346 ]
4347 },
4348 {
4349 "name" : "act_8",
Charles Chan384aea22018-08-23 22:08:02 -07004350 "id" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004351 "runtime_data" : [],
4352 "primitives" : [
4353 {
4354 "op" : "assign",
4355 "parameters" : [
4356 {
4357 "type" : "field",
4358 "value" : ["scalars", "spgw_ingress_tmp_2"]
4359 },
4360 {
4361 "type" : "expression",
4362 "value" : {
4363 "type" : "expression",
4364 "value" : {
4365 "op" : "b2d",
4366 "left" : null,
4367 "right" : {
4368 "type" : "bool",
4369 "value" : true
4370 }
4371 }
4372 }
4373 }
4374 ]
4375 }
4376 ]
4377 },
4378 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004379 "name" : "act_9",
Charles Chan384aea22018-08-23 22:08:02 -07004380 "id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004381 "runtime_data" : [],
4382 "primitives" : [
4383 {
4384 "op" : "assign",
4385 "parameters" : [
4386 {
4387 "type" : "field",
4388 "value" : ["scalars", "spgw_ingress_tmp_2"]
4389 },
4390 {
4391 "type" : "expression",
4392 "value" : {
4393 "type" : "expression",
4394 "value" : {
4395 "op" : "b2d",
4396 "left" : null,
4397 "right" : {
4398 "type" : "bool",
4399 "value" : false
4400 }
4401 }
4402 }
4403 }
4404 ]
4405 }
4406 ]
4407 },
4408 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004409 "name" : "act_10",
Charles Chan384aea22018-08-23 22:08:02 -07004410 "id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004411 "runtime_data" : [],
4412 "primitives" : [
4413 {
4414 "op" : "assign",
4415 "parameters" : [
4416 {
4417 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004418 "value" : ["userMetadata.spgw", "direction"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004419 },
4420 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004421 "type" : "hexstr",
4422 "value" : "0x02"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004423 }
4424 ],
4425 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004426 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004427 "line" : 120,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004428 "column" : 38,
4429 "source_fragment" : "2w2; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004430 }
4431 }
4432 ]
4433 },
4434 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004435 "name" : "act_11",
Charles Chan384aea22018-08-23 22:08:02 -07004436 "id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004437 "runtime_data" : [],
4438 "primitives" : [
4439 {
4440 "op" : "assign",
4441 "parameters" : [
4442 {
4443 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004444 "value" : ["userMetadata.spgw", "direction"]
4445 },
4446 {
4447 "type" : "hexstr",
4448 "value" : "0x00"
4449 }
4450 ],
4451 "source_info" : {
4452 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004453 "line" : 118,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004454 "column" : 37,
4455 "source_fragment" : "2w0; ..."
4456 }
4457 },
4458 {
4459 "op" : "assign",
4460 "parameters" : [
4461 {
4462 "type" : "field",
4463 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004464 },
4465 {
4466 "type" : "expression",
4467 "value" : {
4468 "type" : "expression",
4469 "value" : {
4470 "op" : "b2d",
4471 "left" : null,
4472 "right" : {
4473 "type" : "bool",
4474 "value" : true
4475 }
4476 }
4477 }
4478 }
4479 ],
4480 "source_info" : {
4481 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004482 "line" : 153,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004483 "column" : 12,
4484 "source_fragment" : "return"
4485 }
4486 }
4487 ]
4488 },
4489 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004490 "name" : "act_12",
Charles Chan384aea22018-08-23 22:08:02 -07004491 "id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004492 "runtime_data" : [],
4493 "primitives" : [
4494 {
4495 "op" : "assign",
4496 "parameters" : [
4497 {
4498 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004499 "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" : false
4511 }
4512 }
4513 }
4514 }
4515 ]
4516 }
4517 ]
4518 },
4519 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004520 "name" : "act_13",
Charles Chan384aea22018-08-23 22:08:02 -07004521 "id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004522 "runtime_data" : [],
4523 "primitives" : [
4524 {
4525 "op" : "assign",
4526 "parameters" : [
4527 {
4528 "type" : "field",
4529 "value" : ["userMetadata.spgw", "ipv4_len"]
4530 },
4531 {
4532 "type" : "field",
4533 "value" : ["ipv4", "total_len"]
4534 }
4535 ],
4536 "source_info" : {
4537 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004538 "line" : 170,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004539 "column" : 8,
4540 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4541 }
4542 }
4543 ]
4544 },
4545 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004546 "name" : "act_14",
Charles Chan384aea22018-08-23 22:08:02 -07004547 "id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004548 "runtime_data" : [],
4549 "primitives" : [
4550 {
4551 "op" : "assign",
4552 "parameters" : [
4553 {
4554 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004555 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004556 },
4557 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004558 "type" : "expression",
4559 "value" : {
4560 "type" : "expression",
4561 "value" : {
4562 "op" : "b2d",
4563 "left" : null,
4564 "right" : {
4565 "type" : "bool",
4566 "value" : true
4567 }
4568 }
4569 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004570 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004571 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004572 }
4573 ]
4574 },
4575 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004576 "name" : "act_15",
Charles Chan384aea22018-08-23 22:08:02 -07004577 "id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004578 "runtime_data" : [],
4579 "primitives" : [
4580 {
4581 "op" : "assign",
4582 "parameters" : [
4583 {
4584 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004585 "value" : ["scalars", "filtering_tmp_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004586 },
4587 {
4588 "type" : "expression",
4589 "value" : {
4590 "type" : "expression",
4591 "value" : {
4592 "op" : "b2d",
4593 "left" : null,
4594 "right" : {
4595 "type" : "bool",
4596 "value" : false
4597 }
4598 }
4599 }
4600 }
4601 ]
4602 }
4603 ]
4604 },
4605 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004606 "name" : "act_16",
Charles Chan384aea22018-08-23 22:08:02 -07004607 "id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004608 "runtime_data" : [],
4609 "primitives" : [
4610 {
4611 "op" : "assign",
4612 "parameters" : [
4613 {
4614 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004615 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004616 },
4617 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004618 "type" : "hexstr",
4619 "value" : "0x07"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004620 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004621 ],
4622 "source_info" : {
4623 "filename" : "include/control/../define.p4",
4624 "line" : 109,
4625 "column" : 31,
4626 "source_fragment" : "7; ..."
4627 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004628 }
4629 ]
4630 },
4631 {
4632 "name" : "act_17",
Charles Chan384aea22018-08-23 22:08:02 -07004633 "id" : 60,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004634 "runtime_data" : [],
4635 "primitives" : [
4636 {
4637 "op" : "assign",
4638 "parameters" : [
4639 {
4640 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004641 "value" : ["vlan_tag", "ether_type"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004642 },
4643 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004644 "type" : "hexstr",
4645 "value" : "0x0800"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004646 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004647 ],
4648 "source_info" : {
4649 "filename" : "include/control/../define.p4",
4650 "line" : 92,
4651 "column" : 31,
4652 "source_fragment" : "0x0800; ..."
4653 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004654 }
4655 ]
4656 },
4657 {
4658 "name" : "act_18",
Charles Chan384aea22018-08-23 22:08:02 -07004659 "id" : 61,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004660 "runtime_data" : [],
4661 "primitives" : [
4662 {
4663 "op" : "assign",
4664 "parameters" : [
4665 {
4666 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004667 "value" : ["scalars", "next_hasReturned_0"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004668 },
4669 {
4670 "type" : "expression",
4671 "value" : {
4672 "type" : "expression",
4673 "value" : {
4674 "op" : "b2d",
4675 "left" : null,
4676 "right" : {
4677 "type" : "bool",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004678 "value" : false
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004679 }
4680 }
4681 }
4682 }
4683 ]
4684 }
4685 ]
4686 },
4687 {
4688 "name" : "act_19",
Charles Chan384aea22018-08-23 22:08:02 -07004689 "id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004690 "runtime_data" : [],
4691 "primitives" : [
4692 {
4693 "op" : "assign",
4694 "parameters" : [
4695 {
4696 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004697 "value" : ["scalars", "next_tmp_4"]
4698 },
4699 {
4700 "type" : "expression",
4701 "value" : {
4702 "type" : "expression",
4703 "value" : {
4704 "op" : "b2d",
4705 "left" : null,
4706 "right" : {
4707 "type" : "bool",
4708 "value" : true
4709 }
4710 }
4711 }
4712 }
4713 ]
4714 }
4715 ]
4716 },
4717 {
4718 "name" : "act_20",
Charles Chan384aea22018-08-23 22:08:02 -07004719 "id" : 63,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004720 "runtime_data" : [],
4721 "primitives" : [
4722 {
4723 "op" : "assign",
4724 "parameters" : [
4725 {
4726 "type" : "field",
4727 "value" : ["scalars", "next_tmp_4"]
4728 },
4729 {
4730 "type" : "expression",
4731 "value" : {
4732 "type" : "expression",
4733 "value" : {
4734 "op" : "b2d",
4735 "left" : null,
4736 "right" : {
4737 "type" : "bool",
4738 "value" : false
4739 }
4740 }
4741 }
4742 }
4743 ]
4744 }
4745 ]
4746 },
4747 {
4748 "name" : "act_21",
Charles Chan384aea22018-08-23 22:08:02 -07004749 "id" : 64,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004750 "runtime_data" : [],
4751 "primitives" : [
4752 {
4753 "op" : "assign",
4754 "parameters" : [
4755 {
4756 "type" : "field",
4757 "value" : ["scalars", "next_tmp_3"]
4758 },
4759 {
4760 "type" : "expression",
4761 "value" : {
4762 "type" : "expression",
4763 "value" : {
4764 "op" : "b2d",
4765 "left" : null,
4766 "right" : {
4767 "type" : "bool",
4768 "value" : true
4769 }
4770 }
4771 }
4772 }
4773 ]
4774 }
4775 ]
4776 },
4777 {
4778 "name" : "act_22",
Charles Chan384aea22018-08-23 22:08:02 -07004779 "id" : 65,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004780 "runtime_data" : [],
4781 "primitives" : [
4782 {
4783 "op" : "assign",
4784 "parameters" : [
4785 {
4786 "type" : "field",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004787 "value" : ["scalars", "next_tmp_3"]
4788 },
4789 {
4790 "type" : "expression",
4791 "value" : {
4792 "type" : "expression",
4793 "value" : {
4794 "op" : "b2d",
4795 "left" : null,
4796 "right" : {
4797 "type" : "bool",
4798 "value" : false
4799 }
4800 }
4801 }
4802 }
4803 ]
4804 }
4805 ]
4806 },
4807 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004808 "name" : "act_23",
Charles Chan384aea22018-08-23 22:08:02 -07004809 "id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004810 "runtime_data" : [],
4811 "primitives" : [
4812 {
4813 "op" : "assign",
4814 "parameters" : [
4815 {
4816 "type" : "field",
4817 "value" : ["scalars", "next_tmp_2"]
4818 },
4819 {
4820 "type" : "expression",
4821 "value" : {
4822 "type" : "expression",
4823 "value" : {
4824 "op" : "b2d",
4825 "left" : null,
4826 "right" : {
4827 "type" : "bool",
4828 "value" : true
4829 }
4830 }
4831 }
4832 }
4833 ]
4834 }
4835 ]
4836 },
4837 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004838 "name" : "act_24",
Charles Chan384aea22018-08-23 22:08:02 -07004839 "id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004840 "runtime_data" : [],
4841 "primitives" : [
4842 {
4843 "op" : "assign",
4844 "parameters" : [
4845 {
4846 "type" : "field",
4847 "value" : ["scalars", "next_tmp_2"]
4848 },
4849 {
4850 "type" : "expression",
4851 "value" : {
4852 "type" : "expression",
4853 "value" : {
4854 "op" : "b2d",
4855 "left" : null,
4856 "right" : {
4857 "type" : "bool",
4858 "value" : false
4859 }
4860 }
4861 }
4862 }
4863 ]
4864 }
4865 ]
4866 },
4867 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004868 "name" : "act_25",
Charles Chan384aea22018-08-23 22:08:02 -07004869 "id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004870 "runtime_data" : [],
4871 "primitives" : [
4872 {
4873 "op" : "assign",
4874 "parameters" : [
4875 {
4876 "type" : "field",
4877 "value" : ["scalars", "next_hasReturned_0"]
4878 },
4879 {
4880 "type" : "expression",
4881 "value" : {
4882 "type" : "expression",
4883 "value" : {
4884 "op" : "b2d",
4885 "left" : null,
4886 "right" : {
4887 "type" : "bool",
4888 "value" : true
4889 }
4890 }
4891 }
4892 }
4893 ],
4894 "source_info" : {
4895 "filename" : "include/control/next.p4",
4896 "line" : 223,
4897 "column" : 20,
4898 "source_fragment" : "return"
4899 }
4900 }
4901 ]
4902 },
4903 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004904 "name" : "act_26",
Charles Chan384aea22018-08-23 22:08:02 -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" : ["ipv4", "ttl"]
4914 },
4915 {
4916 "type" : "expression",
4917 "value" : {
4918 "type" : "expression",
4919 "value" : {
4920 "op" : "&",
4921 "left" : {
4922 "type" : "expression",
4923 "value" : {
4924 "op" : "+",
4925 "left" : {
4926 "type" : "field",
4927 "value" : ["ipv4", "ttl"]
4928 },
4929 "right" : {
4930 "type" : "hexstr",
4931 "value" : "0xff"
4932 }
4933 }
4934 },
4935 "right" : {
4936 "type" : "hexstr",
4937 "value" : "0xff"
4938 }
4939 }
4940 }
4941 }
4942 ],
4943 "source_info" : {
4944 "filename" : "include/control/next.p4",
4945 "line" : 230,
4946 "column" : 16,
4947 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4948 }
4949 }
4950 ]
4951 },
4952 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004953 "name" : "act_27",
Charles Chan384aea22018-08-23 22:08:02 -07004954 "id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004955 "runtime_data" : [],
4956 "primitives" : [
4957 {
4958 "op" : "assign",
4959 "parameters" : [
4960 {
4961 "type" : "field",
4962 "value" : ["ipv6", "hop_limit"]
4963 },
4964 {
4965 "type" : "expression",
4966 "value" : {
4967 "type" : "expression",
4968 "value" : {
4969 "op" : "&",
4970 "left" : {
4971 "type" : "expression",
4972 "value" : {
4973 "op" : "+",
4974 "left" : {
4975 "type" : "field",
4976 "value" : ["ipv6", "hop_limit"]
4977 },
4978 "right" : {
4979 "type" : "hexstr",
4980 "value" : "0xff"
4981 }
4982 }
4983 },
4984 "right" : {
4985 "type" : "hexstr",
4986 "value" : "0xff"
4987 }
4988 }
4989 }
4990 }
4991 ],
4992 "source_info" : {
4993 "filename" : "include/control/next.p4",
4994 "line" : 234,
4995 "column" : 16,
4996 "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
4997 }
4998 }
4999 ]
5000 },
5001 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005002 "name" : "act_28",
Charles Chan384aea22018-08-23 22:08:02 -07005003 "id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005004 "runtime_data" : [],
5005 "primitives" : [
5006 {
5007 "op" : "assign",
5008 "parameters" : [
5009 {
5010 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005011 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005012 },
5013 {
5014 "type" : "expression",
5015 "value" : {
5016 "type" : "expression",
5017 "value" : {
5018 "op" : "&",
5019 "left" : {
5020 "type" : "field",
5021 "value" : ["standard_metadata", "egress_spec"]
5022 },
5023 "right" : {
5024 "type" : "hexstr",
5025 "value" : "0xffffffff"
5026 }
5027 }
5028 }
5029 }
5030 ],
5031 "source_info" : {
5032 "filename" : "include/control/port_counter.p4",
5033 "line" : 28,
5034 "column" : 38,
5035 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5036 }
5037 },
5038 {
5039 "op" : "count",
5040 "parameters" : [
5041 {
5042 "type" : "counter_array",
5043 "value" : "FabricIngress.port_counters_control.egress_port_counter"
5044 },
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 "source_info" : {
5051 "filename" : "include/control/port_counter.p4",
5052 "line" : 28,
5053 "column" : 12,
5054 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5055 }
5056 }
5057 ]
5058 },
5059 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005060 "name" : "act_29",
Charles Chan384aea22018-08-23 22:08:02 -07005061 "id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005062 "runtime_data" : [],
5063 "primitives" : [
5064 {
5065 "op" : "assign",
5066 "parameters" : [
5067 {
5068 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005069 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005070 },
5071 {
5072 "type" : "expression",
5073 "value" : {
5074 "type" : "expression",
5075 "value" : {
5076 "op" : "&",
5077 "left" : {
5078 "type" : "field",
5079 "value" : ["standard_metadata", "ingress_port"]
5080 },
5081 "right" : {
5082 "type" : "hexstr",
5083 "value" : "0xffffffff"
5084 }
5085 }
5086 }
5087 }
5088 ],
5089 "source_info" : {
5090 "filename" : "include/control/port_counter.p4",
5091 "line" : 31,
5092 "column" : 39,
5093 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5094 }
5095 },
5096 {
5097 "op" : "count",
5098 "parameters" : [
5099 {
5100 "type" : "counter_array",
5101 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
5102 },
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 "source_info" : {
5109 "filename" : "include/control/port_counter.p4",
5110 "line" : 31,
5111 "column" : 12,
5112 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5113 }
5114 }
5115 ]
5116 },
5117 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005118 "name" : "act_30",
Charles Chan384aea22018-08-23 22:08:02 -07005119 "id" : 73,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005120 "runtime_data" : [],
5121 "primitives" : [
5122 {
5123 "op" : "clone_ingress_pkt_to_egress",
5124 "parameters" : [
5125 {
5126 "type" : "hexstr",
5127 "value" : "0x000001f4"
5128 },
5129 {
5130 "type" : "hexstr",
5131 "value" : "0x1"
5132 }
5133 ]
5134 }
5135 ]
5136 },
5137 {
5138 "name" : "NoAction",
Charles Chan384aea22018-08-23 22:08:02 -07005139 "id" : 74,
5140 "runtime_data" : [],
5141 "primitives" : []
5142 },
5143 {
5144 "name" : "NoAction",
5145 "id" : 75,
5146 "runtime_data" : [],
5147 "primitives" : []
5148 },
5149 {
5150 "name" : "NoAction",
5151 "id" : 76,
5152 "runtime_data" : [],
5153 "primitives" : []
5154 },
5155 {
5156 "name" : "NoAction",
5157 "id" : 77,
5158 "runtime_data" : [],
5159 "primitives" : []
5160 },
5161 {
5162 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005163 "id" : 78,
5164 "runtime_data" : [],
5165 "primitives" : []
5166 },
5167 {
Charles Chan384aea22018-08-23 22:08:02 -07005168 "name" : "nop",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005169 "id" : 79,
5170 "runtime_data" : [],
5171 "primitives" : []
5172 },
5173 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005174 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07005175 "id" : 80,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005176 "runtime_data" : [],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005177 "primitives" : [
5178 {
5179 "op" : "drop",
5180 "parameters" : [],
5181 "source_info" : {
5182 "filename" : "include/control/../action.p4",
5183 "line" : 24,
5184 "column" : 4,
5185 "source_fragment" : "mark_to_drop()"
5186 }
5187 },
5188 {
5189 "op" : "exit",
5190 "parameters" : [],
5191 "source_info" : {
5192 "filename" : "include/control/../action.p4",
5193 "line" : 25,
5194 "column" : 4,
5195 "source_fragment" : "exit"
5196 }
5197 }
5198 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005199 },
5200 {
5201 "name" : "drop_now",
Charles Chan384aea22018-08-23 22:08:02 -07005202 "id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005203 "runtime_data" : [],
5204 "primitives" : [
5205 {
5206 "op" : "drop",
5207 "parameters" : [],
5208 "source_info" : {
5209 "filename" : "include/control/../action.p4",
5210 "line" : 24,
5211 "column" : 4,
5212 "source_fragment" : "mark_to_drop()"
5213 }
5214 },
5215 {
5216 "op" : "exit",
5217 "parameters" : [],
5218 "source_info" : {
5219 "filename" : "include/control/../action.p4",
5220 "line" : 25,
5221 "column" : 4,
5222 "source_fragment" : "exit"
5223 }
5224 }
5225 ]
5226 },
5227 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005228 "name" : "FabricEgress.spgw_egress.gtpu_encap",
Charles Chan384aea22018-08-23 22:08:02 -07005229 "id" : 82,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005230 "runtime_data" : [],
5231 "primitives" : [
5232 {
5233 "op" : "add_header",
5234 "parameters" : [
5235 {
5236 "type" : "header",
5237 "value" : "gtpu_ipv4"
5238 }
5239 ],
5240 "source_info" : {
5241 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005242 "line" : 185,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005243 "column" : 8,
5244 "source_fragment" : "gtpu_ipv4.setValid()"
5245 }
5246 },
5247 {
5248 "op" : "assign",
5249 "parameters" : [
5250 {
5251 "type" : "field",
5252 "value" : ["gtpu_ipv4", "version"]
5253 },
5254 {
5255 "type" : "hexstr",
5256 "value" : "0x04"
5257 }
5258 ],
5259 "source_info" : {
5260 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005261 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005262 "column" : 8,
5263 "source_fragment" : "gtpu_ipv4.version = 4"
5264 }
5265 },
5266 {
5267 "op" : "assign",
5268 "parameters" : [
5269 {
5270 "type" : "field",
5271 "value" : ["gtpu_ipv4", "ihl"]
5272 },
5273 {
5274 "type" : "hexstr",
5275 "value" : "0x05"
5276 }
5277 ],
5278 "source_info" : {
5279 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005280 "line" : 101,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005281 "column" : 28,
5282 "source_fragment" : "5; ..."
5283 }
5284 },
5285 {
5286 "op" : "assign",
5287 "parameters" : [
5288 {
5289 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005290 "value" : ["gtpu_ipv4", "dscp"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005291 },
5292 {
5293 "type" : "hexstr",
5294 "value" : "0x00"
5295 }
5296 ],
5297 "source_info" : {
5298 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005299 "line" : 188,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005300 "column" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005301 "source_fragment" : "gtpu_ipv4.dscp = 0"
5302 }
5303 },
5304 {
5305 "op" : "assign",
5306 "parameters" : [
5307 {
5308 "type" : "field",
5309 "value" : ["gtpu_ipv4", "ecn"]
5310 },
5311 {
5312 "type" : "hexstr",
5313 "value" : "0x00"
5314 }
5315 ],
5316 "source_info" : {
5317 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005318 "line" : 189,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005319 "column" : 8,
5320 "source_fragment" : "gtpu_ipv4.ecn = 0"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005321 }
5322 },
5323 {
5324 "op" : "assign",
5325 "parameters" : [
5326 {
5327 "type" : "field",
5328 "value" : ["gtpu_ipv4", "total_len"]
5329 },
5330 {
5331 "type" : "expression",
5332 "value" : {
5333 "type" : "expression",
5334 "value" : {
5335 "op" : "&",
5336 "left" : {
5337 "type" : "expression",
5338 "value" : {
5339 "op" : "+",
5340 "left" : {
5341 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005342 "value" : ["ipv4", "total_len"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005343 },
5344 "right" : {
5345 "type" : "hexstr",
5346 "value" : "0x0024"
5347 }
5348 }
5349 },
5350 "right" : {
5351 "type" : "hexstr",
5352 "value" : "0xffff"
5353 }
5354 }
5355 }
5356 }
5357 ],
5358 "source_info" : {
5359 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005360 "line" : 190,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005361 "column" : 8,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005362 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005363 }
5364 },
5365 {
5366 "op" : "assign",
5367 "parameters" : [
5368 {
5369 "type" : "field",
5370 "value" : ["gtpu_ipv4", "identification"]
5371 },
5372 {
5373 "type" : "hexstr",
5374 "value" : "0x1513"
5375 }
5376 ],
5377 "source_info" : {
5378 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005379 "line" : 192,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005380 "column" : 8,
5381 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
5382 }
5383 },
5384 {
5385 "op" : "assign",
5386 "parameters" : [
5387 {
5388 "type" : "field",
5389 "value" : ["gtpu_ipv4", "flags"]
5390 },
5391 {
5392 "type" : "hexstr",
5393 "value" : "0x00"
5394 }
5395 ],
5396 "source_info" : {
5397 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005398 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005399 "column" : 8,
5400 "source_fragment" : "gtpu_ipv4.flags = 0"
5401 }
5402 },
5403 {
5404 "op" : "assign",
5405 "parameters" : [
5406 {
5407 "type" : "field",
5408 "value" : ["gtpu_ipv4", "frag_offset"]
5409 },
5410 {
5411 "type" : "hexstr",
5412 "value" : "0x0000"
5413 }
5414 ],
5415 "source_info" : {
5416 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005417 "line" : 194,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005418 "column" : 8,
5419 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
5420 }
5421 },
5422 {
5423 "op" : "assign",
5424 "parameters" : [
5425 {
5426 "type" : "field",
5427 "value" : ["gtpu_ipv4", "ttl"]
5428 },
5429 {
5430 "type" : "hexstr",
5431 "value" : "0x40"
5432 }
5433 ],
5434 "source_info" : {
5435 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005436 "line" : 114,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005437 "column" : 32,
5438 "source_fragment" : "64; ..."
5439 }
5440 },
5441 {
5442 "op" : "assign",
5443 "parameters" : [
5444 {
5445 "type" : "field",
5446 "value" : ["gtpu_ipv4", "protocol"]
5447 },
5448 {
5449 "type" : "hexstr",
5450 "value" : "0x11"
5451 }
5452 ],
5453 "source_info" : {
5454 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005455 "line" : 98,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005456 "column" : 25,
5457 "source_fragment" : "17; ..."
5458 }
5459 },
5460 {
5461 "op" : "assign",
5462 "parameters" : [
5463 {
5464 "type" : "field",
5465 "value" : ["gtpu_ipv4", "dst_addr"]
5466 },
5467 {
5468 "type" : "field",
5469 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5470 }
5471 ],
5472 "source_info" : {
5473 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005474 "line" : 197,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005475 "column" : 8,
5476 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5477 }
5478 },
5479 {
5480 "op" : "assign",
5481 "parameters" : [
5482 {
5483 "type" : "field",
5484 "value" : ["gtpu_ipv4", "src_addr"]
5485 },
5486 {
5487 "type" : "field",
5488 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5489 }
5490 ],
5491 "source_info" : {
5492 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005493 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005494 "column" : 8,
5495 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5496 }
5497 },
5498 {
5499 "op" : "assign",
5500 "parameters" : [
5501 {
5502 "type" : "field",
5503 "value" : ["gtpu_ipv4", "hdr_checksum"]
5504 },
5505 {
5506 "type" : "hexstr",
5507 "value" : "0x0000"
5508 }
5509 ],
5510 "source_info" : {
5511 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005512 "line" : 199,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005513 "column" : 8,
5514 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5515 }
5516 },
5517 {
5518 "op" : "add_header",
5519 "parameters" : [
5520 {
5521 "type" : "header",
5522 "value" : "gtpu_udp"
5523 }
5524 ],
5525 "source_info" : {
5526 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005527 "line" : 201,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005528 "column" : 8,
5529 "source_fragment" : "gtpu_udp.setValid()"
5530 }
5531 },
5532 {
5533 "op" : "assign",
5534 "parameters" : [
5535 {
5536 "type" : "field",
5537 "value" : ["gtpu_udp", "src_port"]
5538 },
5539 {
5540 "type" : "hexstr",
5541 "value" : "0x0868"
5542 }
5543 ],
5544 "source_info" : {
5545 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005546 "line" : 202,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005547 "column" : 8,
5548 "source_fragment" : "gtpu_udp.src_port = 2152"
5549 }
5550 },
5551 {
5552 "op" : "assign",
5553 "parameters" : [
5554 {
5555 "type" : "field",
5556 "value" : ["gtpu_udp", "dst_port"]
5557 },
5558 {
5559 "type" : "hexstr",
5560 "value" : "0x0868"
5561 }
5562 ],
5563 "source_info" : {
5564 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005565 "line" : 203,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005566 "column" : 8,
5567 "source_fragment" : "gtpu_udp.dst_port = 2152"
5568 }
5569 },
5570 {
5571 "op" : "assign",
5572 "parameters" : [
5573 {
5574 "type" : "field",
5575 "value" : ["gtpu_udp", "len"]
5576 },
5577 {
5578 "type" : "expression",
5579 "value" : {
5580 "type" : "expression",
5581 "value" : {
5582 "op" : "&",
5583 "left" : {
5584 "type" : "expression",
5585 "value" : {
5586 "op" : "+",
5587 "left" : {
5588 "type" : "field",
5589 "value" : ["userMetadata.spgw", "ipv4_len"]
5590 },
5591 "right" : {
5592 "type" : "hexstr",
5593 "value" : "0x0010"
5594 }
5595 }
5596 },
5597 "right" : {
5598 "type" : "hexstr",
5599 "value" : "0xffff"
5600 }
5601 }
5602 }
5603 }
5604 ],
5605 "source_info" : {
5606 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005607 "line" : 204,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005608 "column" : 8,
5609 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5610 }
5611 },
5612 {
5613 "op" : "assign",
5614 "parameters" : [
5615 {
5616 "type" : "field",
5617 "value" : ["gtpu_udp", "checksum"]
5618 },
5619 {
5620 "type" : "hexstr",
5621 "value" : "0x0000"
5622 }
5623 ],
5624 "source_info" : {
5625 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005626 "line" : 206,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005627 "column" : 8,
5628 "source_fragment" : "gtpu_udp.checksum = 0"
5629 }
5630 },
5631 {
5632 "op" : "add_header",
5633 "parameters" : [
5634 {
5635 "type" : "header",
5636 "value" : "gtpu"
5637 }
5638 ],
5639 "source_info" : {
5640 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005641 "line" : 208,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005642 "column" : 8,
5643 "source_fragment" : "gtpu.setValid()"
5644 }
5645 },
5646 {
5647 "op" : "assign",
5648 "parameters" : [
5649 {
5650 "type" : "field",
5651 "value" : ["gtpu", "version"]
5652 },
5653 {
5654 "type" : "hexstr",
5655 "value" : "0x01"
5656 }
5657 ],
5658 "source_info" : {
5659 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005660 "line" : 209,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005661 "column" : 8,
5662 "source_fragment" : "gtpu.version = 0x01"
5663 }
5664 },
5665 {
5666 "op" : "assign",
5667 "parameters" : [
5668 {
5669 "type" : "field",
5670 "value" : ["gtpu", "pt"]
5671 },
5672 {
5673 "type" : "hexstr",
5674 "value" : "0x01"
5675 }
5676 ],
5677 "source_info" : {
5678 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005679 "line" : 210,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005680 "column" : 8,
5681 "source_fragment" : "gtpu.pt = 0x01"
5682 }
5683 },
5684 {
5685 "op" : "assign",
5686 "parameters" : [
5687 {
5688 "type" : "field",
5689 "value" : ["gtpu", "spare"]
5690 },
5691 {
5692 "type" : "hexstr",
5693 "value" : "0x00"
5694 }
5695 ],
5696 "source_info" : {
5697 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005698 "line" : 211,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005699 "column" : 8,
5700 "source_fragment" : "gtpu.spare = 0"
5701 }
5702 },
5703 {
5704 "op" : "assign",
5705 "parameters" : [
5706 {
5707 "type" : "field",
5708 "value" : ["gtpu", "ex_flag"]
5709 },
5710 {
5711 "type" : "hexstr",
5712 "value" : "0x00"
5713 }
5714 ],
5715 "source_info" : {
5716 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005717 "line" : 212,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005718 "column" : 8,
5719 "source_fragment" : "gtpu.ex_flag = 0"
5720 }
5721 },
5722 {
5723 "op" : "assign",
5724 "parameters" : [
5725 {
5726 "type" : "field",
5727 "value" : ["gtpu", "seq_flag"]
5728 },
5729 {
5730 "type" : "hexstr",
5731 "value" : "0x00"
5732 }
5733 ],
5734 "source_info" : {
5735 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005736 "line" : 213,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005737 "column" : 8,
5738 "source_fragment" : "gtpu.seq_flag = 0"
5739 }
5740 },
5741 {
5742 "op" : "assign",
5743 "parameters" : [
5744 {
5745 "type" : "field",
5746 "value" : ["gtpu", "npdu_flag"]
5747 },
5748 {
5749 "type" : "hexstr",
5750 "value" : "0x00"
5751 }
5752 ],
5753 "source_info" : {
5754 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005755 "line" : 214,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005756 "column" : 8,
5757 "source_fragment" : "gtpu.npdu_flag = 0"
5758 }
5759 },
5760 {
5761 "op" : "assign",
5762 "parameters" : [
5763 {
5764 "type" : "field",
5765 "value" : ["gtpu", "msgtype"]
5766 },
5767 {
5768 "type" : "hexstr",
5769 "value" : "0xff"
5770 }
5771 ],
5772 "source_info" : {
5773 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005774 "line" : 215,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005775 "column" : 8,
5776 "source_fragment" : "gtpu.msgtype = 0xff"
5777 }
5778 },
5779 {
5780 "op" : "assign",
5781 "parameters" : [
5782 {
5783 "type" : "field",
5784 "value" : ["gtpu", "msglen"]
5785 },
5786 {
5787 "type" : "field",
5788 "value" : ["userMetadata.spgw", "ipv4_len"]
5789 }
5790 ],
5791 "source_info" : {
5792 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005793 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005794 "column" : 8,
5795 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5796 }
5797 },
5798 {
5799 "op" : "assign",
5800 "parameters" : [
5801 {
5802 "type" : "field",
5803 "value" : ["gtpu", "teid"]
5804 },
5805 {
5806 "type" : "field",
5807 "value" : ["userMetadata.spgw", "teid"]
5808 }
5809 ],
5810 "source_info" : {
5811 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005812 "line" : 217,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005813 "column" : 8,
5814 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5815 }
5816 }
5817 ]
5818 },
5819 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005820 "name" : "FabricEgress.process_int_source.int_source_dscp",
Charles Chan384aea22018-08-23 22:08:02 -07005821 "id" : 83,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005822 "runtime_data" : [
5823 {
5824 "name" : "max_hop",
5825 "bitwidth" : 8
5826 },
5827 {
5828 "name" : "ins_cnt",
5829 "bitwidth" : 5
5830 },
5831 {
5832 "name" : "ins_mask0003",
5833 "bitwidth" : 4
5834 },
5835 {
5836 "name" : "ins_mask0407",
5837 "bitwidth" : 4
5838 }
5839 ],
5840 "primitives" : [
5841 {
5842 "op" : "add_header",
5843 "parameters" : [
5844 {
5845 "type" : "header",
5846 "value" : "intl4_shim"
5847 }
5848 ],
5849 "source_info" : {
5850 "filename" : "include/int_source.p4",
5851 "line" : 31,
5852 "column" : 8,
5853 "source_fragment" : "hdr.intl4_shim.setValid()"
5854 }
5855 },
5856 {
5857 "op" : "assign",
5858 "parameters" : [
5859 {
5860 "type" : "field",
5861 "value" : ["intl4_shim", "int_type"]
5862 },
5863 {
5864 "type" : "hexstr",
5865 "value" : "0x01"
5866 }
5867 ],
5868 "source_info" : {
5869 "filename" : "include/int_source.p4",
5870 "line" : 33,
5871 "column" : 8,
5872 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5873 }
5874 },
5875 {
5876 "op" : "assign",
5877 "parameters" : [
5878 {
5879 "type" : "field",
5880 "value" : ["intl4_shim", "len"]
5881 },
5882 {
5883 "type" : "hexstr",
5884 "value" : "0x04"
5885 }
5886 ],
5887 "source_info" : {
5888 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005889 "line" : 127,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005890 "column" : 35,
5891 "source_fragment" : "4; ..."
5892 }
5893 },
5894 {
5895 "op" : "add_header",
5896 "parameters" : [
5897 {
5898 "type" : "header",
5899 "value" : "int_header"
5900 }
5901 ],
5902 "source_info" : {
5903 "filename" : "include/int_source.p4",
5904 "line" : 37,
5905 "column" : 8,
5906 "source_fragment" : "hdr.int_header.setValid()"
5907 }
5908 },
5909 {
5910 "op" : "assign",
5911 "parameters" : [
5912 {
5913 "type" : "field",
5914 "value" : ["int_header", "ver"]
5915 },
5916 {
5917 "type" : "hexstr",
5918 "value" : "0x00"
5919 }
5920 ],
5921 "source_info" : {
5922 "filename" : "include/int_source.p4",
5923 "line" : 38,
5924 "column" : 8,
5925 "source_fragment" : "hdr.int_header.ver = 0"
5926 }
5927 },
5928 {
5929 "op" : "assign",
5930 "parameters" : [
5931 {
5932 "type" : "field",
5933 "value" : ["int_header", "rep"]
5934 },
5935 {
5936 "type" : "hexstr",
5937 "value" : "0x00"
5938 }
5939 ],
5940 "source_info" : {
5941 "filename" : "include/int_source.p4",
5942 "line" : 39,
5943 "column" : 8,
5944 "source_fragment" : "hdr.int_header.rep = 0"
5945 }
5946 },
5947 {
5948 "op" : "assign",
5949 "parameters" : [
5950 {
5951 "type" : "field",
5952 "value" : ["int_header", "c"]
5953 },
5954 {
5955 "type" : "hexstr",
5956 "value" : "0x00"
5957 }
5958 ],
5959 "source_info" : {
5960 "filename" : "include/int_source.p4",
5961 "line" : 40,
5962 "column" : 8,
5963 "source_fragment" : "hdr.int_header.c = 0"
5964 }
5965 },
5966 {
5967 "op" : "assign",
5968 "parameters" : [
5969 {
5970 "type" : "field",
5971 "value" : ["int_header", "e"]
5972 },
5973 {
5974 "type" : "hexstr",
5975 "value" : "0x00"
5976 }
5977 ],
5978 "source_info" : {
5979 "filename" : "include/int_source.p4",
5980 "line" : 41,
5981 "column" : 8,
5982 "source_fragment" : "hdr.int_header.e = 0"
5983 }
5984 },
5985 {
5986 "op" : "assign",
5987 "parameters" : [
5988 {
5989 "type" : "field",
5990 "value" : ["int_header", "rsvd1"]
5991 },
5992 {
5993 "type" : "hexstr",
5994 "value" : "0x00"
5995 }
5996 ],
5997 "source_info" : {
5998 "filename" : "include/int_source.p4",
5999 "line" : 42,
6000 "column" : 8,
6001 "source_fragment" : "hdr.int_header.rsvd1 = 0"
6002 }
6003 },
6004 {
6005 "op" : "assign",
6006 "parameters" : [
6007 {
6008 "type" : "field",
6009 "value" : ["int_header", "ins_cnt"]
6010 },
6011 {
6012 "type" : "runtime_data",
6013 "value" : 1
6014 }
6015 ],
6016 "source_info" : {
6017 "filename" : "include/int_source.p4",
6018 "line" : 43,
6019 "column" : 8,
6020 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
6021 }
6022 },
6023 {
6024 "op" : "assign",
6025 "parameters" : [
6026 {
6027 "type" : "field",
6028 "value" : ["int_header", "max_hop_cnt"]
6029 },
6030 {
6031 "type" : "runtime_data",
6032 "value" : 0
6033 }
6034 ],
6035 "source_info" : {
6036 "filename" : "include/int_source.p4",
6037 "line" : 44,
6038 "column" : 8,
6039 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
6040 }
6041 },
6042 {
6043 "op" : "assign",
6044 "parameters" : [
6045 {
6046 "type" : "field",
6047 "value" : ["int_header", "total_hop_cnt"]
6048 },
6049 {
6050 "type" : "hexstr",
6051 "value" : "0x00"
6052 }
6053 ],
6054 "source_info" : {
6055 "filename" : "include/int_source.p4",
6056 "line" : 45,
6057 "column" : 8,
6058 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
6059 }
6060 },
6061 {
6062 "op" : "assign",
6063 "parameters" : [
6064 {
6065 "type" : "field",
6066 "value" : ["int_header", "instruction_mask_0003"]
6067 },
6068 {
6069 "type" : "runtime_data",
6070 "value" : 2
6071 }
6072 ],
6073 "source_info" : {
6074 "filename" : "include/int_source.p4",
6075 "line" : 46,
6076 "column" : 8,
6077 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
6078 }
6079 },
6080 {
6081 "op" : "assign",
6082 "parameters" : [
6083 {
6084 "type" : "field",
6085 "value" : ["int_header", "instruction_mask_0407"]
6086 },
6087 {
6088 "type" : "runtime_data",
6089 "value" : 3
6090 }
6091 ],
6092 "source_info" : {
6093 "filename" : "include/int_source.p4",
6094 "line" : 47,
6095 "column" : 8,
6096 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
6097 }
6098 },
6099 {
6100 "op" : "assign",
6101 "parameters" : [
6102 {
6103 "type" : "field",
6104 "value" : ["int_header", "instruction_mask_0811"]
6105 },
6106 {
6107 "type" : "hexstr",
6108 "value" : "0x00"
6109 }
6110 ],
6111 "source_info" : {
6112 "filename" : "include/int_source.p4",
6113 "line" : 48,
6114 "column" : 8,
6115 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
6116 }
6117 },
6118 {
6119 "op" : "assign",
6120 "parameters" : [
6121 {
6122 "type" : "field",
6123 "value" : ["int_header", "instruction_mask_1215"]
6124 },
6125 {
6126 "type" : "hexstr",
6127 "value" : "0x00"
6128 }
6129 ],
6130 "source_info" : {
6131 "filename" : "include/int_source.p4",
6132 "line" : 49,
6133 "column" : 8,
6134 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
6135 }
6136 },
6137 {
6138 "op" : "add_header",
6139 "parameters" : [
6140 {
6141 "type" : "header",
6142 "value" : "intl4_tail"
6143 }
6144 ],
6145 "source_info" : {
6146 "filename" : "include/int_source.p4",
6147 "line" : 52,
6148 "column" : 8,
6149 "source_fragment" : "hdr.intl4_tail.setValid()"
6150 }
6151 },
6152 {
6153 "op" : "assign",
6154 "parameters" : [
6155 {
6156 "type" : "field",
6157 "value" : ["intl4_tail", "next_proto"]
6158 },
6159 {
6160 "type" : "field",
6161 "value" : ["ipv4", "protocol"]
6162 }
6163 ],
6164 "source_info" : {
6165 "filename" : "include/int_source.p4",
6166 "line" : 53,
6167 "column" : 8,
6168 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
6169 }
6170 },
6171 {
6172 "op" : "assign",
6173 "parameters" : [
6174 {
6175 "type" : "field",
6176 "value" : ["intl4_tail", "dest_port"]
6177 },
6178 {
6179 "type" : "field",
6180 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
6181 }
6182 ],
6183 "source_info" : {
6184 "filename" : "include/int_source.p4",
6185 "line" : 54,
6186 "column" : 8,
6187 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
6188 }
6189 },
6190 {
6191 "op" : "assign",
6192 "parameters" : [
6193 {
6194 "type" : "field",
6195 "value" : ["intl4_tail", "dscp"]
6196 },
6197 {
6198 "type" : "expression",
6199 "value" : {
6200 "type" : "expression",
6201 "value" : {
6202 "op" : "&",
6203 "left" : {
6204 "type" : "field",
6205 "value" : ["ipv4", "dscp"]
6206 },
6207 "right" : {
6208 "type" : "hexstr",
6209 "value" : "0xff"
6210 }
6211 }
6212 }
6213 }
6214 ],
6215 "source_info" : {
6216 "filename" : "include/int_source.p4",
6217 "line" : 55,
6218 "column" : 8,
6219 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
6220 }
6221 },
6222 {
6223 "op" : "assign",
6224 "parameters" : [
6225 {
6226 "type" : "field",
6227 "value" : ["ipv4", "total_len"]
6228 },
6229 {
6230 "type" : "expression",
6231 "value" : {
6232 "type" : "expression",
6233 "value" : {
6234 "op" : "&",
6235 "left" : {
6236 "type" : "expression",
6237 "value" : {
6238 "op" : "+",
6239 "left" : {
6240 "type" : "field",
6241 "value" : ["ipv4", "total_len"]
6242 },
6243 "right" : {
6244 "type" : "hexstr",
6245 "value" : "0x0010"
6246 }
6247 }
6248 },
6249 "right" : {
6250 "type" : "hexstr",
6251 "value" : "0xffff"
6252 }
6253 }
6254 }
6255 }
6256 ],
6257 "source_info" : {
6258 "filename" : "include/int_source.p4",
6259 "line" : 58,
6260 "column" : 8,
6261 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
6262 }
6263 },
6264 {
6265 "op" : "assign",
6266 "parameters" : [
6267 {
6268 "type" : "field",
6269 "value" : ["udp", "len"]
6270 },
6271 {
6272 "type" : "expression",
6273 "value" : {
6274 "type" : "expression",
6275 "value" : {
6276 "op" : "&",
6277 "left" : {
6278 "type" : "expression",
6279 "value" : {
6280 "op" : "+",
6281 "left" : {
6282 "type" : "field",
6283 "value" : ["udp", "len"]
6284 },
6285 "right" : {
6286 "type" : "hexstr",
6287 "value" : "0x0010"
6288 }
6289 }
6290 },
6291 "right" : {
6292 "type" : "hexstr",
6293 "value" : "0xffff"
6294 }
6295 }
6296 }
6297 }
6298 ],
6299 "source_info" : {
6300 "filename" : "include/int_source.p4",
6301 "line" : 59,
6302 "column" : 8,
6303 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
6304 }
6305 },
6306 {
6307 "op" : "assign",
6308 "parameters" : [
6309 {
6310 "type" : "field",
6311 "value" : ["ipv4", "dscp"]
6312 },
6313 {
6314 "type" : "hexstr",
6315 "value" : "0x01"
6316 }
6317 ],
6318 "source_info" : {
6319 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006320 "line" : 125,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006321 "column" : 24,
6322 "source_fragment" : "0x1; ..."
6323 }
6324 }
6325 ]
6326 },
6327 {
6328 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
Charles Chan384aea22018-08-23 22:08:02 -07006329 "id" : 84,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006330 "runtime_data" : [],
6331 "primitives" : [
6332 {
6333 "op" : "assign",
6334 "parameters" : [
6335 {
6336 "type" : "field",
6337 "value" : ["int_header", "total_hop_cnt"]
6338 },
6339 {
6340 "type" : "expression",
6341 "value" : {
6342 "type" : "expression",
6343 "value" : {
6344 "op" : "&",
6345 "left" : {
6346 "type" : "expression",
6347 "value" : {
6348 "op" : "+",
6349 "left" : {
6350 "type" : "field",
6351 "value" : ["int_header", "total_hop_cnt"]
6352 },
6353 "right" : {
6354 "type" : "hexstr",
6355 "value" : "0x01"
6356 }
6357 }
6358 },
6359 "right" : {
6360 "type" : "hexstr",
6361 "value" : "0xff"
6362 }
6363 }
6364 }
6365 }
6366 ],
6367 "source_info" : {
6368 "filename" : "include/int_transit.p4",
6369 "line" : 30,
6370 "column" : 8,
6371 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
6372 }
6373 }
6374 ]
6375 },
6376 {
6377 "name" : "FabricEgress.process_int_transit.int_transit",
Charles Chan384aea22018-08-23 22:08:02 -07006378 "id" : 85,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006379 "runtime_data" : [
6380 {
6381 "name" : "switch_id",
6382 "bitwidth" : 32
6383 }
6384 ],
6385 "primitives" : [
6386 {
6387 "op" : "assign",
6388 "parameters" : [
6389 {
6390 "type" : "field",
6391 "value" : ["userMetadata.int_meta", "switch_id"]
6392 },
6393 {
6394 "type" : "runtime_data",
6395 "value" : 0
6396 }
6397 ],
6398 "source_info" : {
6399 "filename" : "include/int_transit.p4",
6400 "line" : 34,
6401 "column" : 8,
6402 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
6403 }
6404 },
6405 {
6406 "op" : "assign",
6407 "parameters" : [
6408 {
6409 "type" : "field",
6410 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
6411 },
6412 {
6413 "type" : "expression",
6414 "value" : {
6415 "type" : "expression",
6416 "value" : {
6417 "op" : "&",
6418 "left" : {
6419 "type" : "expression",
6420 "value" : {
6421 "op" : "<<",
6422 "left" : {
6423 "type" : "expression",
6424 "value" : {
6425 "op" : "&",
6426 "left" : {
6427 "type" : "field",
6428 "value" : ["int_header", "ins_cnt"]
6429 },
6430 "right" : {
6431 "type" : "hexstr",
6432 "value" : "0xffff"
6433 }
6434 }
6435 },
6436 "right" : {
6437 "type" : "hexstr",
6438 "value" : "0x2"
6439 }
6440 }
6441 },
6442 "right" : {
6443 "type" : "hexstr",
6444 "value" : "0xffff"
6445 }
6446 }
6447 }
6448 }
6449 ],
6450 "source_info" : {
6451 "filename" : "include/int_transit.p4",
6452 "line" : 35,
6453 "column" : 8,
6454 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
6455 }
6456 }
6457 ]
6458 },
6459 {
6460 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
Charles Chan384aea22018-08-23 22:08:02 -07006461 "id" : 86,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006462 "runtime_data" : [],
6463 "primitives" : []
6464 },
6465 {
6466 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
Charles Chan384aea22018-08-23 22:08:02 -07006467 "id" : 87,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006468 "runtime_data" : [],
6469 "primitives" : [
6470 {
6471 "op" : "add_header",
6472 "parameters" : [
6473 {
6474 "type" : "header",
6475 "value" : "int_q_occupancy"
6476 }
6477 ],
6478 "source_info" : {
6479 "filename" : "include/int_transit.p4",
6480 "line" : 57,
6481 "column" : 8,
6482 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6483 }
6484 },
6485 {
6486 "op" : "assign",
6487 "parameters" : [
6488 {
6489 "type" : "field",
6490 "value" : ["int_q_occupancy", "q_id"]
6491 },
6492 {
6493 "type" : "hexstr",
6494 "value" : "0x00"
6495 }
6496 ],
6497 "source_info" : {
6498 "filename" : "include/int_transit.p4",
6499 "line" : 58,
6500 "column" : 8,
6501 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6502 }
6503 },
6504 {
6505 "op" : "assign",
6506 "parameters" : [
6507 {
6508 "type" : "field",
6509 "value" : ["int_q_occupancy", "q_occupancy"]
6510 },
6511 {
6512 "type" : "expression",
6513 "value" : {
6514 "type" : "expression",
6515 "value" : {
6516 "op" : "&",
6517 "left" : {
6518 "type" : "field",
6519 "value" : ["standard_metadata", "deq_qdepth"]
6520 },
6521 "right" : {
6522 "type" : "hexstr",
6523 "value" : "0xffffff"
6524 }
6525 }
6526 }
6527 }
6528 ],
6529 "source_info" : {
6530 "filename" : "include/int_transit.p4",
6531 "line" : 61,
6532 "column" : 8,
6533 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6534 }
6535 }
6536 ]
6537 },
6538 {
6539 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
Charles Chan384aea22018-08-23 22:08:02 -07006540 "id" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006541 "runtime_data" : [],
6542 "primitives" : [
6543 {
6544 "op" : "add_header",
6545 "parameters" : [
6546 {
6547 "type" : "header",
6548 "value" : "int_hop_latency"
6549 }
6550 ],
6551 "source_info" : {
6552 "filename" : "include/int_transit.p4",
6553 "line" : 51,
6554 "column" : 8,
6555 "source_fragment" : "hdr.int_hop_latency.setValid()"
6556 }
6557 },
6558 {
6559 "op" : "assign",
6560 "parameters" : [
6561 {
6562 "type" : "field",
6563 "value" : ["int_hop_latency", "hop_latency"]
6564 },
6565 {
6566 "type" : "field",
6567 "value" : ["standard_metadata", "deq_timedelta"]
6568 }
6569 ],
6570 "source_info" : {
6571 "filename" : "include/int_transit.p4",
6572 "line" : 52,
6573 "column" : 8,
6574 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6575 }
6576 }
6577 ]
6578 },
6579 {
6580 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
Charles Chan384aea22018-08-23 22:08:02 -07006581 "id" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006582 "runtime_data" : [],
6583 "primitives" : [
6584 {
6585 "op" : "add_header",
6586 "parameters" : [
6587 {
6588 "type" : "header",
6589 "value" : "int_q_occupancy"
6590 }
6591 ],
6592 "source_info" : {
6593 "filename" : "include/int_transit.p4",
6594 "line" : 57,
6595 "column" : 8,
6596 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6597 }
6598 },
6599 {
6600 "op" : "assign",
6601 "parameters" : [
6602 {
6603 "type" : "field",
6604 "value" : ["int_q_occupancy", "q_id"]
6605 },
6606 {
6607 "type" : "hexstr",
6608 "value" : "0x00"
6609 }
6610 ],
6611 "source_info" : {
6612 "filename" : "include/int_transit.p4",
6613 "line" : 58,
6614 "column" : 8,
6615 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6616 }
6617 },
6618 {
6619 "op" : "assign",
6620 "parameters" : [
6621 {
6622 "type" : "field",
6623 "value" : ["int_q_occupancy", "q_occupancy"]
6624 },
6625 {
6626 "type" : "expression",
6627 "value" : {
6628 "type" : "expression",
6629 "value" : {
6630 "op" : "&",
6631 "left" : {
6632 "type" : "field",
6633 "value" : ["standard_metadata", "deq_qdepth"]
6634 },
6635 "right" : {
6636 "type" : "hexstr",
6637 "value" : "0xffffff"
6638 }
6639 }
6640 }
6641 }
6642 ],
6643 "source_info" : {
6644 "filename" : "include/int_transit.p4",
6645 "line" : 61,
6646 "column" : 8,
6647 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6648 }
6649 },
6650 {
6651 "op" : "add_header",
6652 "parameters" : [
6653 {
6654 "type" : "header",
6655 "value" : "int_hop_latency"
6656 }
6657 ],
6658 "source_info" : {
6659 "filename" : "include/int_transit.p4",
6660 "line" : 51,
6661 "column" : 8,
6662 "source_fragment" : "hdr.int_hop_latency.setValid()"
6663 }
6664 },
6665 {
6666 "op" : "assign",
6667 "parameters" : [
6668 {
6669 "type" : "field",
6670 "value" : ["int_hop_latency", "hop_latency"]
6671 },
6672 {
6673 "type" : "field",
6674 "value" : ["standard_metadata", "deq_timedelta"]
6675 }
6676 ],
6677 "source_info" : {
6678 "filename" : "include/int_transit.p4",
6679 "line" : 52,
6680 "column" : 8,
6681 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6682 }
6683 }
6684 ]
6685 },
6686 {
6687 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
Charles Chan384aea22018-08-23 22:08:02 -07006688 "id" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006689 "runtime_data" : [],
6690 "primitives" : [
6691 {
6692 "op" : "add_header",
6693 "parameters" : [
6694 {
6695 "type" : "header",
6696 "value" : "int_port_ids"
6697 }
6698 ],
6699 "source_info" : {
6700 "filename" : "include/int_transit.p4",
6701 "line" : 44,
6702 "column" : 8,
6703 "source_fragment" : "hdr.int_port_ids.setValid()"
6704 }
6705 },
6706 {
6707 "op" : "assign",
6708 "parameters" : [
6709 {
6710 "type" : "field",
6711 "value" : ["int_port_ids", "ingress_port_id"]
6712 },
6713 {
6714 "type" : "expression",
6715 "value" : {
6716 "type" : "expression",
6717 "value" : {
6718 "op" : "&",
6719 "left" : {
6720 "type" : "field",
6721 "value" : ["standard_metadata", "ingress_port"]
6722 },
6723 "right" : {
6724 "type" : "hexstr",
6725 "value" : "0xffff"
6726 }
6727 }
6728 }
6729 }
6730 ],
6731 "source_info" : {
6732 "filename" : "include/int_transit.p4",
6733 "line" : 45,
6734 "column" : 8,
6735 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6736 }
6737 },
6738 {
6739 "op" : "assign",
6740 "parameters" : [
6741 {
6742 "type" : "field",
6743 "value" : ["int_port_ids", "egress_port_id"]
6744 },
6745 {
6746 "type" : "expression",
6747 "value" : {
6748 "type" : "expression",
6749 "value" : {
6750 "op" : "&",
6751 "left" : {
6752 "type" : "field",
6753 "value" : ["standard_metadata", "egress_port"]
6754 },
6755 "right" : {
6756 "type" : "hexstr",
6757 "value" : "0xffff"
6758 }
6759 }
6760 }
6761 }
6762 ],
6763 "source_info" : {
6764 "filename" : "include/int_transit.p4",
6765 "line" : 47,
6766 "column" : 8,
6767 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6768 }
6769 }
6770 ]
6771 },
6772 {
6773 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
Charles Chan384aea22018-08-23 22:08:02 -07006774 "id" : 91,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006775 "runtime_data" : [],
6776 "primitives" : [
6777 {
6778 "op" : "add_header",
6779 "parameters" : [
6780 {
6781 "type" : "header",
6782 "value" : "int_q_occupancy"
6783 }
6784 ],
6785 "source_info" : {
6786 "filename" : "include/int_transit.p4",
6787 "line" : 57,
6788 "column" : 8,
6789 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6790 }
6791 },
6792 {
6793 "op" : "assign",
6794 "parameters" : [
6795 {
6796 "type" : "field",
6797 "value" : ["int_q_occupancy", "q_id"]
6798 },
6799 {
6800 "type" : "hexstr",
6801 "value" : "0x00"
6802 }
6803 ],
6804 "source_info" : {
6805 "filename" : "include/int_transit.p4",
6806 "line" : 58,
6807 "column" : 8,
6808 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6809 }
6810 },
6811 {
6812 "op" : "assign",
6813 "parameters" : [
6814 {
6815 "type" : "field",
6816 "value" : ["int_q_occupancy", "q_occupancy"]
6817 },
6818 {
6819 "type" : "expression",
6820 "value" : {
6821 "type" : "expression",
6822 "value" : {
6823 "op" : "&",
6824 "left" : {
6825 "type" : "field",
6826 "value" : ["standard_metadata", "deq_qdepth"]
6827 },
6828 "right" : {
6829 "type" : "hexstr",
6830 "value" : "0xffffff"
6831 }
6832 }
6833 }
6834 }
6835 ],
6836 "source_info" : {
6837 "filename" : "include/int_transit.p4",
6838 "line" : 61,
6839 "column" : 8,
6840 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6841 }
6842 },
6843 {
6844 "op" : "add_header",
6845 "parameters" : [
6846 {
6847 "type" : "header",
6848 "value" : "int_port_ids"
6849 }
6850 ],
6851 "source_info" : {
6852 "filename" : "include/int_transit.p4",
6853 "line" : 44,
6854 "column" : 8,
6855 "source_fragment" : "hdr.int_port_ids.setValid()"
6856 }
6857 },
6858 {
6859 "op" : "assign",
6860 "parameters" : [
6861 {
6862 "type" : "field",
6863 "value" : ["int_port_ids", "ingress_port_id"]
6864 },
6865 {
6866 "type" : "expression",
6867 "value" : {
6868 "type" : "expression",
6869 "value" : {
6870 "op" : "&",
6871 "left" : {
6872 "type" : "field",
6873 "value" : ["standard_metadata", "ingress_port"]
6874 },
6875 "right" : {
6876 "type" : "hexstr",
6877 "value" : "0xffff"
6878 }
6879 }
6880 }
6881 }
6882 ],
6883 "source_info" : {
6884 "filename" : "include/int_transit.p4",
6885 "line" : 45,
6886 "column" : 8,
6887 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6888 }
6889 },
6890 {
6891 "op" : "assign",
6892 "parameters" : [
6893 {
6894 "type" : "field",
6895 "value" : ["int_port_ids", "egress_port_id"]
6896 },
6897 {
6898 "type" : "expression",
6899 "value" : {
6900 "type" : "expression",
6901 "value" : {
6902 "op" : "&",
6903 "left" : {
6904 "type" : "field",
6905 "value" : ["standard_metadata", "egress_port"]
6906 },
6907 "right" : {
6908 "type" : "hexstr",
6909 "value" : "0xffff"
6910 }
6911 }
6912 }
6913 }
6914 ],
6915 "source_info" : {
6916 "filename" : "include/int_transit.p4",
6917 "line" : 47,
6918 "column" : 8,
6919 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6920 }
6921 }
6922 ]
6923 },
6924 {
6925 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
Charles Chan384aea22018-08-23 22:08:02 -07006926 "id" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006927 "runtime_data" : [],
6928 "primitives" : [
6929 {
6930 "op" : "add_header",
6931 "parameters" : [
6932 {
6933 "type" : "header",
6934 "value" : "int_hop_latency"
6935 }
6936 ],
6937 "source_info" : {
6938 "filename" : "include/int_transit.p4",
6939 "line" : 51,
6940 "column" : 8,
6941 "source_fragment" : "hdr.int_hop_latency.setValid()"
6942 }
6943 },
6944 {
6945 "op" : "assign",
6946 "parameters" : [
6947 {
6948 "type" : "field",
6949 "value" : ["int_hop_latency", "hop_latency"]
6950 },
6951 {
6952 "type" : "field",
6953 "value" : ["standard_metadata", "deq_timedelta"]
6954 }
6955 ],
6956 "source_info" : {
6957 "filename" : "include/int_transit.p4",
6958 "line" : 52,
6959 "column" : 8,
6960 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6961 }
6962 },
6963 {
6964 "op" : "add_header",
6965 "parameters" : [
6966 {
6967 "type" : "header",
6968 "value" : "int_port_ids"
6969 }
6970 ],
6971 "source_info" : {
6972 "filename" : "include/int_transit.p4",
6973 "line" : 44,
6974 "column" : 8,
6975 "source_fragment" : "hdr.int_port_ids.setValid()"
6976 }
6977 },
6978 {
6979 "op" : "assign",
6980 "parameters" : [
6981 {
6982 "type" : "field",
6983 "value" : ["int_port_ids", "ingress_port_id"]
6984 },
6985 {
6986 "type" : "expression",
6987 "value" : {
6988 "type" : "expression",
6989 "value" : {
6990 "op" : "&",
6991 "left" : {
6992 "type" : "field",
6993 "value" : ["standard_metadata", "ingress_port"]
6994 },
6995 "right" : {
6996 "type" : "hexstr",
6997 "value" : "0xffff"
6998 }
6999 }
7000 }
7001 }
7002 ],
7003 "source_info" : {
7004 "filename" : "include/int_transit.p4",
7005 "line" : 45,
7006 "column" : 8,
7007 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7008 }
7009 },
7010 {
7011 "op" : "assign",
7012 "parameters" : [
7013 {
7014 "type" : "field",
7015 "value" : ["int_port_ids", "egress_port_id"]
7016 },
7017 {
7018 "type" : "expression",
7019 "value" : {
7020 "type" : "expression",
7021 "value" : {
7022 "op" : "&",
7023 "left" : {
7024 "type" : "field",
7025 "value" : ["standard_metadata", "egress_port"]
7026 },
7027 "right" : {
7028 "type" : "hexstr",
7029 "value" : "0xffff"
7030 }
7031 }
7032 }
7033 }
7034 ],
7035 "source_info" : {
7036 "filename" : "include/int_transit.p4",
7037 "line" : 47,
7038 "column" : 8,
7039 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7040 }
7041 }
7042 ]
7043 },
7044 {
7045 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
Charles Chan384aea22018-08-23 22:08:02 -07007046 "id" : 93,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007047 "runtime_data" : [],
7048 "primitives" : [
7049 {
7050 "op" : "add_header",
7051 "parameters" : [
7052 {
7053 "type" : "header",
7054 "value" : "int_q_occupancy"
7055 }
7056 ],
7057 "source_info" : {
7058 "filename" : "include/int_transit.p4",
7059 "line" : 57,
7060 "column" : 8,
7061 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7062 }
7063 },
7064 {
7065 "op" : "assign",
7066 "parameters" : [
7067 {
7068 "type" : "field",
7069 "value" : ["int_q_occupancy", "q_id"]
7070 },
7071 {
7072 "type" : "hexstr",
7073 "value" : "0x00"
7074 }
7075 ],
7076 "source_info" : {
7077 "filename" : "include/int_transit.p4",
7078 "line" : 58,
7079 "column" : 8,
7080 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7081 }
7082 },
7083 {
7084 "op" : "assign",
7085 "parameters" : [
7086 {
7087 "type" : "field",
7088 "value" : ["int_q_occupancy", "q_occupancy"]
7089 },
7090 {
7091 "type" : "expression",
7092 "value" : {
7093 "type" : "expression",
7094 "value" : {
7095 "op" : "&",
7096 "left" : {
7097 "type" : "field",
7098 "value" : ["standard_metadata", "deq_qdepth"]
7099 },
7100 "right" : {
7101 "type" : "hexstr",
7102 "value" : "0xffffff"
7103 }
7104 }
7105 }
7106 }
7107 ],
7108 "source_info" : {
7109 "filename" : "include/int_transit.p4",
7110 "line" : 61,
7111 "column" : 8,
7112 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7113 }
7114 },
7115 {
7116 "op" : "add_header",
7117 "parameters" : [
7118 {
7119 "type" : "header",
7120 "value" : "int_hop_latency"
7121 }
7122 ],
7123 "source_info" : {
7124 "filename" : "include/int_transit.p4",
7125 "line" : 51,
7126 "column" : 8,
7127 "source_fragment" : "hdr.int_hop_latency.setValid()"
7128 }
7129 },
7130 {
7131 "op" : "assign",
7132 "parameters" : [
7133 {
7134 "type" : "field",
7135 "value" : ["int_hop_latency", "hop_latency"]
7136 },
7137 {
7138 "type" : "field",
7139 "value" : ["standard_metadata", "deq_timedelta"]
7140 }
7141 ],
7142 "source_info" : {
7143 "filename" : "include/int_transit.p4",
7144 "line" : 52,
7145 "column" : 8,
7146 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7147 }
7148 },
7149 {
7150 "op" : "add_header",
7151 "parameters" : [
7152 {
7153 "type" : "header",
7154 "value" : "int_port_ids"
7155 }
7156 ],
7157 "source_info" : {
7158 "filename" : "include/int_transit.p4",
7159 "line" : 44,
7160 "column" : 8,
7161 "source_fragment" : "hdr.int_port_ids.setValid()"
7162 }
7163 },
7164 {
7165 "op" : "assign",
7166 "parameters" : [
7167 {
7168 "type" : "field",
7169 "value" : ["int_port_ids", "ingress_port_id"]
7170 },
7171 {
7172 "type" : "expression",
7173 "value" : {
7174 "type" : "expression",
7175 "value" : {
7176 "op" : "&",
7177 "left" : {
7178 "type" : "field",
7179 "value" : ["standard_metadata", "ingress_port"]
7180 },
7181 "right" : {
7182 "type" : "hexstr",
7183 "value" : "0xffff"
7184 }
7185 }
7186 }
7187 }
7188 ],
7189 "source_info" : {
7190 "filename" : "include/int_transit.p4",
7191 "line" : 45,
7192 "column" : 8,
7193 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7194 }
7195 },
7196 {
7197 "op" : "assign",
7198 "parameters" : [
7199 {
7200 "type" : "field",
7201 "value" : ["int_port_ids", "egress_port_id"]
7202 },
7203 {
7204 "type" : "expression",
7205 "value" : {
7206 "type" : "expression",
7207 "value" : {
7208 "op" : "&",
7209 "left" : {
7210 "type" : "field",
7211 "value" : ["standard_metadata", "egress_port"]
7212 },
7213 "right" : {
7214 "type" : "hexstr",
7215 "value" : "0xffff"
7216 }
7217 }
7218 }
7219 }
7220 ],
7221 "source_info" : {
7222 "filename" : "include/int_transit.p4",
7223 "line" : 47,
7224 "column" : 8,
7225 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7226 }
7227 }
7228 ]
7229 },
7230 {
7231 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
Charles Chan384aea22018-08-23 22:08:02 -07007232 "id" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007233 "runtime_data" : [],
7234 "primitives" : [
7235 {
7236 "op" : "add_header",
7237 "parameters" : [
7238 {
7239 "type" : "header",
7240 "value" : "int_switch_id"
7241 }
7242 ],
7243 "source_info" : {
7244 "filename" : "include/int_transit.p4",
7245 "line" : 40,
7246 "column" : 8,
7247 "source_fragment" : "hdr.int_switch_id.setValid()"
7248 }
7249 },
7250 {
7251 "op" : "assign",
7252 "parameters" : [
7253 {
7254 "type" : "field",
7255 "value" : ["int_switch_id", "switch_id"]
7256 },
7257 {
7258 "type" : "field",
7259 "value" : ["userMetadata.int_meta", "switch_id"]
7260 }
7261 ],
7262 "source_info" : {
7263 "filename" : "include/int_transit.p4",
7264 "line" : 41,
7265 "column" : 8,
7266 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7267 }
7268 }
7269 ]
7270 },
7271 {
7272 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
Charles Chan384aea22018-08-23 22:08:02 -07007273 "id" : 95,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007274 "runtime_data" : [],
7275 "primitives" : [
7276 {
7277 "op" : "add_header",
7278 "parameters" : [
7279 {
7280 "type" : "header",
7281 "value" : "int_q_occupancy"
7282 }
7283 ],
7284 "source_info" : {
7285 "filename" : "include/int_transit.p4",
7286 "line" : 57,
7287 "column" : 8,
7288 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7289 }
7290 },
7291 {
7292 "op" : "assign",
7293 "parameters" : [
7294 {
7295 "type" : "field",
7296 "value" : ["int_q_occupancy", "q_id"]
7297 },
7298 {
7299 "type" : "hexstr",
7300 "value" : "0x00"
7301 }
7302 ],
7303 "source_info" : {
7304 "filename" : "include/int_transit.p4",
7305 "line" : 58,
7306 "column" : 8,
7307 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7308 }
7309 },
7310 {
7311 "op" : "assign",
7312 "parameters" : [
7313 {
7314 "type" : "field",
7315 "value" : ["int_q_occupancy", "q_occupancy"]
7316 },
7317 {
7318 "type" : "expression",
7319 "value" : {
7320 "type" : "expression",
7321 "value" : {
7322 "op" : "&",
7323 "left" : {
7324 "type" : "field",
7325 "value" : ["standard_metadata", "deq_qdepth"]
7326 },
7327 "right" : {
7328 "type" : "hexstr",
7329 "value" : "0xffffff"
7330 }
7331 }
7332 }
7333 }
7334 ],
7335 "source_info" : {
7336 "filename" : "include/int_transit.p4",
7337 "line" : 61,
7338 "column" : 8,
7339 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7340 }
7341 },
7342 {
7343 "op" : "add_header",
7344 "parameters" : [
7345 {
7346 "type" : "header",
7347 "value" : "int_switch_id"
7348 }
7349 ],
7350 "source_info" : {
7351 "filename" : "include/int_transit.p4",
7352 "line" : 40,
7353 "column" : 8,
7354 "source_fragment" : "hdr.int_switch_id.setValid()"
7355 }
7356 },
7357 {
7358 "op" : "assign",
7359 "parameters" : [
7360 {
7361 "type" : "field",
7362 "value" : ["int_switch_id", "switch_id"]
7363 },
7364 {
7365 "type" : "field",
7366 "value" : ["userMetadata.int_meta", "switch_id"]
7367 }
7368 ],
7369 "source_info" : {
7370 "filename" : "include/int_transit.p4",
7371 "line" : 41,
7372 "column" : 8,
7373 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7374 }
7375 }
7376 ]
7377 },
7378 {
7379 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
Charles Chan384aea22018-08-23 22:08:02 -07007380 "id" : 96,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007381 "runtime_data" : [],
7382 "primitives" : [
7383 {
7384 "op" : "add_header",
7385 "parameters" : [
7386 {
7387 "type" : "header",
7388 "value" : "int_hop_latency"
7389 }
7390 ],
7391 "source_info" : {
7392 "filename" : "include/int_transit.p4",
7393 "line" : 51,
7394 "column" : 8,
7395 "source_fragment" : "hdr.int_hop_latency.setValid()"
7396 }
7397 },
7398 {
7399 "op" : "assign",
7400 "parameters" : [
7401 {
7402 "type" : "field",
7403 "value" : ["int_hop_latency", "hop_latency"]
7404 },
7405 {
7406 "type" : "field",
7407 "value" : ["standard_metadata", "deq_timedelta"]
7408 }
7409 ],
7410 "source_info" : {
7411 "filename" : "include/int_transit.p4",
7412 "line" : 52,
7413 "column" : 8,
7414 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7415 }
7416 },
7417 {
7418 "op" : "add_header",
7419 "parameters" : [
7420 {
7421 "type" : "header",
7422 "value" : "int_switch_id"
7423 }
7424 ],
7425 "source_info" : {
7426 "filename" : "include/int_transit.p4",
7427 "line" : 40,
7428 "column" : 8,
7429 "source_fragment" : "hdr.int_switch_id.setValid()"
7430 }
7431 },
7432 {
7433 "op" : "assign",
7434 "parameters" : [
7435 {
7436 "type" : "field",
7437 "value" : ["int_switch_id", "switch_id"]
7438 },
7439 {
7440 "type" : "field",
7441 "value" : ["userMetadata.int_meta", "switch_id"]
7442 }
7443 ],
7444 "source_info" : {
7445 "filename" : "include/int_transit.p4",
7446 "line" : 41,
7447 "column" : 8,
7448 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7449 }
7450 }
7451 ]
7452 },
7453 {
7454 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
Charles Chan384aea22018-08-23 22:08:02 -07007455 "id" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007456 "runtime_data" : [],
7457 "primitives" : [
7458 {
7459 "op" : "add_header",
7460 "parameters" : [
7461 {
7462 "type" : "header",
7463 "value" : "int_q_occupancy"
7464 }
7465 ],
7466 "source_info" : {
7467 "filename" : "include/int_transit.p4",
7468 "line" : 57,
7469 "column" : 8,
7470 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7471 }
7472 },
7473 {
7474 "op" : "assign",
7475 "parameters" : [
7476 {
7477 "type" : "field",
7478 "value" : ["int_q_occupancy", "q_id"]
7479 },
7480 {
7481 "type" : "hexstr",
7482 "value" : "0x00"
7483 }
7484 ],
7485 "source_info" : {
7486 "filename" : "include/int_transit.p4",
7487 "line" : 58,
7488 "column" : 8,
7489 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7490 }
7491 },
7492 {
7493 "op" : "assign",
7494 "parameters" : [
7495 {
7496 "type" : "field",
7497 "value" : ["int_q_occupancy", "q_occupancy"]
7498 },
7499 {
7500 "type" : "expression",
7501 "value" : {
7502 "type" : "expression",
7503 "value" : {
7504 "op" : "&",
7505 "left" : {
7506 "type" : "field",
7507 "value" : ["standard_metadata", "deq_qdepth"]
7508 },
7509 "right" : {
7510 "type" : "hexstr",
7511 "value" : "0xffffff"
7512 }
7513 }
7514 }
7515 }
7516 ],
7517 "source_info" : {
7518 "filename" : "include/int_transit.p4",
7519 "line" : 61,
7520 "column" : 8,
7521 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7522 }
7523 },
7524 {
7525 "op" : "add_header",
7526 "parameters" : [
7527 {
7528 "type" : "header",
7529 "value" : "int_hop_latency"
7530 }
7531 ],
7532 "source_info" : {
7533 "filename" : "include/int_transit.p4",
7534 "line" : 51,
7535 "column" : 8,
7536 "source_fragment" : "hdr.int_hop_latency.setValid()"
7537 }
7538 },
7539 {
7540 "op" : "assign",
7541 "parameters" : [
7542 {
7543 "type" : "field",
7544 "value" : ["int_hop_latency", "hop_latency"]
7545 },
7546 {
7547 "type" : "field",
7548 "value" : ["standard_metadata", "deq_timedelta"]
7549 }
7550 ],
7551 "source_info" : {
7552 "filename" : "include/int_transit.p4",
7553 "line" : 52,
7554 "column" : 8,
7555 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7556 }
7557 },
7558 {
7559 "op" : "add_header",
7560 "parameters" : [
7561 {
7562 "type" : "header",
7563 "value" : "int_switch_id"
7564 }
7565 ],
7566 "source_info" : {
7567 "filename" : "include/int_transit.p4",
7568 "line" : 40,
7569 "column" : 8,
7570 "source_fragment" : "hdr.int_switch_id.setValid()"
7571 }
7572 },
7573 {
7574 "op" : "assign",
7575 "parameters" : [
7576 {
7577 "type" : "field",
7578 "value" : ["int_switch_id", "switch_id"]
7579 },
7580 {
7581 "type" : "field",
7582 "value" : ["userMetadata.int_meta", "switch_id"]
7583 }
7584 ],
7585 "source_info" : {
7586 "filename" : "include/int_transit.p4",
7587 "line" : 41,
7588 "column" : 8,
7589 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7590 }
7591 }
7592 ]
7593 },
7594 {
7595 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
Charles Chan384aea22018-08-23 22:08:02 -07007596 "id" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007597 "runtime_data" : [],
7598 "primitives" : [
7599 {
7600 "op" : "add_header",
7601 "parameters" : [
7602 {
7603 "type" : "header",
7604 "value" : "int_port_ids"
7605 }
7606 ],
7607 "source_info" : {
7608 "filename" : "include/int_transit.p4",
7609 "line" : 44,
7610 "column" : 8,
7611 "source_fragment" : "hdr.int_port_ids.setValid()"
7612 }
7613 },
7614 {
7615 "op" : "assign",
7616 "parameters" : [
7617 {
7618 "type" : "field",
7619 "value" : ["int_port_ids", "ingress_port_id"]
7620 },
7621 {
7622 "type" : "expression",
7623 "value" : {
7624 "type" : "expression",
7625 "value" : {
7626 "op" : "&",
7627 "left" : {
7628 "type" : "field",
7629 "value" : ["standard_metadata", "ingress_port"]
7630 },
7631 "right" : {
7632 "type" : "hexstr",
7633 "value" : "0xffff"
7634 }
7635 }
7636 }
7637 }
7638 ],
7639 "source_info" : {
7640 "filename" : "include/int_transit.p4",
7641 "line" : 45,
7642 "column" : 8,
7643 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7644 }
7645 },
7646 {
7647 "op" : "assign",
7648 "parameters" : [
7649 {
7650 "type" : "field",
7651 "value" : ["int_port_ids", "egress_port_id"]
7652 },
7653 {
7654 "type" : "expression",
7655 "value" : {
7656 "type" : "expression",
7657 "value" : {
7658 "op" : "&",
7659 "left" : {
7660 "type" : "field",
7661 "value" : ["standard_metadata", "egress_port"]
7662 },
7663 "right" : {
7664 "type" : "hexstr",
7665 "value" : "0xffff"
7666 }
7667 }
7668 }
7669 }
7670 ],
7671 "source_info" : {
7672 "filename" : "include/int_transit.p4",
7673 "line" : 47,
7674 "column" : 8,
7675 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7676 }
7677 },
7678 {
7679 "op" : "add_header",
7680 "parameters" : [
7681 {
7682 "type" : "header",
7683 "value" : "int_switch_id"
7684 }
7685 ],
7686 "source_info" : {
7687 "filename" : "include/int_transit.p4",
7688 "line" : 40,
7689 "column" : 8,
7690 "source_fragment" : "hdr.int_switch_id.setValid()"
7691 }
7692 },
7693 {
7694 "op" : "assign",
7695 "parameters" : [
7696 {
7697 "type" : "field",
7698 "value" : ["int_switch_id", "switch_id"]
7699 },
7700 {
7701 "type" : "field",
7702 "value" : ["userMetadata.int_meta", "switch_id"]
7703 }
7704 ],
7705 "source_info" : {
7706 "filename" : "include/int_transit.p4",
7707 "line" : 41,
7708 "column" : 8,
7709 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7710 }
7711 }
7712 ]
7713 },
7714 {
7715 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
Charles Chan384aea22018-08-23 22:08:02 -07007716 "id" : 99,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007717 "runtime_data" : [],
7718 "primitives" : [
7719 {
7720 "op" : "add_header",
7721 "parameters" : [
7722 {
7723 "type" : "header",
7724 "value" : "int_q_occupancy"
7725 }
7726 ],
7727 "source_info" : {
7728 "filename" : "include/int_transit.p4",
7729 "line" : 57,
7730 "column" : 8,
7731 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7732 }
7733 },
7734 {
7735 "op" : "assign",
7736 "parameters" : [
7737 {
7738 "type" : "field",
7739 "value" : ["int_q_occupancy", "q_id"]
7740 },
7741 {
7742 "type" : "hexstr",
7743 "value" : "0x00"
7744 }
7745 ],
7746 "source_info" : {
7747 "filename" : "include/int_transit.p4",
7748 "line" : 58,
7749 "column" : 8,
7750 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7751 }
7752 },
7753 {
7754 "op" : "assign",
7755 "parameters" : [
7756 {
7757 "type" : "field",
7758 "value" : ["int_q_occupancy", "q_occupancy"]
7759 },
7760 {
7761 "type" : "expression",
7762 "value" : {
7763 "type" : "expression",
7764 "value" : {
7765 "op" : "&",
7766 "left" : {
7767 "type" : "field",
7768 "value" : ["standard_metadata", "deq_qdepth"]
7769 },
7770 "right" : {
7771 "type" : "hexstr",
7772 "value" : "0xffffff"
7773 }
7774 }
7775 }
7776 }
7777 ],
7778 "source_info" : {
7779 "filename" : "include/int_transit.p4",
7780 "line" : 61,
7781 "column" : 8,
7782 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7783 }
7784 },
7785 {
7786 "op" : "add_header",
7787 "parameters" : [
7788 {
7789 "type" : "header",
7790 "value" : "int_port_ids"
7791 }
7792 ],
7793 "source_info" : {
7794 "filename" : "include/int_transit.p4",
7795 "line" : 44,
7796 "column" : 8,
7797 "source_fragment" : "hdr.int_port_ids.setValid()"
7798 }
7799 },
7800 {
7801 "op" : "assign",
7802 "parameters" : [
7803 {
7804 "type" : "field",
7805 "value" : ["int_port_ids", "ingress_port_id"]
7806 },
7807 {
7808 "type" : "expression",
7809 "value" : {
7810 "type" : "expression",
7811 "value" : {
7812 "op" : "&",
7813 "left" : {
7814 "type" : "field",
7815 "value" : ["standard_metadata", "ingress_port"]
7816 },
7817 "right" : {
7818 "type" : "hexstr",
7819 "value" : "0xffff"
7820 }
7821 }
7822 }
7823 }
7824 ],
7825 "source_info" : {
7826 "filename" : "include/int_transit.p4",
7827 "line" : 45,
7828 "column" : 8,
7829 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7830 }
7831 },
7832 {
7833 "op" : "assign",
7834 "parameters" : [
7835 {
7836 "type" : "field",
7837 "value" : ["int_port_ids", "egress_port_id"]
7838 },
7839 {
7840 "type" : "expression",
7841 "value" : {
7842 "type" : "expression",
7843 "value" : {
7844 "op" : "&",
7845 "left" : {
7846 "type" : "field",
7847 "value" : ["standard_metadata", "egress_port"]
7848 },
7849 "right" : {
7850 "type" : "hexstr",
7851 "value" : "0xffff"
7852 }
7853 }
7854 }
7855 }
7856 ],
7857 "source_info" : {
7858 "filename" : "include/int_transit.p4",
7859 "line" : 47,
7860 "column" : 8,
7861 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7862 }
7863 },
7864 {
7865 "op" : "add_header",
7866 "parameters" : [
7867 {
7868 "type" : "header",
7869 "value" : "int_switch_id"
7870 }
7871 ],
7872 "source_info" : {
7873 "filename" : "include/int_transit.p4",
7874 "line" : 40,
7875 "column" : 8,
7876 "source_fragment" : "hdr.int_switch_id.setValid()"
7877 }
7878 },
7879 {
7880 "op" : "assign",
7881 "parameters" : [
7882 {
7883 "type" : "field",
7884 "value" : ["int_switch_id", "switch_id"]
7885 },
7886 {
7887 "type" : "field",
7888 "value" : ["userMetadata.int_meta", "switch_id"]
7889 }
7890 ],
7891 "source_info" : {
7892 "filename" : "include/int_transit.p4",
7893 "line" : 41,
7894 "column" : 8,
7895 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7896 }
7897 }
7898 ]
7899 },
7900 {
7901 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
Charles Chan384aea22018-08-23 22:08:02 -07007902 "id" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007903 "runtime_data" : [],
7904 "primitives" : [
7905 {
7906 "op" : "add_header",
7907 "parameters" : [
7908 {
7909 "type" : "header",
7910 "value" : "int_hop_latency"
7911 }
7912 ],
7913 "source_info" : {
7914 "filename" : "include/int_transit.p4",
7915 "line" : 51,
7916 "column" : 8,
7917 "source_fragment" : "hdr.int_hop_latency.setValid()"
7918 }
7919 },
7920 {
7921 "op" : "assign",
7922 "parameters" : [
7923 {
7924 "type" : "field",
7925 "value" : ["int_hop_latency", "hop_latency"]
7926 },
7927 {
7928 "type" : "field",
7929 "value" : ["standard_metadata", "deq_timedelta"]
7930 }
7931 ],
7932 "source_info" : {
7933 "filename" : "include/int_transit.p4",
7934 "line" : 52,
7935 "column" : 8,
7936 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7937 }
7938 },
7939 {
7940 "op" : "add_header",
7941 "parameters" : [
7942 {
7943 "type" : "header",
7944 "value" : "int_port_ids"
7945 }
7946 ],
7947 "source_info" : {
7948 "filename" : "include/int_transit.p4",
7949 "line" : 44,
7950 "column" : 8,
7951 "source_fragment" : "hdr.int_port_ids.setValid()"
7952 }
7953 },
7954 {
7955 "op" : "assign",
7956 "parameters" : [
7957 {
7958 "type" : "field",
7959 "value" : ["int_port_ids", "ingress_port_id"]
7960 },
7961 {
7962 "type" : "expression",
7963 "value" : {
7964 "type" : "expression",
7965 "value" : {
7966 "op" : "&",
7967 "left" : {
7968 "type" : "field",
7969 "value" : ["standard_metadata", "ingress_port"]
7970 },
7971 "right" : {
7972 "type" : "hexstr",
7973 "value" : "0xffff"
7974 }
7975 }
7976 }
7977 }
7978 ],
7979 "source_info" : {
7980 "filename" : "include/int_transit.p4",
7981 "line" : 45,
7982 "column" : 8,
7983 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7984 }
7985 },
7986 {
7987 "op" : "assign",
7988 "parameters" : [
7989 {
7990 "type" : "field",
7991 "value" : ["int_port_ids", "egress_port_id"]
7992 },
7993 {
7994 "type" : "expression",
7995 "value" : {
7996 "type" : "expression",
7997 "value" : {
7998 "op" : "&",
7999 "left" : {
8000 "type" : "field",
8001 "value" : ["standard_metadata", "egress_port"]
8002 },
8003 "right" : {
8004 "type" : "hexstr",
8005 "value" : "0xffff"
8006 }
8007 }
8008 }
8009 }
8010 ],
8011 "source_info" : {
8012 "filename" : "include/int_transit.p4",
8013 "line" : 47,
8014 "column" : 8,
8015 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8016 }
8017 },
8018 {
8019 "op" : "add_header",
8020 "parameters" : [
8021 {
8022 "type" : "header",
8023 "value" : "int_switch_id"
8024 }
8025 ],
8026 "source_info" : {
8027 "filename" : "include/int_transit.p4",
8028 "line" : 40,
8029 "column" : 8,
8030 "source_fragment" : "hdr.int_switch_id.setValid()"
8031 }
8032 },
8033 {
8034 "op" : "assign",
8035 "parameters" : [
8036 {
8037 "type" : "field",
8038 "value" : ["int_switch_id", "switch_id"]
8039 },
8040 {
8041 "type" : "field",
8042 "value" : ["userMetadata.int_meta", "switch_id"]
8043 }
8044 ],
8045 "source_info" : {
8046 "filename" : "include/int_transit.p4",
8047 "line" : 41,
8048 "column" : 8,
8049 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8050 }
8051 }
8052 ]
8053 },
8054 {
8055 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
Charles Chan384aea22018-08-23 22:08:02 -07008056 "id" : 101,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008057 "runtime_data" : [],
8058 "primitives" : [
8059 {
8060 "op" : "add_header",
8061 "parameters" : [
8062 {
8063 "type" : "header",
8064 "value" : "int_q_occupancy"
8065 }
8066 ],
8067 "source_info" : {
8068 "filename" : "include/int_transit.p4",
8069 "line" : 57,
8070 "column" : 8,
8071 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8072 }
8073 },
8074 {
8075 "op" : "assign",
8076 "parameters" : [
8077 {
8078 "type" : "field",
8079 "value" : ["int_q_occupancy", "q_id"]
8080 },
8081 {
8082 "type" : "hexstr",
8083 "value" : "0x00"
8084 }
8085 ],
8086 "source_info" : {
8087 "filename" : "include/int_transit.p4",
8088 "line" : 58,
8089 "column" : 8,
8090 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
8091 }
8092 },
8093 {
8094 "op" : "assign",
8095 "parameters" : [
8096 {
8097 "type" : "field",
8098 "value" : ["int_q_occupancy", "q_occupancy"]
8099 },
8100 {
8101 "type" : "expression",
8102 "value" : {
8103 "type" : "expression",
8104 "value" : {
8105 "op" : "&",
8106 "left" : {
8107 "type" : "field",
8108 "value" : ["standard_metadata", "deq_qdepth"]
8109 },
8110 "right" : {
8111 "type" : "hexstr",
8112 "value" : "0xffffff"
8113 }
8114 }
8115 }
8116 }
8117 ],
8118 "source_info" : {
8119 "filename" : "include/int_transit.p4",
8120 "line" : 61,
8121 "column" : 8,
8122 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
8123 }
8124 },
8125 {
8126 "op" : "add_header",
8127 "parameters" : [
8128 {
8129 "type" : "header",
8130 "value" : "int_hop_latency"
8131 }
8132 ],
8133 "source_info" : {
8134 "filename" : "include/int_transit.p4",
8135 "line" : 51,
8136 "column" : 8,
8137 "source_fragment" : "hdr.int_hop_latency.setValid()"
8138 }
8139 },
8140 {
8141 "op" : "assign",
8142 "parameters" : [
8143 {
8144 "type" : "field",
8145 "value" : ["int_hop_latency", "hop_latency"]
8146 },
8147 {
8148 "type" : "field",
8149 "value" : ["standard_metadata", "deq_timedelta"]
8150 }
8151 ],
8152 "source_info" : {
8153 "filename" : "include/int_transit.p4",
8154 "line" : 52,
8155 "column" : 8,
8156 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
8157 }
8158 },
8159 {
8160 "op" : "add_header",
8161 "parameters" : [
8162 {
8163 "type" : "header",
8164 "value" : "int_port_ids"
8165 }
8166 ],
8167 "source_info" : {
8168 "filename" : "include/int_transit.p4",
8169 "line" : 44,
8170 "column" : 8,
8171 "source_fragment" : "hdr.int_port_ids.setValid()"
8172 }
8173 },
8174 {
8175 "op" : "assign",
8176 "parameters" : [
8177 {
8178 "type" : "field",
8179 "value" : ["int_port_ids", "ingress_port_id"]
8180 },
8181 {
8182 "type" : "expression",
8183 "value" : {
8184 "type" : "expression",
8185 "value" : {
8186 "op" : "&",
8187 "left" : {
8188 "type" : "field",
8189 "value" : ["standard_metadata", "ingress_port"]
8190 },
8191 "right" : {
8192 "type" : "hexstr",
8193 "value" : "0xffff"
8194 }
8195 }
8196 }
8197 }
8198 ],
8199 "source_info" : {
8200 "filename" : "include/int_transit.p4",
8201 "line" : 45,
8202 "column" : 8,
8203 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8204 }
8205 },
8206 {
8207 "op" : "assign",
8208 "parameters" : [
8209 {
8210 "type" : "field",
8211 "value" : ["int_port_ids", "egress_port_id"]
8212 },
8213 {
8214 "type" : "expression",
8215 "value" : {
8216 "type" : "expression",
8217 "value" : {
8218 "op" : "&",
8219 "left" : {
8220 "type" : "field",
8221 "value" : ["standard_metadata", "egress_port"]
8222 },
8223 "right" : {
8224 "type" : "hexstr",
8225 "value" : "0xffff"
8226 }
8227 }
8228 }
8229 }
8230 ],
8231 "source_info" : {
8232 "filename" : "include/int_transit.p4",
8233 "line" : 47,
8234 "column" : 8,
8235 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8236 }
8237 },
8238 {
8239 "op" : "add_header",
8240 "parameters" : [
8241 {
8242 "type" : "header",
8243 "value" : "int_switch_id"
8244 }
8245 ],
8246 "source_info" : {
8247 "filename" : "include/int_transit.p4",
8248 "line" : 40,
8249 "column" : 8,
8250 "source_fragment" : "hdr.int_switch_id.setValid()"
8251 }
8252 },
8253 {
8254 "op" : "assign",
8255 "parameters" : [
8256 {
8257 "type" : "field",
8258 "value" : ["int_switch_id", "switch_id"]
8259 },
8260 {
8261 "type" : "field",
8262 "value" : ["userMetadata.int_meta", "switch_id"]
8263 }
8264 ],
8265 "source_info" : {
8266 "filename" : "include/int_transit.p4",
8267 "line" : 41,
8268 "column" : 8,
8269 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8270 }
8271 }
8272 ]
8273 },
8274 {
8275 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
Charles Chan384aea22018-08-23 22:08:02 -07008276 "id" : 102,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008277 "runtime_data" : [],
8278 "primitives" : []
8279 },
8280 {
8281 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
Charles Chan384aea22018-08-23 22:08:02 -07008282 "id" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008283 "runtime_data" : [],
8284 "primitives" : [
8285 {
8286 "op" : "add_header",
8287 "parameters" : [
8288 {
8289 "type" : "header",
8290 "value" : "int_egress_tx_util"
8291 }
8292 ],
8293 "source_info" : {
8294 "filename" : "include/int_transit.p4",
8295 "line" : 88,
8296 "column" : 8,
8297 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8298 }
8299 },
8300 {
8301 "op" : "assign",
8302 "parameters" : [
8303 {
8304 "type" : "field",
8305 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8306 },
8307 {
8308 "type" : "hexstr",
8309 "value" : "0x00000000"
8310 }
8311 ],
8312 "source_info" : {
8313 "filename" : "include/int_transit.p4",
8314 "line" : 89,
8315 "column" : 8,
8316 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8317 }
8318 }
8319 ]
8320 },
8321 {
8322 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
Charles Chan384aea22018-08-23 22:08:02 -07008323 "id" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008324 "runtime_data" : [],
8325 "primitives" : [
8326 {
8327 "op" : "add_header",
8328 "parameters" : [
8329 {
8330 "type" : "header",
8331 "value" : "int_q_congestion"
8332 }
8333 ],
8334 "source_info" : {
8335 "filename" : "include/int_transit.p4",
8336 "line" : 78,
8337 "column" : 8,
8338 "source_fragment" : "hdr.int_q_congestion.setValid()"
8339 }
8340 },
8341 {
8342 "op" : "assign",
8343 "parameters" : [
8344 {
8345 "type" : "field",
8346 "value" : ["int_q_congestion", "q_id"]
8347 },
8348 {
8349 "type" : "hexstr",
8350 "value" : "0x00"
8351 }
8352 ],
8353 "source_info" : {
8354 "filename" : "include/int_transit.p4",
8355 "line" : 79,
8356 "column" : 8,
8357 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8358 }
8359 },
8360 {
8361 "op" : "assign",
8362 "parameters" : [
8363 {
8364 "type" : "field",
8365 "value" : ["int_q_congestion", "q_congestion"]
8366 },
8367 {
8368 "type" : "hexstr",
8369 "value" : "0x000000"
8370 }
8371 ],
8372 "source_info" : {
8373 "filename" : "include/int_transit.p4",
8374 "line" : 82,
8375 "column" : 8,
8376 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8377 }
8378 }
8379 ]
8380 },
8381 {
8382 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
Charles Chan384aea22018-08-23 22:08:02 -07008383 "id" : 105,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008384 "runtime_data" : [],
8385 "primitives" : [
8386 {
8387 "op" : "add_header",
8388 "parameters" : [
8389 {
8390 "type" : "header",
8391 "value" : "int_egress_tx_util"
8392 }
8393 ],
8394 "source_info" : {
8395 "filename" : "include/int_transit.p4",
8396 "line" : 88,
8397 "column" : 8,
8398 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8399 }
8400 },
8401 {
8402 "op" : "assign",
8403 "parameters" : [
8404 {
8405 "type" : "field",
8406 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8407 },
8408 {
8409 "type" : "hexstr",
8410 "value" : "0x00000000"
8411 }
8412 ],
8413 "source_info" : {
8414 "filename" : "include/int_transit.p4",
8415 "line" : 89,
8416 "column" : 8,
8417 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8418 }
8419 },
8420 {
8421 "op" : "add_header",
8422 "parameters" : [
8423 {
8424 "type" : "header",
8425 "value" : "int_q_congestion"
8426 }
8427 ],
8428 "source_info" : {
8429 "filename" : "include/int_transit.p4",
8430 "line" : 78,
8431 "column" : 8,
8432 "source_fragment" : "hdr.int_q_congestion.setValid()"
8433 }
8434 },
8435 {
8436 "op" : "assign",
8437 "parameters" : [
8438 {
8439 "type" : "field",
8440 "value" : ["int_q_congestion", "q_id"]
8441 },
8442 {
8443 "type" : "hexstr",
8444 "value" : "0x00"
8445 }
8446 ],
8447 "source_info" : {
8448 "filename" : "include/int_transit.p4",
8449 "line" : 79,
8450 "column" : 8,
8451 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8452 }
8453 },
8454 {
8455 "op" : "assign",
8456 "parameters" : [
8457 {
8458 "type" : "field",
8459 "value" : ["int_q_congestion", "q_congestion"]
8460 },
8461 {
8462 "type" : "hexstr",
8463 "value" : "0x000000"
8464 }
8465 ],
8466 "source_info" : {
8467 "filename" : "include/int_transit.p4",
8468 "line" : 82,
8469 "column" : 8,
8470 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8471 }
8472 }
8473 ]
8474 },
8475 {
8476 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
Charles Chan384aea22018-08-23 22:08:02 -07008477 "id" : 106,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008478 "runtime_data" : [],
8479 "primitives" : [
8480 {
8481 "op" : "add_header",
8482 "parameters" : [
8483 {
8484 "type" : "header",
8485 "value" : "int_egress_tstamp"
8486 }
8487 ],
8488 "source_info" : {
8489 "filename" : "include/int_transit.p4",
8490 "line" : 70,
8491 "column" : 8,
8492 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8493 }
8494 },
8495 {
8496 "op" : "assign",
8497 "parameters" : [
8498 {
8499 "type" : "field",
8500 "value" : ["int_egress_tstamp", "egress_tstamp"]
8501 },
8502 {
8503 "type" : "expression",
8504 "value" : {
8505 "type" : "expression",
8506 "value" : {
8507 "op" : "&",
8508 "left" : {
8509 "type" : "expression",
8510 "value" : {
8511 "op" : "+",
8512 "left" : {
8513 "type" : "field",
8514 "value" : ["standard_metadata", "enq_timestamp"]
8515 },
8516 "right" : {
8517 "type" : "field",
8518 "value" : ["standard_metadata", "deq_timedelta"]
8519 }
8520 }
8521 },
8522 "right" : {
8523 "type" : "hexstr",
8524 "value" : "0xffffffff"
8525 }
8526 }
8527 }
8528 }
8529 ],
8530 "source_info" : {
8531 "filename" : "include/int_transit.p4",
8532 "line" : 71,
8533 "column" : 8,
8534 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8535 }
8536 }
8537 ]
8538 },
8539 {
8540 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
Charles Chan384aea22018-08-23 22:08:02 -07008541 "id" : 107,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008542 "runtime_data" : [],
8543 "primitives" : [
8544 {
8545 "op" : "add_header",
8546 "parameters" : [
8547 {
8548 "type" : "header",
8549 "value" : "int_egress_tx_util"
8550 }
8551 ],
8552 "source_info" : {
8553 "filename" : "include/int_transit.p4",
8554 "line" : 88,
8555 "column" : 8,
8556 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8557 }
8558 },
8559 {
8560 "op" : "assign",
8561 "parameters" : [
8562 {
8563 "type" : "field",
8564 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8565 },
8566 {
8567 "type" : "hexstr",
8568 "value" : "0x00000000"
8569 }
8570 ],
8571 "source_info" : {
8572 "filename" : "include/int_transit.p4",
8573 "line" : 89,
8574 "column" : 8,
8575 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8576 }
8577 },
8578 {
8579 "op" : "add_header",
8580 "parameters" : [
8581 {
8582 "type" : "header",
8583 "value" : "int_egress_tstamp"
8584 }
8585 ],
8586 "source_info" : {
8587 "filename" : "include/int_transit.p4",
8588 "line" : 70,
8589 "column" : 8,
8590 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8591 }
8592 },
8593 {
8594 "op" : "assign",
8595 "parameters" : [
8596 {
8597 "type" : "field",
8598 "value" : ["int_egress_tstamp", "egress_tstamp"]
8599 },
8600 {
8601 "type" : "expression",
8602 "value" : {
8603 "type" : "expression",
8604 "value" : {
8605 "op" : "&",
8606 "left" : {
8607 "type" : "expression",
8608 "value" : {
8609 "op" : "+",
8610 "left" : {
8611 "type" : "field",
8612 "value" : ["standard_metadata", "enq_timestamp"]
8613 },
8614 "right" : {
8615 "type" : "field",
8616 "value" : ["standard_metadata", "deq_timedelta"]
8617 }
8618 }
8619 },
8620 "right" : {
8621 "type" : "hexstr",
8622 "value" : "0xffffffff"
8623 }
8624 }
8625 }
8626 }
8627 ],
8628 "source_info" : {
8629 "filename" : "include/int_transit.p4",
8630 "line" : 71,
8631 "column" : 8,
8632 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8633 }
8634 }
8635 ]
8636 },
8637 {
8638 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
Charles Chan384aea22018-08-23 22:08:02 -07008639 "id" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008640 "runtime_data" : [],
8641 "primitives" : [
8642 {
8643 "op" : "add_header",
8644 "parameters" : [
8645 {
8646 "type" : "header",
8647 "value" : "int_q_congestion"
8648 }
8649 ],
8650 "source_info" : {
8651 "filename" : "include/int_transit.p4",
8652 "line" : 78,
8653 "column" : 8,
8654 "source_fragment" : "hdr.int_q_congestion.setValid()"
8655 }
8656 },
8657 {
8658 "op" : "assign",
8659 "parameters" : [
8660 {
8661 "type" : "field",
8662 "value" : ["int_q_congestion", "q_id"]
8663 },
8664 {
8665 "type" : "hexstr",
8666 "value" : "0x00"
8667 }
8668 ],
8669 "source_info" : {
8670 "filename" : "include/int_transit.p4",
8671 "line" : 79,
8672 "column" : 8,
8673 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8674 }
8675 },
8676 {
8677 "op" : "assign",
8678 "parameters" : [
8679 {
8680 "type" : "field",
8681 "value" : ["int_q_congestion", "q_congestion"]
8682 },
8683 {
8684 "type" : "hexstr",
8685 "value" : "0x000000"
8686 }
8687 ],
8688 "source_info" : {
8689 "filename" : "include/int_transit.p4",
8690 "line" : 82,
8691 "column" : 8,
8692 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8693 }
8694 },
8695 {
8696 "op" : "add_header",
8697 "parameters" : [
8698 {
8699 "type" : "header",
8700 "value" : "int_egress_tstamp"
8701 }
8702 ],
8703 "source_info" : {
8704 "filename" : "include/int_transit.p4",
8705 "line" : 70,
8706 "column" : 8,
8707 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8708 }
8709 },
8710 {
8711 "op" : "assign",
8712 "parameters" : [
8713 {
8714 "type" : "field",
8715 "value" : ["int_egress_tstamp", "egress_tstamp"]
8716 },
8717 {
8718 "type" : "expression",
8719 "value" : {
8720 "type" : "expression",
8721 "value" : {
8722 "op" : "&",
8723 "left" : {
8724 "type" : "expression",
8725 "value" : {
8726 "op" : "+",
8727 "left" : {
8728 "type" : "field",
8729 "value" : ["standard_metadata", "enq_timestamp"]
8730 },
8731 "right" : {
8732 "type" : "field",
8733 "value" : ["standard_metadata", "deq_timedelta"]
8734 }
8735 }
8736 },
8737 "right" : {
8738 "type" : "hexstr",
8739 "value" : "0xffffffff"
8740 }
8741 }
8742 }
8743 }
8744 ],
8745 "source_info" : {
8746 "filename" : "include/int_transit.p4",
8747 "line" : 71,
8748 "column" : 8,
8749 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8750 }
8751 }
8752 ]
8753 },
8754 {
8755 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
Charles Chan384aea22018-08-23 22:08:02 -07008756 "id" : 109,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008757 "runtime_data" : [],
8758 "primitives" : [
8759 {
8760 "op" : "add_header",
8761 "parameters" : [
8762 {
8763 "type" : "header",
8764 "value" : "int_egress_tx_util"
8765 }
8766 ],
8767 "source_info" : {
8768 "filename" : "include/int_transit.p4",
8769 "line" : 88,
8770 "column" : 8,
8771 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8772 }
8773 },
8774 {
8775 "op" : "assign",
8776 "parameters" : [
8777 {
8778 "type" : "field",
8779 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8780 },
8781 {
8782 "type" : "hexstr",
8783 "value" : "0x00000000"
8784 }
8785 ],
8786 "source_info" : {
8787 "filename" : "include/int_transit.p4",
8788 "line" : 89,
8789 "column" : 8,
8790 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8791 }
8792 },
8793 {
8794 "op" : "add_header",
8795 "parameters" : [
8796 {
8797 "type" : "header",
8798 "value" : "int_q_congestion"
8799 }
8800 ],
8801 "source_info" : {
8802 "filename" : "include/int_transit.p4",
8803 "line" : 78,
8804 "column" : 8,
8805 "source_fragment" : "hdr.int_q_congestion.setValid()"
8806 }
8807 },
8808 {
8809 "op" : "assign",
8810 "parameters" : [
8811 {
8812 "type" : "field",
8813 "value" : ["int_q_congestion", "q_id"]
8814 },
8815 {
8816 "type" : "hexstr",
8817 "value" : "0x00"
8818 }
8819 ],
8820 "source_info" : {
8821 "filename" : "include/int_transit.p4",
8822 "line" : 79,
8823 "column" : 8,
8824 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8825 }
8826 },
8827 {
8828 "op" : "assign",
8829 "parameters" : [
8830 {
8831 "type" : "field",
8832 "value" : ["int_q_congestion", "q_congestion"]
8833 },
8834 {
8835 "type" : "hexstr",
8836 "value" : "0x000000"
8837 }
8838 ],
8839 "source_info" : {
8840 "filename" : "include/int_transit.p4",
8841 "line" : 82,
8842 "column" : 8,
8843 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8844 }
8845 },
8846 {
8847 "op" : "add_header",
8848 "parameters" : [
8849 {
8850 "type" : "header",
8851 "value" : "int_egress_tstamp"
8852 }
8853 ],
8854 "source_info" : {
8855 "filename" : "include/int_transit.p4",
8856 "line" : 70,
8857 "column" : 8,
8858 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8859 }
8860 },
8861 {
8862 "op" : "assign",
8863 "parameters" : [
8864 {
8865 "type" : "field",
8866 "value" : ["int_egress_tstamp", "egress_tstamp"]
8867 },
8868 {
8869 "type" : "expression",
8870 "value" : {
8871 "type" : "expression",
8872 "value" : {
8873 "op" : "&",
8874 "left" : {
8875 "type" : "expression",
8876 "value" : {
8877 "op" : "+",
8878 "left" : {
8879 "type" : "field",
8880 "value" : ["standard_metadata", "enq_timestamp"]
8881 },
8882 "right" : {
8883 "type" : "field",
8884 "value" : ["standard_metadata", "deq_timedelta"]
8885 }
8886 }
8887 },
8888 "right" : {
8889 "type" : "hexstr",
8890 "value" : "0xffffffff"
8891 }
8892 }
8893 }
8894 }
8895 ],
8896 "source_info" : {
8897 "filename" : "include/int_transit.p4",
8898 "line" : 71,
8899 "column" : 8,
8900 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8901 }
8902 }
8903 ]
8904 },
8905 {
8906 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
Charles Chan384aea22018-08-23 22:08:02 -07008907 "id" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008908 "runtime_data" : [],
8909 "primitives" : [
8910 {
8911 "op" : "add_header",
8912 "parameters" : [
8913 {
8914 "type" : "header",
8915 "value" : "int_ingress_tstamp"
8916 }
8917 ],
8918 "source_info" : {
8919 "filename" : "include/int_transit.p4",
8920 "line" : 65,
8921 "column" : 8,
8922 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8923 }
8924 },
8925 {
8926 "op" : "assign",
8927 "parameters" : [
8928 {
8929 "type" : "field",
8930 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8931 },
8932 {
8933 "type" : "field",
8934 "value" : ["standard_metadata", "enq_timestamp"]
8935 }
8936 ],
8937 "source_info" : {
8938 "filename" : "include/int_transit.p4",
8939 "line" : 66,
8940 "column" : 8,
8941 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8942 }
8943 }
8944 ]
8945 },
8946 {
8947 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
Charles Chan384aea22018-08-23 22:08:02 -07008948 "id" : 111,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008949 "runtime_data" : [],
8950 "primitives" : [
8951 {
8952 "op" : "add_header",
8953 "parameters" : [
8954 {
8955 "type" : "header",
8956 "value" : "int_egress_tx_util"
8957 }
8958 ],
8959 "source_info" : {
8960 "filename" : "include/int_transit.p4",
8961 "line" : 88,
8962 "column" : 8,
8963 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8964 }
8965 },
8966 {
8967 "op" : "assign",
8968 "parameters" : [
8969 {
8970 "type" : "field",
8971 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8972 },
8973 {
8974 "type" : "hexstr",
8975 "value" : "0x00000000"
8976 }
8977 ],
8978 "source_info" : {
8979 "filename" : "include/int_transit.p4",
8980 "line" : 89,
8981 "column" : 8,
8982 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8983 }
8984 },
8985 {
8986 "op" : "add_header",
8987 "parameters" : [
8988 {
8989 "type" : "header",
8990 "value" : "int_ingress_tstamp"
8991 }
8992 ],
8993 "source_info" : {
8994 "filename" : "include/int_transit.p4",
8995 "line" : 65,
8996 "column" : 8,
8997 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8998 }
8999 },
9000 {
9001 "op" : "assign",
9002 "parameters" : [
9003 {
9004 "type" : "field",
9005 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9006 },
9007 {
9008 "type" : "field",
9009 "value" : ["standard_metadata", "enq_timestamp"]
9010 }
9011 ],
9012 "source_info" : {
9013 "filename" : "include/int_transit.p4",
9014 "line" : 66,
9015 "column" : 8,
9016 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9017 }
9018 }
9019 ]
9020 },
9021 {
9022 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
Charles Chan384aea22018-08-23 22:08:02 -07009023 "id" : 112,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009024 "runtime_data" : [],
9025 "primitives" : [
9026 {
9027 "op" : "add_header",
9028 "parameters" : [
9029 {
9030 "type" : "header",
9031 "value" : "int_q_congestion"
9032 }
9033 ],
9034 "source_info" : {
9035 "filename" : "include/int_transit.p4",
9036 "line" : 78,
9037 "column" : 8,
9038 "source_fragment" : "hdr.int_q_congestion.setValid()"
9039 }
9040 },
9041 {
9042 "op" : "assign",
9043 "parameters" : [
9044 {
9045 "type" : "field",
9046 "value" : ["int_q_congestion", "q_id"]
9047 },
9048 {
9049 "type" : "hexstr",
9050 "value" : "0x00"
9051 }
9052 ],
9053 "source_info" : {
9054 "filename" : "include/int_transit.p4",
9055 "line" : 79,
9056 "column" : 8,
9057 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9058 }
9059 },
9060 {
9061 "op" : "assign",
9062 "parameters" : [
9063 {
9064 "type" : "field",
9065 "value" : ["int_q_congestion", "q_congestion"]
9066 },
9067 {
9068 "type" : "hexstr",
9069 "value" : "0x000000"
9070 }
9071 ],
9072 "source_info" : {
9073 "filename" : "include/int_transit.p4",
9074 "line" : 82,
9075 "column" : 8,
9076 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9077 }
9078 },
9079 {
9080 "op" : "add_header",
9081 "parameters" : [
9082 {
9083 "type" : "header",
9084 "value" : "int_ingress_tstamp"
9085 }
9086 ],
9087 "source_info" : {
9088 "filename" : "include/int_transit.p4",
9089 "line" : 65,
9090 "column" : 8,
9091 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9092 }
9093 },
9094 {
9095 "op" : "assign",
9096 "parameters" : [
9097 {
9098 "type" : "field",
9099 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9100 },
9101 {
9102 "type" : "field",
9103 "value" : ["standard_metadata", "enq_timestamp"]
9104 }
9105 ],
9106 "source_info" : {
9107 "filename" : "include/int_transit.p4",
9108 "line" : 66,
9109 "column" : 8,
9110 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9111 }
9112 }
9113 ]
9114 },
9115 {
9116 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
Charles Chan384aea22018-08-23 22:08:02 -07009117 "id" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009118 "runtime_data" : [],
9119 "primitives" : [
9120 {
9121 "op" : "add_header",
9122 "parameters" : [
9123 {
9124 "type" : "header",
9125 "value" : "int_egress_tx_util"
9126 }
9127 ],
9128 "source_info" : {
9129 "filename" : "include/int_transit.p4",
9130 "line" : 88,
9131 "column" : 8,
9132 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9133 }
9134 },
9135 {
9136 "op" : "assign",
9137 "parameters" : [
9138 {
9139 "type" : "field",
9140 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9141 },
9142 {
9143 "type" : "hexstr",
9144 "value" : "0x00000000"
9145 }
9146 ],
9147 "source_info" : {
9148 "filename" : "include/int_transit.p4",
9149 "line" : 89,
9150 "column" : 8,
9151 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9152 }
9153 },
9154 {
9155 "op" : "add_header",
9156 "parameters" : [
9157 {
9158 "type" : "header",
9159 "value" : "int_q_congestion"
9160 }
9161 ],
9162 "source_info" : {
9163 "filename" : "include/int_transit.p4",
9164 "line" : 78,
9165 "column" : 8,
9166 "source_fragment" : "hdr.int_q_congestion.setValid()"
9167 }
9168 },
9169 {
9170 "op" : "assign",
9171 "parameters" : [
9172 {
9173 "type" : "field",
9174 "value" : ["int_q_congestion", "q_id"]
9175 },
9176 {
9177 "type" : "hexstr",
9178 "value" : "0x00"
9179 }
9180 ],
9181 "source_info" : {
9182 "filename" : "include/int_transit.p4",
9183 "line" : 79,
9184 "column" : 8,
9185 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9186 }
9187 },
9188 {
9189 "op" : "assign",
9190 "parameters" : [
9191 {
9192 "type" : "field",
9193 "value" : ["int_q_congestion", "q_congestion"]
9194 },
9195 {
9196 "type" : "hexstr",
9197 "value" : "0x000000"
9198 }
9199 ],
9200 "source_info" : {
9201 "filename" : "include/int_transit.p4",
9202 "line" : 82,
9203 "column" : 8,
9204 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9205 }
9206 },
9207 {
9208 "op" : "add_header",
9209 "parameters" : [
9210 {
9211 "type" : "header",
9212 "value" : "int_ingress_tstamp"
9213 }
9214 ],
9215 "source_info" : {
9216 "filename" : "include/int_transit.p4",
9217 "line" : 65,
9218 "column" : 8,
9219 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9220 }
9221 },
9222 {
9223 "op" : "assign",
9224 "parameters" : [
9225 {
9226 "type" : "field",
9227 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9228 },
9229 {
9230 "type" : "field",
9231 "value" : ["standard_metadata", "enq_timestamp"]
9232 }
9233 ],
9234 "source_info" : {
9235 "filename" : "include/int_transit.p4",
9236 "line" : 66,
9237 "column" : 8,
9238 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9239 }
9240 }
9241 ]
9242 },
9243 {
9244 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
Charles Chan384aea22018-08-23 22:08:02 -07009245 "id" : 114,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009246 "runtime_data" : [],
9247 "primitives" : [
9248 {
9249 "op" : "add_header",
9250 "parameters" : [
9251 {
9252 "type" : "header",
9253 "value" : "int_egress_tstamp"
9254 }
9255 ],
9256 "source_info" : {
9257 "filename" : "include/int_transit.p4",
9258 "line" : 70,
9259 "column" : 8,
9260 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9261 }
9262 },
9263 {
9264 "op" : "assign",
9265 "parameters" : [
9266 {
9267 "type" : "field",
9268 "value" : ["int_egress_tstamp", "egress_tstamp"]
9269 },
9270 {
9271 "type" : "expression",
9272 "value" : {
9273 "type" : "expression",
9274 "value" : {
9275 "op" : "&",
9276 "left" : {
9277 "type" : "expression",
9278 "value" : {
9279 "op" : "+",
9280 "left" : {
9281 "type" : "field",
9282 "value" : ["standard_metadata", "enq_timestamp"]
9283 },
9284 "right" : {
9285 "type" : "field",
9286 "value" : ["standard_metadata", "deq_timedelta"]
9287 }
9288 }
9289 },
9290 "right" : {
9291 "type" : "hexstr",
9292 "value" : "0xffffffff"
9293 }
9294 }
9295 }
9296 }
9297 ],
9298 "source_info" : {
9299 "filename" : "include/int_transit.p4",
9300 "line" : 71,
9301 "column" : 8,
9302 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9303 }
9304 },
9305 {
9306 "op" : "add_header",
9307 "parameters" : [
9308 {
9309 "type" : "header",
9310 "value" : "int_ingress_tstamp"
9311 }
9312 ],
9313 "source_info" : {
9314 "filename" : "include/int_transit.p4",
9315 "line" : 65,
9316 "column" : 8,
9317 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9318 }
9319 },
9320 {
9321 "op" : "assign",
9322 "parameters" : [
9323 {
9324 "type" : "field",
9325 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9326 },
9327 {
9328 "type" : "field",
9329 "value" : ["standard_metadata", "enq_timestamp"]
9330 }
9331 ],
9332 "source_info" : {
9333 "filename" : "include/int_transit.p4",
9334 "line" : 66,
9335 "column" : 8,
9336 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9337 }
9338 }
9339 ]
9340 },
9341 {
9342 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
Charles Chan384aea22018-08-23 22:08:02 -07009343 "id" : 115,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009344 "runtime_data" : [],
9345 "primitives" : [
9346 {
9347 "op" : "add_header",
9348 "parameters" : [
9349 {
9350 "type" : "header",
9351 "value" : "int_egress_tx_util"
9352 }
9353 ],
9354 "source_info" : {
9355 "filename" : "include/int_transit.p4",
9356 "line" : 88,
9357 "column" : 8,
9358 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9359 }
9360 },
9361 {
9362 "op" : "assign",
9363 "parameters" : [
9364 {
9365 "type" : "field",
9366 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9367 },
9368 {
9369 "type" : "hexstr",
9370 "value" : "0x00000000"
9371 }
9372 ],
9373 "source_info" : {
9374 "filename" : "include/int_transit.p4",
9375 "line" : 89,
9376 "column" : 8,
9377 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9378 }
9379 },
9380 {
9381 "op" : "add_header",
9382 "parameters" : [
9383 {
9384 "type" : "header",
9385 "value" : "int_egress_tstamp"
9386 }
9387 ],
9388 "source_info" : {
9389 "filename" : "include/int_transit.p4",
9390 "line" : 70,
9391 "column" : 8,
9392 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9393 }
9394 },
9395 {
9396 "op" : "assign",
9397 "parameters" : [
9398 {
9399 "type" : "field",
9400 "value" : ["int_egress_tstamp", "egress_tstamp"]
9401 },
9402 {
9403 "type" : "expression",
9404 "value" : {
9405 "type" : "expression",
9406 "value" : {
9407 "op" : "&",
9408 "left" : {
9409 "type" : "expression",
9410 "value" : {
9411 "op" : "+",
9412 "left" : {
9413 "type" : "field",
9414 "value" : ["standard_metadata", "enq_timestamp"]
9415 },
9416 "right" : {
9417 "type" : "field",
9418 "value" : ["standard_metadata", "deq_timedelta"]
9419 }
9420 }
9421 },
9422 "right" : {
9423 "type" : "hexstr",
9424 "value" : "0xffffffff"
9425 }
9426 }
9427 }
9428 }
9429 ],
9430 "source_info" : {
9431 "filename" : "include/int_transit.p4",
9432 "line" : 71,
9433 "column" : 8,
9434 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9435 }
9436 },
9437 {
9438 "op" : "add_header",
9439 "parameters" : [
9440 {
9441 "type" : "header",
9442 "value" : "int_ingress_tstamp"
9443 }
9444 ],
9445 "source_info" : {
9446 "filename" : "include/int_transit.p4",
9447 "line" : 65,
9448 "column" : 8,
9449 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9450 }
9451 },
9452 {
9453 "op" : "assign",
9454 "parameters" : [
9455 {
9456 "type" : "field",
9457 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9458 },
9459 {
9460 "type" : "field",
9461 "value" : ["standard_metadata", "enq_timestamp"]
9462 }
9463 ],
9464 "source_info" : {
9465 "filename" : "include/int_transit.p4",
9466 "line" : 66,
9467 "column" : 8,
9468 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9469 }
9470 }
9471 ]
9472 },
9473 {
9474 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
Charles Chan384aea22018-08-23 22:08:02 -07009475 "id" : 116,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009476 "runtime_data" : [],
9477 "primitives" : [
9478 {
9479 "op" : "add_header",
9480 "parameters" : [
9481 {
9482 "type" : "header",
9483 "value" : "int_q_congestion"
9484 }
9485 ],
9486 "source_info" : {
9487 "filename" : "include/int_transit.p4",
9488 "line" : 78,
9489 "column" : 8,
9490 "source_fragment" : "hdr.int_q_congestion.setValid()"
9491 }
9492 },
9493 {
9494 "op" : "assign",
9495 "parameters" : [
9496 {
9497 "type" : "field",
9498 "value" : ["int_q_congestion", "q_id"]
9499 },
9500 {
9501 "type" : "hexstr",
9502 "value" : "0x00"
9503 }
9504 ],
9505 "source_info" : {
9506 "filename" : "include/int_transit.p4",
9507 "line" : 79,
9508 "column" : 8,
9509 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9510 }
9511 },
9512 {
9513 "op" : "assign",
9514 "parameters" : [
9515 {
9516 "type" : "field",
9517 "value" : ["int_q_congestion", "q_congestion"]
9518 },
9519 {
9520 "type" : "hexstr",
9521 "value" : "0x000000"
9522 }
9523 ],
9524 "source_info" : {
9525 "filename" : "include/int_transit.p4",
9526 "line" : 82,
9527 "column" : 8,
9528 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9529 }
9530 },
9531 {
9532 "op" : "add_header",
9533 "parameters" : [
9534 {
9535 "type" : "header",
9536 "value" : "int_egress_tstamp"
9537 }
9538 ],
9539 "source_info" : {
9540 "filename" : "include/int_transit.p4",
9541 "line" : 70,
9542 "column" : 8,
9543 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9544 }
9545 },
9546 {
9547 "op" : "assign",
9548 "parameters" : [
9549 {
9550 "type" : "field",
9551 "value" : ["int_egress_tstamp", "egress_tstamp"]
9552 },
9553 {
9554 "type" : "expression",
9555 "value" : {
9556 "type" : "expression",
9557 "value" : {
9558 "op" : "&",
9559 "left" : {
9560 "type" : "expression",
9561 "value" : {
9562 "op" : "+",
9563 "left" : {
9564 "type" : "field",
9565 "value" : ["standard_metadata", "enq_timestamp"]
9566 },
9567 "right" : {
9568 "type" : "field",
9569 "value" : ["standard_metadata", "deq_timedelta"]
9570 }
9571 }
9572 },
9573 "right" : {
9574 "type" : "hexstr",
9575 "value" : "0xffffffff"
9576 }
9577 }
9578 }
9579 }
9580 ],
9581 "source_info" : {
9582 "filename" : "include/int_transit.p4",
9583 "line" : 71,
9584 "column" : 8,
9585 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9586 }
9587 },
9588 {
9589 "op" : "add_header",
9590 "parameters" : [
9591 {
9592 "type" : "header",
9593 "value" : "int_ingress_tstamp"
9594 }
9595 ],
9596 "source_info" : {
9597 "filename" : "include/int_transit.p4",
9598 "line" : 65,
9599 "column" : 8,
9600 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9601 }
9602 },
9603 {
9604 "op" : "assign",
9605 "parameters" : [
9606 {
9607 "type" : "field",
9608 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9609 },
9610 {
9611 "type" : "field",
9612 "value" : ["standard_metadata", "enq_timestamp"]
9613 }
9614 ],
9615 "source_info" : {
9616 "filename" : "include/int_transit.p4",
9617 "line" : 66,
9618 "column" : 8,
9619 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9620 }
9621 }
9622 ]
9623 },
9624 {
9625 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
Charles Chan384aea22018-08-23 22:08:02 -07009626 "id" : 117,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009627 "runtime_data" : [],
9628 "primitives" : [
9629 {
9630 "op" : "add_header",
9631 "parameters" : [
9632 {
9633 "type" : "header",
9634 "value" : "int_egress_tx_util"
9635 }
9636 ],
9637 "source_info" : {
9638 "filename" : "include/int_transit.p4",
9639 "line" : 88,
9640 "column" : 8,
9641 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9642 }
9643 },
9644 {
9645 "op" : "assign",
9646 "parameters" : [
9647 {
9648 "type" : "field",
9649 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9650 },
9651 {
9652 "type" : "hexstr",
9653 "value" : "0x00000000"
9654 }
9655 ],
9656 "source_info" : {
9657 "filename" : "include/int_transit.p4",
9658 "line" : 89,
9659 "column" : 8,
9660 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9661 }
9662 },
9663 {
9664 "op" : "add_header",
9665 "parameters" : [
9666 {
9667 "type" : "header",
9668 "value" : "int_q_congestion"
9669 }
9670 ],
9671 "source_info" : {
9672 "filename" : "include/int_transit.p4",
9673 "line" : 78,
9674 "column" : 8,
9675 "source_fragment" : "hdr.int_q_congestion.setValid()"
9676 }
9677 },
9678 {
9679 "op" : "assign",
9680 "parameters" : [
9681 {
9682 "type" : "field",
9683 "value" : ["int_q_congestion", "q_id"]
9684 },
9685 {
9686 "type" : "hexstr",
9687 "value" : "0x00"
9688 }
9689 ],
9690 "source_info" : {
9691 "filename" : "include/int_transit.p4",
9692 "line" : 79,
9693 "column" : 8,
9694 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9695 }
9696 },
9697 {
9698 "op" : "assign",
9699 "parameters" : [
9700 {
9701 "type" : "field",
9702 "value" : ["int_q_congestion", "q_congestion"]
9703 },
9704 {
9705 "type" : "hexstr",
9706 "value" : "0x000000"
9707 }
9708 ],
9709 "source_info" : {
9710 "filename" : "include/int_transit.p4",
9711 "line" : 82,
9712 "column" : 8,
9713 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9714 }
9715 },
9716 {
9717 "op" : "add_header",
9718 "parameters" : [
9719 {
9720 "type" : "header",
9721 "value" : "int_egress_tstamp"
9722 }
9723 ],
9724 "source_info" : {
9725 "filename" : "include/int_transit.p4",
9726 "line" : 70,
9727 "column" : 8,
9728 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9729 }
9730 },
9731 {
9732 "op" : "assign",
9733 "parameters" : [
9734 {
9735 "type" : "field",
9736 "value" : ["int_egress_tstamp", "egress_tstamp"]
9737 },
9738 {
9739 "type" : "expression",
9740 "value" : {
9741 "type" : "expression",
9742 "value" : {
9743 "op" : "&",
9744 "left" : {
9745 "type" : "expression",
9746 "value" : {
9747 "op" : "+",
9748 "left" : {
9749 "type" : "field",
9750 "value" : ["standard_metadata", "enq_timestamp"]
9751 },
9752 "right" : {
9753 "type" : "field",
9754 "value" : ["standard_metadata", "deq_timedelta"]
9755 }
9756 }
9757 },
9758 "right" : {
9759 "type" : "hexstr",
9760 "value" : "0xffffffff"
9761 }
9762 }
9763 }
9764 }
9765 ],
9766 "source_info" : {
9767 "filename" : "include/int_transit.p4",
9768 "line" : 71,
9769 "column" : 8,
9770 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9771 }
9772 },
9773 {
9774 "op" : "add_header",
9775 "parameters" : [
9776 {
9777 "type" : "header",
9778 "value" : "int_ingress_tstamp"
9779 }
9780 ],
9781 "source_info" : {
9782 "filename" : "include/int_transit.p4",
9783 "line" : 65,
9784 "column" : 8,
9785 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9786 }
9787 },
9788 {
9789 "op" : "assign",
9790 "parameters" : [
9791 {
9792 "type" : "field",
9793 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9794 },
9795 {
9796 "type" : "field",
9797 "value" : ["standard_metadata", "enq_timestamp"]
9798 }
9799 ],
9800 "source_info" : {
9801 "filename" : "include/int_transit.p4",
9802 "line" : 66,
9803 "column" : 8,
9804 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9805 }
9806 }
9807 ]
9808 },
9809 {
9810 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
Charles Chan384aea22018-08-23 22:08:02 -07009811 "id" : 118,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009812 "runtime_data" : [],
9813 "primitives" : [
9814 {
9815 "op" : "assign",
9816 "parameters" : [
9817 {
9818 "type" : "field",
9819 "value" : ["ipv4", "total_len"]
9820 },
9821 {
9822 "type" : "expression",
9823 "value" : {
9824 "type" : "expression",
9825 "value" : {
9826 "op" : "&",
9827 "left" : {
9828 "type" : "expression",
9829 "value" : {
9830 "op" : "+",
9831 "left" : {
9832 "type" : "field",
9833 "value" : ["ipv4", "total_len"]
9834 },
9835 "right" : {
9836 "type" : "field",
9837 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9838 }
9839 }
9840 },
9841 "right" : {
9842 "type" : "hexstr",
9843 "value" : "0xffff"
9844 }
9845 }
9846 }
9847 }
9848 ],
9849 "source_info" : {
9850 "filename" : "include/int_transit.p4",
9851 "line" : 304,
9852 "column" : 8,
9853 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
9854 }
9855 }
9856 ]
9857 },
9858 {
9859 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
Charles Chan384aea22018-08-23 22:08:02 -07009860 "id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009861 "runtime_data" : [],
9862 "primitives" : [
9863 {
9864 "op" : "assign",
9865 "parameters" : [
9866 {
9867 "type" : "field",
9868 "value" : ["udp", "len"]
9869 },
9870 {
9871 "type" : "expression",
9872 "value" : {
9873 "type" : "expression",
9874 "value" : {
9875 "op" : "&",
9876 "left" : {
9877 "type" : "expression",
9878 "value" : {
9879 "op" : "+",
9880 "left" : {
9881 "type" : "field",
9882 "value" : ["udp", "len"]
9883 },
9884 "right" : {
9885 "type" : "field",
9886 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9887 }
9888 }
9889 },
9890 "right" : {
9891 "type" : "hexstr",
9892 "value" : "0xffff"
9893 }
9894 }
9895 }
9896 }
9897 ],
9898 "source_info" : {
9899 "filename" : "include/int_transit.p4",
9900 "line" : 307,
9901 "column" : 8,
9902 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
9903 }
9904 }
9905 ]
9906 },
9907 {
9908 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
Charles Chan384aea22018-08-23 22:08:02 -07009909 "id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009910 "runtime_data" : [],
9911 "primitives" : [
9912 {
9913 "op" : "assign",
9914 "parameters" : [
9915 {
9916 "type" : "field",
9917 "value" : ["intl4_shim", "len"]
9918 },
9919 {
9920 "type" : "expression",
9921 "value" : {
9922 "type" : "expression",
9923 "value" : {
9924 "op" : "&",
9925 "left" : {
9926 "type" : "expression",
9927 "value" : {
9928 "op" : "+",
9929 "left" : {
9930 "type" : "field",
9931 "value" : ["intl4_shim", "len"]
9932 },
9933 "right" : {
9934 "type" : "expression",
9935 "value" : {
9936 "op" : "&",
9937 "left" : {
9938 "type" : "field",
9939 "value" : ["int_header", "ins_cnt"]
9940 },
9941 "right" : {
9942 "type" : "hexstr",
9943 "value" : "0xff"
9944 }
9945 }
9946 }
9947 }
9948 },
9949 "right" : {
9950 "type" : "hexstr",
9951 "value" : "0xff"
9952 }
9953 }
9954 }
9955 }
9956 ],
9957 "source_info" : {
9958 "filename" : "include/int_transit.p4",
9959 "line" : 310,
9960 "column" : 8,
9961 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
9962 }
9963 }
9964 ]
9965 },
9966 {
9967 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
Charles Chan384aea22018-08-23 22:08:02 -07009968 "id" : 121,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009969 "runtime_data" : [
9970 {
9971 "name" : "src_mac",
9972 "bitwidth" : 48
9973 },
9974 {
9975 "name" : "mon_mac",
9976 "bitwidth" : 48
9977 },
9978 {
9979 "name" : "src_ip",
9980 "bitwidth" : 32
9981 },
9982 {
9983 "name" : "mon_ip",
9984 "bitwidth" : 32
9985 },
9986 {
9987 "name" : "mon_port",
9988 "bitwidth" : 16
9989 }
9990 ],
9991 "primitives" : [
9992 {
9993 "op" : "add_header",
9994 "parameters" : [
9995 {
9996 "type" : "header",
9997 "value" : "report_ethernet"
9998 }
9999 ],
10000 "source_info" : {
10001 "filename" : "include/int_report.p4",
10002 "line" : 50,
10003 "column" : 8,
10004 "source_fragment" : "hdr.report_ethernet.setValid()"
10005 }
10006 },
10007 {
10008 "op" : "assign",
10009 "parameters" : [
10010 {
10011 "type" : "field",
10012 "value" : ["report_ethernet", "dst_addr"]
10013 },
10014 {
10015 "type" : "runtime_data",
10016 "value" : 1
10017 }
10018 ],
10019 "source_info" : {
10020 "filename" : "include/int_report.p4",
10021 "line" : 51,
10022 "column" : 8,
10023 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
10024 }
10025 },
10026 {
10027 "op" : "assign",
10028 "parameters" : [
10029 {
10030 "type" : "field",
10031 "value" : ["report_ethernet", "src_addr"]
10032 },
10033 {
10034 "type" : "runtime_data",
10035 "value" : 0
10036 }
10037 ],
10038 "source_info" : {
10039 "filename" : "include/int_report.p4",
10040 "line" : 52,
10041 "column" : 8,
10042 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
10043 }
10044 },
10045 {
10046 "op" : "assign",
10047 "parameters" : [
10048 {
10049 "type" : "field",
10050 "value" : ["report_ethernet", "ether_type"]
10051 },
10052 {
10053 "type" : "hexstr",
10054 "value" : "0x0800"
10055 }
10056 ],
10057 "source_info" : {
10058 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010059 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010060 "column" : 31,
10061 "source_fragment" : "0x0800; ..."
10062 }
10063 },
10064 {
10065 "op" : "add_header",
10066 "parameters" : [
10067 {
10068 "type" : "header",
10069 "value" : "report_ipv4"
10070 }
10071 ],
10072 "source_info" : {
10073 "filename" : "include/int_report.p4",
10074 "line" : 56,
10075 "column" : 8,
10076 "source_fragment" : "hdr.report_ipv4.setValid()"
10077 }
10078 },
10079 {
10080 "op" : "assign",
10081 "parameters" : [
10082 {
10083 "type" : "field",
10084 "value" : ["report_ipv4", "version"]
10085 },
10086 {
10087 "type" : "hexstr",
10088 "value" : "0x04"
10089 }
10090 ],
10091 "source_info" : {
10092 "filename" : "include/int_report.p4",
10093 "line" : 57,
10094 "column" : 8,
10095 "source_fragment" : "hdr.report_ipv4.version = 4w4"
10096 }
10097 },
10098 {
10099 "op" : "assign",
10100 "parameters" : [
10101 {
10102 "type" : "field",
10103 "value" : ["report_ipv4", "ihl"]
10104 },
10105 {
10106 "type" : "hexstr",
10107 "value" : "0x05"
10108 }
10109 ],
10110 "source_info" : {
10111 "filename" : "include/int_report.p4",
10112 "line" : 58,
10113 "column" : 8,
10114 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
10115 }
10116 },
10117 {
10118 "op" : "assign",
10119 "parameters" : [
10120 {
10121 "type" : "field",
10122 "value" : ["report_ipv4", "dscp"]
10123 },
10124 {
10125 "type" : "hexstr",
10126 "value" : "0x00"
10127 }
10128 ],
10129 "source_info" : {
10130 "filename" : "include/int_report.p4",
10131 "line" : 59,
10132 "column" : 8,
10133 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
10134 }
10135 },
10136 {
10137 "op" : "assign",
10138 "parameters" : [
10139 {
10140 "type" : "field",
10141 "value" : ["report_ipv4", "ecn"]
10142 },
10143 {
10144 "type" : "hexstr",
10145 "value" : "0x00"
10146 }
10147 ],
10148 "source_info" : {
10149 "filename" : "include/int_report.p4",
10150 "line" : 60,
10151 "column" : 8,
10152 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
10153 }
10154 },
10155 {
10156 "op" : "assign",
10157 "parameters" : [
10158 {
10159 "type" : "field",
10160 "value" : ["report_ipv4", "total_len"]
10161 },
10162 {
10163 "type" : "expression",
10164 "value" : {
10165 "type" : "expression",
10166 "value" : {
10167 "op" : "&",
10168 "left" : {
10169 "type" : "expression",
10170 "value" : {
10171 "op" : "+",
10172 "left" : {
10173 "type" : "hexstr",
10174 "value" : "0x0036"
10175 },
10176 "right" : {
10177 "type" : "field",
10178 "value" : ["ipv4", "total_len"]
10179 }
10180 }
10181 },
10182 "right" : {
10183 "type" : "hexstr",
10184 "value" : "0xffff"
10185 }
10186 }
10187 }
10188 }
10189 ],
10190 "source_info" : {
10191 "filename" : "include/int_report.p4",
10192 "line" : 62,
10193 "column" : 8,
10194 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
10195 }
10196 },
10197 {
10198 "op" : "assign",
10199 "parameters" : [
10200 {
10201 "type" : "field",
10202 "value" : ["report_ipv4", "identification"]
10203 },
10204 {
10205 "type" : "hexstr",
10206 "value" : "0x0000"
10207 }
10208 ],
10209 "source_info" : {
10210 "filename" : "include/int_report.p4",
10211 "line" : 65,
10212 "column" : 8,
10213 "source_fragment" : "hdr.report_ipv4.identification = 0"
10214 }
10215 },
10216 {
10217 "op" : "assign",
10218 "parameters" : [
10219 {
10220 "type" : "field",
10221 "value" : ["report_ipv4", "flags"]
10222 },
10223 {
10224 "type" : "hexstr",
10225 "value" : "0x00"
10226 }
10227 ],
10228 "source_info" : {
10229 "filename" : "include/int_report.p4",
10230 "line" : 66,
10231 "column" : 8,
10232 "source_fragment" : "hdr.report_ipv4.flags = 0"
10233 }
10234 },
10235 {
10236 "op" : "assign",
10237 "parameters" : [
10238 {
10239 "type" : "field",
10240 "value" : ["report_ipv4", "frag_offset"]
10241 },
10242 {
10243 "type" : "hexstr",
10244 "value" : "0x0000"
10245 }
10246 ],
10247 "source_info" : {
10248 "filename" : "include/int_report.p4",
10249 "line" : 67,
10250 "column" : 8,
10251 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
10252 }
10253 },
10254 {
10255 "op" : "assign",
10256 "parameters" : [
10257 {
10258 "type" : "field",
10259 "value" : ["report_ipv4", "ttl"]
10260 },
10261 {
10262 "type" : "hexstr",
10263 "value" : "0xff"
10264 }
10265 ],
10266 "source_info" : {
10267 "filename" : "include/int_report.p4",
10268 "line" : 68,
10269 "column" : 8,
10270 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
10271 }
10272 },
10273 {
10274 "op" : "assign",
10275 "parameters" : [
10276 {
10277 "type" : "field",
10278 "value" : ["report_ipv4", "protocol"]
10279 },
10280 {
10281 "type" : "hexstr",
10282 "value" : "0x11"
10283 }
10284 ],
10285 "source_info" : {
10286 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010287 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010288 "column" : 25,
10289 "source_fragment" : "17; ..."
10290 }
10291 },
10292 {
10293 "op" : "assign",
10294 "parameters" : [
10295 {
10296 "type" : "field",
10297 "value" : ["report_ipv4", "src_addr"]
10298 },
10299 {
10300 "type" : "runtime_data",
10301 "value" : 2
10302 }
10303 ],
10304 "source_info" : {
10305 "filename" : "include/int_report.p4",
10306 "line" : 70,
10307 "column" : 8,
10308 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
10309 }
10310 },
10311 {
10312 "op" : "assign",
10313 "parameters" : [
10314 {
10315 "type" : "field",
10316 "value" : ["report_ipv4", "dst_addr"]
10317 },
10318 {
10319 "type" : "runtime_data",
10320 "value" : 3
10321 }
10322 ],
10323 "source_info" : {
10324 "filename" : "include/int_report.p4",
10325 "line" : 71,
10326 "column" : 8,
10327 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
10328 }
10329 },
10330 {
10331 "op" : "add_header",
10332 "parameters" : [
10333 {
10334 "type" : "header",
10335 "value" : "report_udp"
10336 }
10337 ],
10338 "source_info" : {
10339 "filename" : "include/int_report.p4",
10340 "line" : 74,
10341 "column" : 8,
10342 "source_fragment" : "hdr.report_udp.setValid()"
10343 }
10344 },
10345 {
10346 "op" : "assign",
10347 "parameters" : [
10348 {
10349 "type" : "field",
10350 "value" : ["report_udp", "src_port"]
10351 },
10352 {
10353 "type" : "hexstr",
10354 "value" : "0x0000"
10355 }
10356 ],
10357 "source_info" : {
10358 "filename" : "include/int_report.p4",
10359 "line" : 75,
10360 "column" : 8,
10361 "source_fragment" : "hdr.report_udp.src_port = 0"
10362 }
10363 },
10364 {
10365 "op" : "assign",
10366 "parameters" : [
10367 {
10368 "type" : "field",
10369 "value" : ["report_udp", "dst_port"]
10370 },
10371 {
10372 "type" : "runtime_data",
10373 "value" : 4
10374 }
10375 ],
10376 "source_info" : {
10377 "filename" : "include/int_report.p4",
10378 "line" : 76,
10379 "column" : 8,
10380 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
10381 }
10382 },
10383 {
10384 "op" : "assign",
10385 "parameters" : [
10386 {
10387 "type" : "field",
10388 "value" : ["report_udp", "len"]
10389 },
10390 {
10391 "type" : "expression",
10392 "value" : {
10393 "type" : "expression",
10394 "value" : {
10395 "op" : "&",
10396 "left" : {
10397 "type" : "expression",
10398 "value" : {
10399 "op" : "+",
10400 "left" : {
10401 "type" : "hexstr",
10402 "value" : "0x0022"
10403 },
10404 "right" : {
10405 "type" : "field",
10406 "value" : ["ipv4", "total_len"]
10407 }
10408 }
10409 },
10410 "right" : {
10411 "type" : "hexstr",
10412 "value" : "0xffff"
10413 }
10414 }
10415 }
10416 }
10417 ],
10418 "source_info" : {
10419 "filename" : "include/int_report.p4",
10420 "line" : 77,
10421 "column" : 8,
10422 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
10423 }
10424 },
10425 {
10426 "op" : "assign",
10427 "parameters" : [
10428 {
10429 "type" : "field",
10430 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
10431 },
10432 {
10433 "type" : "expression",
10434 "value" : {
10435 "type" : "expression",
10436 "value" : {
10437 "op" : "b2d",
10438 "left" : null,
10439 "right" : {
10440 "type" : "bool",
10441 "value" : true
10442 }
10443 }
10444 }
10445 }
10446 ],
10447 "source_info" : {
10448 "filename" : "include/int_report.p4",
10449 "line" : 80,
10450 "column" : 8,
10451 "source_fragment" : "fabric_metadata.compute_checksum = true"
10452 }
10453 },
10454 {
10455 "op" : "add_header",
10456 "parameters" : [
10457 {
10458 "type" : "header",
10459 "value" : "report_fixed_header"
10460 }
10461 ],
10462 "source_info" : {
10463 "filename" : "include/int_report.p4",
10464 "line" : 30,
10465 "column" : 8,
10466 "source_fragment" : "hdr.report_fixed_header.setValid()"
10467 }
10468 },
10469 {
10470 "op" : "assign",
10471 "parameters" : [
10472 {
10473 "type" : "field",
10474 "value" : ["report_fixed_header", "ver"]
10475 },
10476 {
10477 "type" : "hexstr",
10478 "value" : "0x00"
10479 }
10480 ],
10481 "source_info" : {
10482 "filename" : "include/int_report.p4",
10483 "line" : 31,
10484 "column" : 8,
10485 "source_fragment" : "hdr.report_fixed_header.ver = 0"
10486 }
10487 },
10488 {
10489 "op" : "assign",
10490 "parameters" : [
10491 {
10492 "type" : "field",
10493 "value" : ["report_fixed_header", "nproto"]
10494 },
10495 {
10496 "type" : "hexstr",
10497 "value" : "0x00"
10498 }
10499 ],
10500 "source_info" : {
10501 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010502 "line" : 132,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010503 "column" : 31,
10504 "source_fragment" : "0; ..."
10505 }
10506 },
10507 {
10508 "op" : "assign",
10509 "parameters" : [
10510 {
10511 "type" : "field",
10512 "value" : ["report_fixed_header", "d"]
10513 },
10514 {
10515 "type" : "hexstr",
10516 "value" : "0x00"
10517 }
10518 ],
10519 "source_info" : {
10520 "filename" : "include/int_report.p4",
10521 "line" : 34,
10522 "column" : 8,
10523 "source_fragment" : "hdr.report_fixed_header.d = 0"
10524 }
10525 },
10526 {
10527 "op" : "assign",
10528 "parameters" : [
10529 {
10530 "type" : "field",
10531 "value" : ["report_fixed_header", "q"]
10532 },
10533 {
10534 "type" : "hexstr",
10535 "value" : "0x00"
10536 }
10537 ],
10538 "source_info" : {
10539 "filename" : "include/int_report.p4",
10540 "line" : 35,
10541 "column" : 8,
10542 "source_fragment" : "hdr.report_fixed_header.q = 0"
10543 }
10544 },
10545 {
10546 "op" : "assign",
10547 "parameters" : [
10548 {
10549 "type" : "field",
10550 "value" : ["report_fixed_header", "f"]
10551 },
10552 {
10553 "type" : "hexstr",
10554 "value" : "0x01"
10555 }
10556 ],
10557 "source_info" : {
10558 "filename" : "include/int_report.p4",
10559 "line" : 36,
10560 "column" : 8,
10561 "source_fragment" : "hdr.report_fixed_header.f = 1"
10562 }
10563 },
10564 {
10565 "op" : "assign",
10566 "parameters" : [
10567 {
10568 "type" : "field",
10569 "value" : ["report_fixed_header", "rsvd"]
10570 },
10571 {
10572 "type" : "hexstr",
10573 "value" : "0x0000"
10574 }
10575 ],
10576 "source_info" : {
10577 "filename" : "include/int_report.p4",
10578 "line" : 37,
10579 "column" : 8,
10580 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
10581 }
10582 },
10583 {
10584 "op" : "assign",
10585 "parameters" : [
10586 {
10587 "type" : "field",
10588 "value" : ["report_fixed_header", "hw_id"]
10589 },
10590 {
10591 "type" : "hexstr",
10592 "value" : "0x01"
10593 }
10594 ],
10595 "source_info" : {
10596 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010597 "line" : 136,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010598 "column" : 21,
10599 "source_fragment" : "1; ..."
10600 }
10601 },
10602 {
10603 "op" : "assign",
10604 "parameters" : [
10605 {
10606 "type" : "field",
10607 "value" : ["report_fixed_header", "seq_no"]
10608 },
10609 {
10610 "type" : "hexstr",
10611 "value" : "0x00000000"
10612 }
10613 ],
10614 "source_info" : {
10615 "filename" : "include/int_report.p4",
10616 "line" : 41,
10617 "column" : 8,
10618 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
10619 }
10620 },
10621 {
10622 "op" : "assign",
10623 "parameters" : [
10624 {
10625 "type" : "field",
10626 "value" : ["report_fixed_header", "ingress_tstamp"]
10627 },
10628 {
10629 "type" : "field",
10630 "value" : ["standard_metadata", "enq_timestamp"]
10631 }
10632 ],
10633 "source_info" : {
10634 "filename" : "include/int_report.p4",
10635 "line" : 43,
10636 "column" : 8,
10637 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
10638 }
10639 }
10640 ]
10641 },
10642 {
10643 "name" : "FabricEgress.process_int_sink.restore_header",
Charles Chan384aea22018-08-23 22:08:02 -070010644 "id" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010645 "runtime_data" : [],
10646 "primitives" : [
10647 {
10648 "op" : "assign",
10649 "parameters" : [
10650 {
10651 "type" : "field",
10652 "value" : ["udp", "dst_port"]
10653 },
10654 {
10655 "type" : "field",
10656 "value" : ["intl4_tail", "dest_port"]
10657 }
10658 ],
10659 "source_info" : {
10660 "filename" : "include/int_sink.p4",
10661 "line" : 26,
10662 "column" : 8,
10663 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
10664 }
10665 },
10666 {
10667 "op" : "assign",
10668 "parameters" : [
10669 {
10670 "type" : "field",
10671 "value" : ["ipv4", "dscp"]
10672 },
10673 {
10674 "type" : "expression",
10675 "value" : {
10676 "type" : "expression",
10677 "value" : {
10678 "op" : "&",
10679 "left" : {
10680 "type" : "field",
10681 "value" : ["intl4_tail", "dscp"]
10682 },
10683 "right" : {
10684 "type" : "hexstr",
10685 "value" : "0x3f"
10686 }
10687 }
10688 }
10689 }
10690 ],
10691 "source_info" : {
10692 "filename" : "include/int_sink.p4",
10693 "line" : 27,
10694 "column" : 8,
10695 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
10696 }
10697 }
10698 ]
10699 },
10700 {
10701 "name" : "FabricEgress.process_int_sink.int_sink",
Charles Chan384aea22018-08-23 22:08:02 -070010702 "id" : 123,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010703 "runtime_data" : [],
10704 "primitives" : [
10705 {
10706 "op" : "assign",
10707 "parameters" : [
10708 {
10709 "type" : "field",
10710 "value" : ["ipv4", "total_len"]
10711 },
10712 {
10713 "type" : "expression",
10714 "value" : {
10715 "type" : "expression",
10716 "value" : {
10717 "op" : "&",
10718 "left" : {
10719 "type" : "expression",
10720 "value" : {
10721 "op" : "-",
10722 "left" : {
10723 "type" : "field",
10724 "value" : ["ipv4", "total_len"]
10725 },
10726 "right" : {
10727 "type" : "expression",
10728 "value" : {
10729 "op" : "&",
10730 "left" : {
10731 "type" : "expression",
10732 "value" : {
10733 "op" : "&",
10734 "left" : {
10735 "type" : "expression",
10736 "value" : {
10737 "op" : "<<",
10738 "left" : {
10739 "type" : "field",
10740 "value" : ["intl4_shim", "len"]
10741 },
10742 "right" : {
10743 "type" : "hexstr",
10744 "value" : "0x2"
10745 }
10746 }
10747 },
10748 "right" : {
10749 "type" : "hexstr",
10750 "value" : "0xff"
10751 }
10752 }
10753 },
10754 "right" : {
10755 "type" : "hexstr",
10756 "value" : "0xffff"
10757 }
10758 }
10759 }
10760 }
10761 },
10762 "right" : {
10763 "type" : "hexstr",
10764 "value" : "0xffff"
10765 }
10766 }
10767 }
10768 }
10769 ],
10770 "source_info" : {
10771 "filename" : "include/int_sink.p4",
10772 "line" : 32,
10773 "column" : 8,
10774 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
10775 }
10776 },
10777 {
10778 "op" : "assign",
10779 "parameters" : [
10780 {
10781 "type" : "field",
10782 "value" : ["udp", "len"]
10783 },
10784 {
10785 "type" : "expression",
10786 "value" : {
10787 "type" : "expression",
10788 "value" : {
10789 "op" : "&",
10790 "left" : {
10791 "type" : "expression",
10792 "value" : {
10793 "op" : "-",
10794 "left" : {
10795 "type" : "field",
10796 "value" : ["udp", "len"]
10797 },
10798 "right" : {
10799 "type" : "expression",
10800 "value" : {
10801 "op" : "&",
10802 "left" : {
10803 "type" : "expression",
10804 "value" : {
10805 "op" : "&",
10806 "left" : {
10807 "type" : "expression",
10808 "value" : {
10809 "op" : "<<",
10810 "left" : {
10811 "type" : "field",
10812 "value" : ["intl4_shim", "len"]
10813 },
10814 "right" : {
10815 "type" : "hexstr",
10816 "value" : "0x2"
10817 }
10818 }
10819 },
10820 "right" : {
10821 "type" : "hexstr",
10822 "value" : "0xff"
10823 }
10824 }
10825 },
10826 "right" : {
10827 "type" : "hexstr",
10828 "value" : "0xffff"
10829 }
10830 }
10831 }
10832 }
10833 },
10834 "right" : {
10835 "type" : "hexstr",
10836 "value" : "0xffff"
10837 }
10838 }
10839 }
10840 }
10841 ],
10842 "source_info" : {
10843 "filename" : "include/int_sink.p4",
10844 "line" : 33,
10845 "column" : 8,
10846 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
10847 }
10848 },
10849 {
10850 "op" : "remove_header",
10851 "parameters" : [
10852 {
10853 "type" : "header",
10854 "value" : "int_header"
10855 }
10856 ],
10857 "source_info" : {
10858 "filename" : "include/int_sink.p4",
10859 "line" : 35,
10860 "column" : 8,
10861 "source_fragment" : "hdr.int_header.setInvalid()"
10862 }
10863 },
10864 {
10865 "op" : "remove_header",
10866 "parameters" : [
10867 {
10868 "type" : "header",
10869 "value" : "int_data"
10870 }
10871 ],
10872 "source_info" : {
10873 "filename" : "include/int_sink.p4",
10874 "line" : 36,
10875 "column" : 8,
10876 "source_fragment" : "hdr.int_data.setInvalid()"
10877 }
10878 },
10879 {
10880 "op" : "remove_header",
10881 "parameters" : [
10882 {
10883 "type" : "header",
10884 "value" : "intl4_shim"
10885 }
10886 ],
10887 "source_info" : {
10888 "filename" : "include/int_sink.p4",
10889 "line" : 37,
10890 "column" : 8,
10891 "source_fragment" : "hdr.intl4_shim.setInvalid()"
10892 }
10893 },
10894 {
10895 "op" : "remove_header",
10896 "parameters" : [
10897 {
10898 "type" : "header",
10899 "value" : "intl4_tail"
10900 }
10901 ],
10902 "source_info" : {
10903 "filename" : "include/int_sink.p4",
10904 "line" : 38,
10905 "column" : 8,
10906 "source_fragment" : "hdr.intl4_tail.setInvalid()"
10907 }
10908 },
10909 {
10910 "op" : "remove_header",
10911 "parameters" : [
10912 {
10913 "type" : "header",
10914 "value" : "int_switch_id"
10915 }
10916 ],
10917 "source_info" : {
10918 "filename" : "include/int_sink.p4",
10919 "line" : 39,
10920 "column" : 8,
10921 "source_fragment" : "hdr.int_switch_id.setInvalid()"
10922 }
10923 },
10924 {
10925 "op" : "remove_header",
10926 "parameters" : [
10927 {
10928 "type" : "header",
10929 "value" : "int_port_ids"
10930 }
10931 ],
10932 "source_info" : {
10933 "filename" : "include/int_sink.p4",
10934 "line" : 40,
10935 "column" : 8,
10936 "source_fragment" : "hdr.int_port_ids.setInvalid()"
10937 }
10938 },
10939 {
10940 "op" : "remove_header",
10941 "parameters" : [
10942 {
10943 "type" : "header",
10944 "value" : "int_hop_latency"
10945 }
10946 ],
10947 "source_info" : {
10948 "filename" : "include/int_sink.p4",
10949 "line" : 41,
10950 "column" : 8,
10951 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
10952 }
10953 },
10954 {
10955 "op" : "remove_header",
10956 "parameters" : [
10957 {
10958 "type" : "header",
10959 "value" : "int_q_occupancy"
10960 }
10961 ],
10962 "source_info" : {
10963 "filename" : "include/int_sink.p4",
10964 "line" : 42,
10965 "column" : 8,
10966 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
10967 }
10968 },
10969 {
10970 "op" : "remove_header",
10971 "parameters" : [
10972 {
10973 "type" : "header",
10974 "value" : "int_ingress_tstamp"
10975 }
10976 ],
10977 "source_info" : {
10978 "filename" : "include/int_sink.p4",
10979 "line" : 43,
10980 "column" : 8,
10981 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
10982 }
10983 },
10984 {
10985 "op" : "remove_header",
10986 "parameters" : [
10987 {
10988 "type" : "header",
10989 "value" : "int_egress_tstamp"
10990 }
10991 ],
10992 "source_info" : {
10993 "filename" : "include/int_sink.p4",
10994 "line" : 44,
10995 "column" : 8,
10996 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
10997 }
10998 },
10999 {
11000 "op" : "remove_header",
11001 "parameters" : [
11002 {
11003 "type" : "header",
11004 "value" : "int_q_congestion"
11005 }
11006 ],
11007 "source_info" : {
11008 "filename" : "include/int_sink.p4",
11009 "line" : 45,
11010 "column" : 8,
11011 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
11012 }
11013 },
11014 {
11015 "op" : "remove_header",
11016 "parameters" : [
11017 {
11018 "type" : "header",
11019 "value" : "int_egress_tx_util"
11020 }
11021 ],
11022 "source_info" : {
11023 "filename" : "include/int_sink.p4",
11024 "line" : 46,
11025 "column" : 8,
11026 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
11027 }
11028 }
11029 ]
11030 },
11031 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011032 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070011033 "id" : 124,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011034 "runtime_data" : [],
11035 "primitives" : [
11036 {
11037 "op" : "assign",
11038 "parameters" : [
11039 {
11040 "type" : "field",
11041 "value" : ["ethernet", "ether_type"]
11042 },
11043 {
11044 "type" : "field",
11045 "value" : ["vlan_tag", "ether_type"]
11046 }
11047 ],
11048 "source_info" : {
11049 "filename" : "include/control/packetio.p4",
11050 "line" : 38,
11051 "column" : 8,
11052 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11053 }
11054 },
11055 {
11056 "op" : "remove_header",
11057 "parameters" : [
11058 {
11059 "type" : "header",
11060 "value" : "vlan_tag"
11061 }
11062 ],
11063 "source_info" : {
11064 "filename" : "include/control/packetio.p4",
11065 "line" : 39,
11066 "column" : 8,
11067 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11068 }
11069 }
11070 ]
11071 },
11072 {
11073 "name" : "FabricEgress.egress_next.pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070011074 "id" : 125,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011075 "runtime_data" : [],
11076 "primitives" : [
11077 {
11078 "op" : "assign",
11079 "parameters" : [
11080 {
11081 "type" : "field",
11082 "value" : ["ethernet", "ether_type"]
11083 },
11084 {
11085 "type" : "field",
11086 "value" : ["vlan_tag", "ether_type"]
11087 }
11088 ],
11089 "source_info" : {
11090 "filename" : "include/control/next.p4",
11091 "line" : 253,
11092 "column" : 8,
11093 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11094 }
11095 },
11096 {
11097 "op" : "remove_header",
11098 "parameters" : [
11099 {
11100 "type" : "header",
11101 "value" : "vlan_tag"
11102 }
11103 ],
11104 "source_info" : {
11105 "filename" : "include/control/next.p4",
11106 "line" : 254,
11107 "column" : 8,
11108 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11109 }
11110 }
11111 ]
11112 },
11113 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011114 "name" : "act_31",
Charles Chan384aea22018-08-23 22:08:02 -070011115 "id" : 126,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011116 "runtime_data" : [],
11117 "primitives" : [
11118 {
11119 "op" : "add_header",
11120 "parameters" : [
11121 {
11122 "type" : "header",
11123 "value" : "packet_in"
11124 }
11125 ],
11126 "source_info" : {
11127 "filename" : "include/control/packetio.p4",
11128 "line" : 51,
11129 "column" : 12,
11130 "source_fragment" : "hdr.packet_in.setValid()"
11131 }
11132 },
11133 {
11134 "op" : "assign",
11135 "parameters" : [
11136 {
11137 "type" : "field",
11138 "value" : ["packet_in", "ingress_port"]
11139 },
11140 {
11141 "type" : "field",
11142 "value" : ["standard_metadata", "ingress_port"]
11143 }
11144 ],
11145 "source_info" : {
11146 "filename" : "include/control/packetio.p4",
11147 "line" : 52,
11148 "column" : 12,
11149 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11150 }
11151 }
11152 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011153 }
11154 ],
11155 "pipelines" : [
11156 {
11157 "name" : "ingress",
11158 "id" : 0,
11159 "source_info" : {
11160 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011161 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011162 "column" : 8,
11163 "source_fragment" : "FabricIngress"
11164 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011165 "init_table" : "tbl_act",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011166 "tables" : [
11167 {
11168 "name" : "tbl_act",
11169 "id" : 0,
11170 "key" : [],
11171 "match_type" : "exact",
11172 "type" : "simple",
11173 "max_size" : 1024,
11174 "with_counters" : false,
11175 "support_timeout" : false,
11176 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011177 "action_ids" : [43],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011178 "actions" : ["act_0"],
11179 "base_default_next" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011180 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011181 "act_0" : "node_3"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011182 },
11183 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011184 "action_id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011185 "action_const" : true,
11186 "action_data" : [],
11187 "action_entry_const" : true
11188 }
11189 },
11190 {
11191 "name" : "tbl_act_0",
11192 "id" : 1,
11193 "key" : [],
11194 "match_type" : "exact",
11195 "type" : "simple",
11196 "max_size" : 1024,
11197 "with_counters" : false,
11198 "support_timeout" : false,
11199 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011200 "action_ids" : [42],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011201 "actions" : ["act"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011202 "base_default_next" : "node_5",
11203 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011204 "act" : "node_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011205 },
11206 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011207 "action_id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011208 "action_const" : true,
11209 "action_data" : [],
11210 "action_entry_const" : true
11211 }
11212 },
11213 {
11214 "name" : "tbl_act_1",
11215 "id" : 2,
11216 "key" : [],
11217 "match_type" : "exact",
11218 "type" : "simple",
11219 "max_size" : 1024,
11220 "with_counters" : false,
11221 "support_timeout" : false,
11222 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011223 "action_ids" : [46],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011224 "actions" : ["act_3"],
11225 "base_default_next" : "node_7",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011226 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011227 "act_3" : "node_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011228 },
11229 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011230 "action_id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011231 "action_const" : true,
11232 "action_data" : [],
11233 "action_entry_const" : true
11234 }
11235 },
11236 {
11237 "name" : "tbl_act_2",
11238 "id" : 3,
11239 "key" : [],
11240 "match_type" : "exact",
11241 "type" : "simple",
11242 "max_size" : 1024,
11243 "with_counters" : false,
11244 "support_timeout" : false,
11245 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011246 "action_ids" : [44],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011247 "actions" : ["act_1"],
11248 "base_default_next" : "node_10",
11249 "next_tables" : {
11250 "act_1" : "node_10"
11251 },
11252 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011253 "action_id" : 44,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011254 "action_const" : true,
11255 "action_data" : [],
11256 "action_entry_const" : true
11257 }
11258 },
11259 {
11260 "name" : "tbl_act_3",
11261 "id" : 4,
11262 "key" : [],
11263 "match_type" : "exact",
11264 "type" : "simple",
11265 "max_size" : 1024,
11266 "with_counters" : false,
11267 "support_timeout" : false,
11268 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011269 "action_ids" : [45],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011270 "actions" : ["act_2"],
11271 "base_default_next" : "node_10",
11272 "next_tables" : {
11273 "act_2" : "node_10"
11274 },
11275 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011276 "action_id" : 45,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011277 "action_const" : true,
11278 "action_data" : [],
11279 "action_entry_const" : true
11280 }
11281 },
11282 {
11283 "name" : "tbl_act_4",
11284 "id" : 5,
11285 "key" : [],
11286 "match_type" : "exact",
11287 "type" : "simple",
11288 "max_size" : 1024,
11289 "with_counters" : false,
11290 "support_timeout" : false,
11291 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011292 "action_ids" : [47],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011293 "actions" : ["act_4"],
11294 "base_default_next" : null,
11295 "next_tables" : {
11296 "act_4" : null
11297 },
11298 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011299 "action_id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011300 "action_const" : true,
11301 "action_data" : [],
11302 "action_entry_const" : true
11303 }
11304 },
11305 {
11306 "name" : "tbl_act_5",
11307 "id" : 6,
11308 "key" : [],
11309 "match_type" : "exact",
11310 "type" : "simple",
11311 "max_size" : 1024,
11312 "with_counters" : false,
11313 "support_timeout" : false,
11314 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011315 "action_ids" : [55],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011316 "actions" : ["act_12"],
11317 "base_default_next" : "node_13",
11318 "next_tables" : {
11319 "act_12" : "node_13"
11320 },
11321 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011322 "action_id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011323 "action_const" : true,
11324 "action_data" : [],
11325 "action_entry_const" : true
11326 }
11327 },
11328 {
11329 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011330 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011331 "source_info" : {
11332 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011333 "line" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011334 "column" : 10,
11335 "source_fragment" : "s1u_filter_table"
11336 },
11337 "key" : [
11338 {
11339 "match_type" : "exact",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011340 "name" : "gtpu_ipv4.dst_addr",
11341 "target" : ["gtpu_ipv4", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011342 "mask" : null
11343 }
11344 ],
11345 "match_type" : "exact",
11346 "type" : "simple",
11347 "max_size" : 1024,
11348 "with_counters" : false,
11349 "support_timeout" : false,
11350 "direct_meters" : null,
11351 "action_ids" : [1],
11352 "actions" : ["NoAction"],
11353 "base_default_next" : null,
11354 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011355 "__HIT__" : "tbl_act_6",
11356 "__MISS__" : "tbl_act_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011357 },
11358 "default_entry" : {
11359 "action_id" : 1,
11360 "action_const" : false,
11361 "action_data" : [],
11362 "action_entry_const" : false
11363 }
11364 },
11365 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011366 "name" : "tbl_act_6",
11367 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011368 "key" : [],
11369 "match_type" : "exact",
11370 "type" : "simple",
11371 "max_size" : 1024,
11372 "with_counters" : false,
11373 "support_timeout" : false,
11374 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011375 "action_ids" : [48],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011376 "actions" : ["act_5"],
11377 "base_default_next" : "node_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011378 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011379 "act_5" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011380 },
11381 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011382 "action_id" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011383 "action_const" : true,
11384 "action_data" : [],
11385 "action_entry_const" : true
11386 }
11387 },
11388 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011389 "name" : "tbl_act_7",
11390 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011391 "key" : [],
11392 "match_type" : "exact",
11393 "type" : "simple",
11394 "max_size" : 1024,
11395 "with_counters" : false,
11396 "support_timeout" : false,
11397 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011398 "action_ids" : [49],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011399 "actions" : ["act_6"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011400 "base_default_next" : "node_17",
11401 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011402 "act_6" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011403 },
11404 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011405 "action_id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011406 "action_const" : true,
11407 "action_data" : [],
11408 "action_entry_const" : true
11409 }
11410 },
11411 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011412 "name" : "tbl_drop_now",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011413 "id" : 10,
11414 "key" : [],
11415 "match_type" : "exact",
11416 "type" : "simple",
11417 "max_size" : 1024,
11418 "with_counters" : false,
11419 "support_timeout" : false,
11420 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011421 "action_ids" : [12],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011422 "actions" : ["drop_now"],
11423 "base_default_next" : "tbl_act_8",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011424 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011425 "drop_now" : "tbl_act_8"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011426 },
11427 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011428 "action_id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011429 "action_const" : true,
11430 "action_data" : [],
11431 "action_entry_const" : true
11432 }
11433 },
11434 {
11435 "name" : "tbl_act_8",
11436 "id" : 11,
11437 "key" : [],
11438 "match_type" : "exact",
11439 "type" : "simple",
11440 "max_size" : 1024,
11441 "with_counters" : false,
11442 "support_timeout" : false,
11443 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011444 "action_ids" : [50],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011445 "actions" : ["act_7"],
11446 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011447 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011448 "act_7" : "tbl_spgw_ingress_gtpu_decap"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011449 },
11450 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011451 "action_id" : 50,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011452 "action_const" : true,
11453 "action_data" : [],
11454 "action_entry_const" : true
11455 }
11456 },
11457 {
11458 "name" : "tbl_spgw_ingress_gtpu_decap",
11459 "id" : 12,
11460 "key" : [],
11461 "match_type" : "exact",
11462 "type" : "simple",
11463 "max_size" : 1024,
11464 "with_counters" : false,
11465 "support_timeout" : false,
11466 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011467 "action_ids" : [13],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011468 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011469 "base_default_next" : "node_27",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011470 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011471 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011472 },
11473 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011474 "action_id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011475 "action_const" : true,
11476 "action_data" : [],
11477 "action_entry_const" : true
11478 }
11479 },
11480 {
11481 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
11482 "id" : 13,
11483 "source_info" : {
11484 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011485 "line" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011486 "column" : 10,
11487 "source_fragment" : "dl_sess_lookup"
11488 },
11489 "key" : [
11490 {
11491 "match_type" : "exact",
11492 "name" : "ipv4.dst_addr",
11493 "target" : ["ipv4", "dst_addr"],
11494 "mask" : null
11495 }
11496 ],
11497 "match_type" : "exact",
11498 "type" : "simple",
11499 "max_size" : 1024,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011500 "with_counters" : true,
11501 "support_timeout" : false,
11502 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011503 "action_ids" : [14, 0],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011504 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
11505 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011506 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011507 "__HIT__" : "tbl_act_9",
11508 "__MISS__" : "tbl_act_10"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011509 },
11510 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011511 "action_id" : 0,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011512 "action_const" : false,
11513 "action_data" : [],
11514 "action_entry_const" : false
11515 }
11516 },
11517 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011518 "name" : "tbl_act_9",
11519 "id" : 14,
11520 "key" : [],
11521 "match_type" : "exact",
11522 "type" : "simple",
11523 "max_size" : 1024,
11524 "with_counters" : false,
11525 "support_timeout" : false,
11526 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011527 "action_ids" : [51],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011528 "actions" : ["act_8"],
11529 "base_default_next" : "node_24",
11530 "next_tables" : {
11531 "act_8" : "node_24"
11532 },
11533 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011534 "action_id" : 51,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011535 "action_const" : true,
11536 "action_data" : [],
11537 "action_entry_const" : true
11538 }
11539 },
11540 {
11541 "name" : "tbl_act_10",
11542 "id" : 15,
11543 "key" : [],
11544 "match_type" : "exact",
11545 "type" : "simple",
11546 "max_size" : 1024,
11547 "with_counters" : false,
11548 "support_timeout" : false,
11549 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011550 "action_ids" : [52],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011551 "actions" : ["act_9"],
11552 "base_default_next" : "node_24",
11553 "next_tables" : {
11554 "act_9" : "node_24"
11555 },
11556 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011557 "action_id" : 52,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011558 "action_const" : true,
11559 "action_data" : [],
11560 "action_entry_const" : true
11561 }
11562 },
11563 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011564 "name" : "tbl_act_11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011565 "id" : 16,
11566 "key" : [],
11567 "match_type" : "exact",
11568 "type" : "simple",
11569 "max_size" : 1024,
11570 "with_counters" : false,
11571 "support_timeout" : false,
11572 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011573 "action_ids" : [53],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011574 "actions" : ["act_10"],
11575 "base_default_next" : "node_27",
11576 "next_tables" : {
11577 "act_10" : "node_27"
11578 },
11579 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011580 "action_id" : 53,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011581 "action_const" : true,
11582 "action_data" : [],
11583 "action_entry_const" : true
11584 }
11585 },
11586 {
11587 "name" : "tbl_act_12",
11588 "id" : 17,
11589 "key" : [],
11590 "match_type" : "exact",
11591 "type" : "simple",
11592 "max_size" : 1024,
11593 "with_counters" : false,
11594 "support_timeout" : false,
11595 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011596 "action_ids" : [54],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011597 "actions" : ["act_11"],
11598 "base_default_next" : "node_27",
11599 "next_tables" : {
11600 "act_11" : "node_27"
11601 },
11602 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011603 "action_id" : 54,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011604 "action_const" : true,
11605 "action_data" : [],
11606 "action_entry_const" : true
11607 }
11608 },
11609 {
11610 "name" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011611 "id" : 18,
11612 "key" : [],
11613 "match_type" : "exact",
11614 "type" : "simple",
11615 "max_size" : 1024,
11616 "with_counters" : false,
11617 "support_timeout" : false,
11618 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011619 "action_ids" : [56],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011620 "actions" : ["act_13"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011621 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
11622 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011623 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011624 },
11625 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011626 "action_id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011627 "action_const" : true,
11628 "action_data" : [],
11629 "action_entry_const" : true
11630 }
11631 },
11632 {
11633 "name" : "FabricIngress.filtering.ingress_port_vlan",
11634 "id" : 19,
11635 "source_info" : {
11636 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011637 "line" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011638 "column" : 10,
11639 "source_fragment" : "ingress_port_vlan"
11640 },
11641 "key" : [
11642 {
11643 "match_type" : "exact",
11644 "name" : "standard_metadata.ingress_port",
11645 "target" : ["standard_metadata", "ingress_port"],
11646 "mask" : null
11647 },
11648 {
11649 "match_type" : "exact",
11650 "name" : "hdr.vlan_tag.is_valid",
11651 "target" : ["vlan_tag", "$valid$"],
11652 "mask" : null
11653 },
11654 {
11655 "match_type" : "ternary",
11656 "name" : "hdr.vlan_tag.vlan_id",
11657 "target" : ["vlan_tag", "vlan_id"],
11658 "mask" : null
11659 }
11660 ],
11661 "match_type" : "ternary",
11662 "type" : "simple",
11663 "max_size" : 1024,
11664 "with_counters" : true,
11665 "support_timeout" : false,
11666 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011667 "action_ids" : [19, 18, 17, 20],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011668 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
11669 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011670 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011671 "__HIT__" : "tbl_act_14",
11672 "__MISS__" : "tbl_act_15"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011673 },
11674 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011675 "action_id" : 19,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011676 "action_const" : true,
11677 "action_data" : ["0xffe"],
11678 "action_entry_const" : true
11679 }
11680 },
11681 {
11682 "name" : "tbl_act_14",
11683 "id" : 20,
11684 "key" : [],
11685 "match_type" : "exact",
11686 "type" : "simple",
11687 "max_size" : 1024,
11688 "with_counters" : false,
11689 "support_timeout" : false,
11690 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011691 "action_ids" : [57],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011692 "actions" : ["act_14"],
11693 "base_default_next" : "node_32",
11694 "next_tables" : {
11695 "act_14" : "node_32"
11696 },
11697 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011698 "action_id" : 57,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011699 "action_const" : true,
11700 "action_data" : [],
11701 "action_entry_const" : true
11702 }
11703 },
11704 {
11705 "name" : "tbl_act_15",
11706 "id" : 21,
11707 "key" : [],
11708 "match_type" : "exact",
11709 "type" : "simple",
11710 "max_size" : 1024,
11711 "with_counters" : false,
11712 "support_timeout" : false,
11713 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011714 "action_ids" : [58],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011715 "actions" : ["act_15"],
11716 "base_default_next" : "node_32",
11717 "next_tables" : {
11718 "act_15" : "node_32"
11719 },
11720 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011721 "action_id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011722 "action_const" : true,
11723 "action_data" : [],
11724 "action_entry_const" : true
11725 }
11726 },
11727 {
11728 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011729 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011730 "source_info" : {
11731 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011732 "line" : 103,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011733 "column" : 10,
11734 "source_fragment" : "fwd_classifier"
11735 },
11736 "key" : [
11737 {
11738 "match_type" : "exact",
11739 "name" : "standard_metadata.ingress_port",
11740 "target" : ["standard_metadata", "ingress_port"],
11741 "mask" : null
11742 },
11743 {
Charles Chan384aea22018-08-23 22:08:02 -070011744 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011745 "name" : "hdr.ethernet.dst_addr",
11746 "target" : ["ethernet", "dst_addr"],
11747 "mask" : null
11748 },
11749 {
11750 "match_type" : "exact",
Yi Tseng8235a1a2018-07-24 20:57:28 +080011751 "name" : "hdr.vlan_tag.ether_type",
11752 "target" : ["vlan_tag", "ether_type"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011753 "mask" : null
11754 }
11755 ],
Charles Chan384aea22018-08-23 22:08:02 -070011756 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011757 "type" : "simple",
11758 "max_size" : 1024,
11759 "with_counters" : true,
11760 "support_timeout" : false,
11761 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011762 "action_ids" : [21],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011763 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011764 "base_default_next" : "node_35",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011765 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011766 "FabricIngress.filtering.set_forwarding_type" : "node_35"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011767 },
11768 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011769 "action_id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011770 "action_const" : true,
11771 "action_data" : ["0x0"],
11772 "action_entry_const" : true
11773 }
11774 },
11775 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011776 "name" : "tbl_act_16",
11777 "id" : 23,
11778 "key" : [],
11779 "match_type" : "exact",
11780 "type" : "simple",
11781 "max_size" : 1024,
11782 "with_counters" : false,
11783 "support_timeout" : false,
11784 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011785 "action_ids" : [59],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011786 "actions" : ["act_16"],
11787 "base_default_next" : "node_35",
11788 "next_tables" : {
11789 "act_16" : "node_35"
11790 },
11791 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011792 "action_id" : 59,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011793 "action_const" : true,
11794 "action_data" : [],
11795 "action_entry_const" : true
11796 }
11797 },
11798 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011799 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011800 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011801 "source_info" : {
11802 "filename" : "include/control/forwarding.p4",
11803 "line" : 41,
11804 "column" : 10,
11805 "source_fragment" : "bridging"
11806 },
11807 "key" : [
11808 {
11809 "match_type" : "exact",
11810 "name" : "hdr.vlan_tag.vlan_id",
11811 "target" : ["vlan_tag", "vlan_id"],
11812 "mask" : null
11813 },
11814 {
11815 "match_type" : "ternary",
11816 "name" : "hdr.ethernet.dst_addr",
11817 "target" : ["ethernet", "dst_addr"],
11818 "mask" : null
11819 }
11820 ],
11821 "match_type" : "ternary",
11822 "type" : "simple",
11823 "max_size" : 1024,
11824 "with_counters" : true,
11825 "support_timeout" : false,
11826 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011827 "action_ids" : [22, 4],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011828 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
11829 "base_default_next" : "FabricIngress.forwarding.acl",
11830 "next_tables" : {
11831 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
11832 "NoAction" : "FabricIngress.forwarding.acl"
11833 },
11834 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011835 "action_id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011836 "action_const" : false,
11837 "action_data" : [],
11838 "action_entry_const" : false
11839 }
11840 },
11841 {
11842 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011843 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011844 "source_info" : {
11845 "filename" : "include/control/forwarding.p4",
11846 "line" : 65,
11847 "column" : 10,
11848 "source_fragment" : "mpls"
11849 },
11850 "key" : [
11851 {
11852 "match_type" : "exact",
11853 "name" : "hdr.mpls.label",
11854 "target" : ["mpls", "label"],
11855 "mask" : null
11856 }
11857 ],
11858 "match_type" : "exact",
11859 "type" : "simple",
11860 "max_size" : 1024,
11861 "with_counters" : true,
11862 "support_timeout" : false,
11863 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011864 "action_ids" : [23, 5],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011865 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011866 "base_default_next" : "tbl_act_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011867 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011868 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_17",
11869 "NoAction" : "tbl_act_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011870 },
11871 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011872 "action_id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011873 "action_const" : false,
11874 "action_data" : [],
11875 "action_entry_const" : false
11876 }
11877 },
11878 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011879 "name" : "tbl_act_17",
11880 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011881 "key" : [],
11882 "match_type" : "exact",
11883 "type" : "simple",
11884 "max_size" : 1024,
11885 "with_counters" : false,
11886 "support_timeout" : false,
11887 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011888 "action_ids" : [60],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011889 "actions" : ["act_17"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011890 "base_default_next" : "FabricIngress.forwarding.acl",
11891 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011892 "act_17" : "FabricIngress.forwarding.acl"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011893 },
11894 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070011895 "action_id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011896 "action_const" : true,
11897 "action_data" : [],
11898 "action_entry_const" : true
11899 }
11900 },
11901 {
Charles Chan384aea22018-08-23 22:08:02 -070011902 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011903 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011904 "source_info" : {
11905 "filename" : "include/control/forwarding.p4",
11906 "line" : 87,
11907 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070011908 "source_fragment" : "routing_v4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011909 },
11910 "key" : [
11911 {
11912 "match_type" : "lpm",
11913 "name" : "hdr.ipv4.dst_addr",
11914 "target" : ["ipv4", "dst_addr"],
11915 "mask" : null
11916 }
11917 ],
11918 "match_type" : "lpm",
11919 "type" : "simple",
11920 "max_size" : 1024,
11921 "with_counters" : true,
11922 "support_timeout" : false,
11923 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011924 "action_ids" : [24, 6],
11925 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "NoAction"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011926 "base_default_next" : "FabricIngress.forwarding.acl",
11927 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070011928 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011929 "NoAction" : "FabricIngress.forwarding.acl"
11930 },
11931 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011932 "action_id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011933 "action_const" : false,
11934 "action_data" : [],
11935 "action_entry_const" : false
11936 }
11937 },
11938 {
Charles Chan384aea22018-08-23 22:08:02 -070011939 "name" : "FabricIngress.forwarding.routing_v6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011940 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011941 "source_info" : {
11942 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070011943 "line" : 173,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011944 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -070011945 "source_fragment" : "routing_v6"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011946 },
11947 "key" : [
11948 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011949 "match_type" : "lpm",
Charles Chan384aea22018-08-23 22:08:02 -070011950 "name" : "hdr.ipv6.dst_addr",
11951 "target" : ["ipv6", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011952 "mask" : null
11953 }
11954 ],
11955 "match_type" : "lpm",
11956 "type" : "simple",
11957 "max_size" : 1024,
11958 "with_counters" : true,
11959 "support_timeout" : false,
11960 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070011961 "action_ids" : [30, 7],
11962 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v6", "NoAction"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011963 "base_default_next" : "FabricIngress.forwarding.acl",
11964 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070011965 "FabricIngress.forwarding.set_next_id_routing_v6" : "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" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011970 "action_const" : false,
11971 "action_data" : [],
11972 "action_entry_const" : false
11973 }
11974 },
11975 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011976 "name" : "FabricIngress.forwarding.acl",
Charles Chan384aea22018-08-23 22:08:02 -070011977 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011978 "source_info" : {
11979 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011980 "line" : 131,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011981 "column" : 10,
11982 "source_fragment" : "acl"
11983 },
11984 "key" : [
11985 {
11986 "match_type" : "ternary",
11987 "name" : "standard_metadata.ingress_port",
11988 "target" : ["standard_metadata", "ingress_port"],
11989 "mask" : null
11990 },
11991 {
11992 "match_type" : "ternary",
11993 "name" : "fabric_metadata.ip_proto",
11994 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
11995 "mask" : null
11996 },
11997 {
11998 "match_type" : "ternary",
11999 "name" : "fabric_metadata.l4_src_port",
12000 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
12001 "mask" : null
12002 },
12003 {
12004 "match_type" : "ternary",
12005 "name" : "fabric_metadata.l4_dst_port",
12006 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12007 "mask" : null
12008 },
12009 {
12010 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012011 "name" : "hdr.ethernet.dst_addr",
12012 "target" : ["ethernet", "dst_addr"],
12013 "mask" : null
12014 },
12015 {
12016 "match_type" : "ternary",
12017 "name" : "hdr.ethernet.src_addr",
12018 "target" : ["ethernet", "src_addr"],
12019 "mask" : null
12020 },
12021 {
12022 "match_type" : "ternary",
12023 "name" : "hdr.vlan_tag.vlan_id",
12024 "target" : ["vlan_tag", "vlan_id"],
12025 "mask" : null
12026 },
12027 {
12028 "match_type" : "ternary",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012029 "name" : "hdr.vlan_tag.ether_type",
12030 "target" : ["vlan_tag", "ether_type"],
12031 "mask" : null
12032 },
12033 {
12034 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012035 "name" : "hdr.ipv4.src_addr",
12036 "target" : ["ipv4", "src_addr"],
12037 "mask" : null
12038 },
12039 {
12040 "match_type" : "ternary",
12041 "name" : "hdr.ipv4.dst_addr",
12042 "target" : ["ipv4", "dst_addr"],
12043 "mask" : null
12044 },
12045 {
12046 "match_type" : "ternary",
12047 "name" : "hdr.icmp.icmp_type",
12048 "target" : ["icmp", "icmp_type"],
12049 "mask" : null
12050 },
12051 {
12052 "match_type" : "ternary",
12053 "name" : "hdr.icmp.icmp_code",
12054 "target" : ["icmp", "icmp_code"],
12055 "mask" : null
12056 }
12057 ],
12058 "match_type" : "ternary",
12059 "type" : "simple",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012060 "max_size" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012061 "with_counters" : true,
12062 "support_timeout" : false,
12063 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012064 "action_ids" : [25, 26, 27, 28, 29],
Charles Chancf696e52018-08-16 16:25:13 -070012065 "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 -070012066 "base_default_next" : "tbl_act_18",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012067 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012068 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_18",
12069 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_18",
12070 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_18",
12071 "FabricIngress.forwarding.drop" : "tbl_act_18",
12072 "FabricIngress.forwarding.nop_acl" : "tbl_act_18"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012073 },
12074 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012075 "action_id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012076 "action_const" : true,
12077 "action_data" : [],
12078 "action_entry_const" : true
12079 }
12080 },
12081 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012082 "name" : "tbl_act_18",
Charles Chan384aea22018-08-23 22:08:02 -070012083 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012084 "key" : [],
12085 "match_type" : "exact",
12086 "type" : "simple",
12087 "max_size" : 1024,
12088 "with_counters" : false,
12089 "support_timeout" : false,
12090 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012091 "action_ids" : [61],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012092 "actions" : ["act_18"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012093 "base_default_next" : "FabricIngress.next.vlan_meta",
12094 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012095 "act_18" : "FabricIngress.next.vlan_meta"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012096 },
12097 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012098 "action_id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012099 "action_const" : true,
12100 "action_data" : [],
12101 "action_entry_const" : true
12102 }
12103 },
12104 {
12105 "name" : "FabricIngress.next.vlan_meta",
Charles Chan384aea22018-08-23 22:08:02 -070012106 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012107 "source_info" : {
12108 "filename" : "include/control/next.p4",
12109 "line" : 65,
12110 "column" : 10,
12111 "source_fragment" : "vlan_meta"
12112 },
12113 "key" : [
12114 {
12115 "match_type" : "exact",
12116 "name" : "fabric_metadata.next_id",
12117 "target" : ["scalars", "fabric_metadata_t.next_id"],
12118 "mask" : null
12119 }
12120 ],
12121 "match_type" : "exact",
12122 "type" : "simple",
12123 "max_size" : 1024,
12124 "with_counters" : true,
12125 "support_timeout" : false,
12126 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012127 "action_ids" : [31, 11],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012128 "actions" : ["FabricIngress.next.set_vlan", "nop"],
12129 "base_default_next" : "FabricIngress.next.simple",
12130 "next_tables" : {
12131 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
12132 "nop" : "FabricIngress.next.simple"
12133 },
12134 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012135 "action_id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012136 "action_const" : false,
12137 "action_data" : [],
12138 "action_entry_const" : false
12139 }
12140 },
12141 {
12142 "name" : "FabricIngress.next.simple",
Charles Chan384aea22018-08-23 22:08:02 -070012143 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012144 "source_info" : {
12145 "filename" : "include/control/next.p4",
12146 "line" : 122,
12147 "column" : 10,
12148 "source_fragment" : "simple"
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 Chan384aea22018-08-23 22:08:02 -070012164 "action_ids" : [32, 33, 34, 35, 36, 37, 8],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012165 "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"],
12166 "base_default_next" : null,
12167 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012168 "__HIT__" : "tbl_act_19",
12169 "__MISS__" : "tbl_act_20"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012170 },
12171 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012172 "action_id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012173 "action_const" : false,
12174 "action_data" : [],
12175 "action_entry_const" : false
12176 }
12177 },
12178 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012179 "name" : "tbl_act_19",
Charles Chan384aea22018-08-23 22:08:02 -070012180 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012181 "key" : [],
12182 "match_type" : "exact",
12183 "type" : "simple",
12184 "max_size" : 1024,
12185 "with_counters" : false,
12186 "support_timeout" : false,
12187 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012188 "action_ids" : [62],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012189 "actions" : ["act_19"],
Charles Chan384aea22018-08-23 22:08:02 -070012190 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012191 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012192 "act_19" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012193 },
12194 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012195 "action_id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012196 "action_const" : true,
12197 "action_data" : [],
12198 "action_entry_const" : true
12199 }
12200 },
12201 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012202 "name" : "tbl_act_20",
Charles Chan384aea22018-08-23 22:08:02 -070012203 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012204 "key" : [],
12205 "match_type" : "exact",
12206 "type" : "simple",
12207 "max_size" : 1024,
12208 "with_counters" : false,
12209 "support_timeout" : false,
12210 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012211 "action_ids" : [63],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012212 "actions" : ["act_20"],
Charles Chan384aea22018-08-23 22:08:02 -070012213 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012214 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012215 "act_20" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012216 },
12217 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012218 "action_id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012219 "action_const" : true,
12220 "action_data" : [],
12221 "action_entry_const" : true
12222 }
12223 },
12224 {
12225 "name" : "FabricIngress.next.hashed",
Charles Chan384aea22018-08-23 22:08:02 -070012226 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012227 "source_info" : {
12228 "filename" : "include/control/next.p4",
12229 "line" : 175,
12230 "column" : 10,
12231 "source_fragment" : "hashed"
12232 },
12233 "key" : [
12234 {
12235 "match_type" : "exact",
12236 "name" : "fabric_metadata.next_id",
12237 "target" : ["scalars", "fabric_metadata_t.next_id"],
12238 "mask" : null
12239 }
12240 ],
12241 "match_type" : "exact",
12242 "type" : "indirect_ws",
12243 "action_profile" : "FabricIngress.next.ecmp_selector",
12244 "max_size" : 1024,
12245 "with_counters" : true,
12246 "support_timeout" : false,
12247 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012248 "action_ids" : [38, 39, 40, 9],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012249 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
12250 "base_default_next" : null,
12251 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012252 "__HIT__" : "tbl_act_21",
12253 "__MISS__" : "tbl_act_22"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012254 }
12255 },
12256 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012257 "name" : "tbl_act_21",
Charles Chan384aea22018-08-23 22:08:02 -070012258 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012259 "key" : [],
12260 "match_type" : "exact",
12261 "type" : "simple",
12262 "max_size" : 1024,
12263 "with_counters" : false,
12264 "support_timeout" : false,
12265 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012266 "action_ids" : [64],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012267 "actions" : ["act_21"],
Charles Chan384aea22018-08-23 22:08:02 -070012268 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012269 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012270 "act_21" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012271 },
12272 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012273 "action_id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012274 "action_const" : true,
12275 "action_data" : [],
12276 "action_entry_const" : true
12277 }
12278 },
12279 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012280 "name" : "tbl_act_22",
Charles Chan384aea22018-08-23 22:08:02 -070012281 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012282 "key" : [],
12283 "match_type" : "exact",
12284 "type" : "simple",
12285 "max_size" : 1024,
12286 "with_counters" : false,
12287 "support_timeout" : false,
12288 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012289 "action_ids" : [65],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012290 "actions" : ["act_22"],
Charles Chan384aea22018-08-23 22:08:02 -070012291 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012292 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012293 "act_22" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012294 },
12295 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012296 "action_id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012297 "action_const" : true,
12298 "action_data" : [],
12299 "action_entry_const" : true
12300 }
12301 },
12302 {
12303 "name" : "FabricIngress.next.multicast",
Charles Chan384aea22018-08-23 22:08:02 -070012304 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012305 "source_info" : {
12306 "filename" : "include/control/next.p4",
12307 "line" : 207,
12308 "column" : 10,
12309 "source_fragment" : "multicast"
12310 },
12311 "key" : [
12312 {
12313 "match_type" : "exact",
12314 "name" : "fabric_metadata.next_id",
12315 "target" : ["scalars", "fabric_metadata_t.next_id"],
12316 "mask" : null
12317 }
12318 ],
12319 "match_type" : "exact",
12320 "type" : "simple",
12321 "max_size" : 1024,
12322 "with_counters" : true,
12323 "support_timeout" : false,
12324 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012325 "action_ids" : [41, 10],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012326 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
12327 "base_default_next" : null,
12328 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012329 "__HIT__" : "tbl_act_23",
12330 "__MISS__" : "tbl_act_24"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012331 },
12332 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012333 "action_id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012334 "action_const" : false,
12335 "action_data" : [],
12336 "action_entry_const" : false
12337 }
12338 },
12339 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012340 "name" : "tbl_act_23",
Charles Chan384aea22018-08-23 22:08:02 -070012341 "id" : 39,
12342 "key" : [],
12343 "match_type" : "exact",
12344 "type" : "simple",
12345 "max_size" : 1024,
12346 "with_counters" : false,
12347 "support_timeout" : false,
12348 "direct_meters" : null,
12349 "action_ids" : [66],
12350 "actions" : ["act_23"],
12351 "base_default_next" : "node_58",
12352 "next_tables" : {
12353 "act_23" : "node_58"
12354 },
12355 "default_entry" : {
12356 "action_id" : 66,
12357 "action_const" : true,
12358 "action_data" : [],
12359 "action_entry_const" : true
12360 }
12361 },
12362 {
12363 "name" : "tbl_act_24",
12364 "id" : 40,
12365 "key" : [],
12366 "match_type" : "exact",
12367 "type" : "simple",
12368 "max_size" : 1024,
12369 "with_counters" : false,
12370 "support_timeout" : false,
12371 "direct_meters" : null,
12372 "action_ids" : [67],
12373 "actions" : ["act_24"],
12374 "base_default_next" : "node_58",
12375 "next_tables" : {
12376 "act_24" : "node_58"
12377 },
12378 "default_entry" : {
12379 "action_id" : 67,
12380 "action_const" : true,
12381 "action_data" : [],
12382 "action_entry_const" : true
12383 }
12384 },
12385 {
12386 "name" : "tbl_act_25",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012387 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012388 "key" : [],
12389 "match_type" : "exact",
12390 "type" : "simple",
12391 "max_size" : 1024,
12392 "with_counters" : false,
12393 "support_timeout" : false,
12394 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012395 "action_ids" : [68],
12396 "actions" : ["act_25"],
12397 "base_default_next" : "node_60",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012398 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012399 "act_25" : "node_60"
12400 },
12401 "default_entry" : {
12402 "action_id" : 68,
12403 "action_const" : true,
12404 "action_data" : [],
12405 "action_entry_const" : true
12406 }
12407 },
12408 {
12409 "name" : "tbl_act_26",
12410 "id" : 42,
12411 "key" : [],
12412 "match_type" : "exact",
12413 "type" : "simple",
12414 "max_size" : 1024,
12415 "with_counters" : false,
12416 "support_timeout" : false,
12417 "direct_meters" : null,
12418 "action_ids" : [69],
12419 "actions" : ["act_26"],
12420 "base_default_next" : "node_66",
12421 "next_tables" : {
12422 "act_26" : "node_66"
12423 },
12424 "default_entry" : {
12425 "action_id" : 69,
12426 "action_const" : true,
12427 "action_data" : [],
12428 "action_entry_const" : true
12429 }
12430 },
12431 {
12432 "name" : "tbl_act_27",
12433 "id" : 43,
12434 "key" : [],
12435 "match_type" : "exact",
12436 "type" : "simple",
12437 "max_size" : 1024,
12438 "with_counters" : false,
12439 "support_timeout" : false,
12440 "direct_meters" : null,
12441 "action_ids" : [70],
12442 "actions" : ["act_27"],
12443 "base_default_next" : "node_66",
12444 "next_tables" : {
12445 "act_27" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012446 },
12447 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012448 "action_id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012449 "action_const" : true,
12450 "action_data" : [],
12451 "action_entry_const" : true
12452 }
12453 },
12454 {
Charles Chan384aea22018-08-23 22:08:02 -070012455 "name" : "tbl_act_28",
12456 "id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012457 "key" : [],
12458 "match_type" : "exact",
12459 "type" : "simple",
12460 "max_size" : 1024,
12461 "with_counters" : false,
12462 "support_timeout" : false,
12463 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012464 "action_ids" : [71],
Charles Chan384aea22018-08-23 22:08:02 -070012465 "actions" : ["act_28"],
12466 "base_default_next" : "node_68",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012467 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012468 "act_28" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012469 },
12470 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012471 "action_id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012472 "action_const" : true,
12473 "action_data" : [],
12474 "action_entry_const" : true
12475 }
12476 },
12477 {
Charles Chan384aea22018-08-23 22:08:02 -070012478 "name" : "tbl_act_29",
12479 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012480 "key" : [],
12481 "match_type" : "exact",
12482 "type" : "simple",
12483 "max_size" : 1024,
12484 "with_counters" : false,
12485 "support_timeout" : false,
12486 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012487 "action_ids" : [72],
Charles Chan384aea22018-08-23 22:08:02 -070012488 "actions" : ["act_29"],
12489 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012490 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012491 "act_29" : "FabricIngress.process_set_source_sink.tb_set_source"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012492 },
12493 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012494 "action_id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012495 "action_const" : true,
12496 "action_data" : [],
12497 "action_entry_const" : true
12498 }
12499 },
12500 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012501 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
Charles Chan384aea22018-08-23 22:08:02 -070012502 "id" : 46,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012503 "source_info" : {
12504 "filename" : "include/int_source.p4",
12505 "line" : 101,
12506 "column" : 10,
12507 "source_fragment" : "tb_set_source"
12508 },
12509 "key" : [
12510 {
12511 "match_type" : "exact",
12512 "name" : "standard_metadata.ingress_port",
12513 "target" : ["standard_metadata", "ingress_port"],
12514 "mask" : null
12515 }
12516 ],
12517 "match_type" : "exact",
12518 "type" : "simple",
12519 "max_size" : 256,
12520 "with_counters" : true,
12521 "support_timeout" : false,
12522 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012523 "action_ids" : [15, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012524 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
12525 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
12526 "next_tables" : {
12527 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
12528 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
12529 },
12530 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012531 "action_id" : 2,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012532 "action_const" : false,
12533 "action_data" : [],
12534 "action_entry_const" : false
12535 }
12536 },
12537 {
12538 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
Charles Chan384aea22018-08-23 22:08:02 -070012539 "id" : 47,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012540 "source_info" : {
12541 "filename" : "include/int_source.p4",
12542 "line" : 111,
12543 "column" : 10,
12544 "source_fragment" : "tb_set_sink"
12545 },
12546 "key" : [
12547 {
12548 "match_type" : "exact",
12549 "name" : "standard_metadata.egress_spec",
12550 "target" : ["standard_metadata", "egress_spec"],
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" : [16, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012561 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
Charles Chan384aea22018-08-23 22:08:02 -070012562 "base_default_next" : "node_72",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012563 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070012564 "FabricIngress.process_set_source_sink.int_set_sink" : "node_72",
12565 "NoAction" : "node_72"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012566 },
12567 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012568 "action_id" : 3,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012569 "action_const" : false,
12570 "action_data" : [],
12571 "action_entry_const" : false
12572 }
12573 },
12574 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012575 "name" : "tbl_act_30",
Charles Chan384aea22018-08-23 22:08:02 -070012576 "id" : 48,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012577 "key" : [],
12578 "match_type" : "exact",
12579 "type" : "simple",
12580 "max_size" : 1024,
12581 "with_counters" : false,
12582 "support_timeout" : false,
12583 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070012584 "action_ids" : [73],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012585 "actions" : ["act_30"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012586 "base_default_next" : null,
12587 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012588 "act_30" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012589 },
12590 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070012591 "action_id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012592 "action_const" : true,
12593 "action_data" : [],
12594 "action_entry_const" : true
12595 }
12596 }
12597 ],
12598 "action_profiles" : [
12599 {
12600 "name" : "FabricIngress.next.ecmp_selector",
12601 "id" : 0,
12602 "max_size" : 64,
12603 "selector" : {
12604 "algo" : "crc16",
12605 "input" : [
12606 {
12607 "type" : "field",
12608 "value" : ["ipv4", "dst_addr"]
12609 },
12610 {
12611 "type" : "field",
12612 "value" : ["ipv4", "src_addr"]
12613 },
12614 {
12615 "type" : "field",
12616 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
12617 },
12618 {
12619 "type" : "field",
12620 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
12621 },
12622 {
12623 "type" : "field",
12624 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
12625 }
12626 ]
12627 }
12628 }
12629 ],
12630 "conditionals" : [
12631 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012632 "name" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012633 "id" : 0,
12634 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012635 "filename" : "include/spgw.p4",
12636 "line" : 30,
12637 "column" : 12,
12638 "source_fragment" : "! is_gtpu_encapped"
12639 },
12640 "expression" : {
12641 "type" : "expression",
12642 "value" : {
12643 "op" : "not",
12644 "left" : null,
12645 "right" : {
12646 "type" : "expression",
12647 "value" : {
12648 "op" : "d2b",
12649 "left" : null,
12650 "right" : {
12651 "type" : "field",
12652 "value" : ["gtpu", "$valid$"]
12653 }
12654 }
12655 }
12656 }
12657 },
12658 "true_next" : "tbl_act_0",
12659 "false_next" : "node_5"
12660 },
12661 {
12662 "name" : "node_5",
12663 "id" : 1,
12664 "expression" : {
12665 "type" : "expression",
12666 "value" : {
12667 "op" : "not",
12668 "left" : null,
12669 "right" : {
12670 "type" : "expression",
12671 "value" : {
12672 "op" : "d2b",
12673 "left" : null,
12674 "right" : {
12675 "type" : "field",
12676 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
12677 }
12678 }
12679 }
12680 }
12681 },
12682 "true_next" : "tbl_act_1",
12683 "false_next" : "node_10"
12684 },
12685 {
12686 "name" : "node_7",
12687 "id" : 2,
12688 "source_info" : {
12689 "filename" : "include/spgw.p4",
12690 "line" : 34,
12691 "column" : 12,
12692 "source_fragment" : "inner_udp.isValid()"
12693 },
12694 "expression" : {
12695 "type" : "expression",
12696 "value" : {
12697 "op" : "d2b",
12698 "left" : null,
12699 "right" : {
12700 "type" : "field",
12701 "value" : ["inner_udp", "$valid$"]
12702 }
12703 }
12704 },
12705 "true_next" : "tbl_act_2",
12706 "false_next" : "tbl_act_3"
12707 },
12708 {
12709 "name" : "node_10",
12710 "id" : 3,
12711 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012712 "filename" : "include/control/packetio.p4",
12713 "line" : 25,
12714 "column" : 12,
12715 "source_fragment" : "hdr.packet_out.isValid()"
12716 },
12717 "expression" : {
12718 "type" : "expression",
12719 "value" : {
12720 "op" : "d2b",
12721 "left" : null,
12722 "right" : {
12723 "type" : "field",
12724 "value" : ["packet_out", "$valid$"]
12725 }
12726 }
12727 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012728 "true_next" : "tbl_act_4",
12729 "false_next" : "tbl_act_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012730 },
12731 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012732 "name" : "node_13",
12733 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012734 "source_info" : {
12735 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012736 "line" : 139,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012737 "column" : 12,
12738 "source_fragment" : "gtpu.isValid()"
12739 },
12740 "expression" : {
12741 "type" : "expression",
12742 "value" : {
12743 "op" : "d2b",
12744 "left" : null,
12745 "right" : {
12746 "type" : "field",
12747 "value" : ["gtpu", "$valid$"]
12748 }
12749 }
12750 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012751 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
12752 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012753 },
12754 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012755 "name" : "node_17",
12756 "id" : 5,
12757 "source_info" : {
12758 "filename" : "include/spgw.p4",
12759 "line" : 143,
12760 "column" : 16,
12761 "source_fragment" : "!s1u_filter_table.apply().hit"
12762 },
12763 "expression" : {
12764 "type" : "expression",
12765 "value" : {
12766 "op" : "not",
12767 "left" : null,
12768 "right" : {
12769 "type" : "expression",
12770 "value" : {
12771 "op" : "d2b",
12772 "left" : null,
12773 "right" : {
12774 "type" : "field",
12775 "value" : ["scalars", "spgw_ingress_tmp_1"]
12776 }
12777 }
12778 }
12779 }
12780 },
12781 "true_next" : "tbl_drop_now",
12782 "false_next" : "tbl_act_8"
12783 },
12784 {
12785 "name" : "node_24",
12786 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012787 "expression" : {
12788 "type" : "expression",
12789 "value" : {
12790 "op" : "d2b",
12791 "left" : null,
12792 "right" : {
12793 "type" : "field",
12794 "value" : ["scalars", "spgw_ingress_tmp_2"]
12795 }
12796 }
12797 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012798 "true_next" : "tbl_act_11",
12799 "false_next" : "tbl_act_12"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012800 },
12801 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012802 "name" : "node_27",
12803 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012804 "expression" : {
12805 "type" : "expression",
12806 "value" : {
12807 "op" : "not",
12808 "left" : null,
12809 "right" : {
12810 "type" : "expression",
12811 "value" : {
12812 "op" : "d2b",
12813 "left" : null,
12814 "right" : {
12815 "type" : "field",
12816 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
12817 }
12818 }
12819 }
12820 }
12821 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012822 "true_next" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012823 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
12824 },
12825 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012826 "name" : "node_32",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012827 "id" : 8,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012828 "expression" : {
12829 "type" : "expression",
12830 "value" : {
12831 "op" : "d2b",
12832 "left" : null,
12833 "right" : {
12834 "type" : "field",
12835 "value" : ["scalars", "filtering_tmp_0"]
12836 }
12837 }
12838 },
12839 "true_next" : "FabricIngress.filtering.fwd_classifier",
12840 "false_next" : "tbl_act_16"
12841 },
12842 {
12843 "name" : "node_35",
12844 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012845 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012846 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070012847 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012848 "column" : 11,
12849 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
12850 },
12851 "expression" : {
12852 "type" : "expression",
12853 "value" : {
12854 "op" : "==",
12855 "left" : {
12856 "type" : "field",
12857 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12858 },
12859 "right" : {
12860 "type" : "hexstr",
12861 "value" : "0x00"
12862 }
12863 }
12864 },
12865 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012866 "false_next" : "node_37"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012867 },
12868 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012869 "name" : "node_37",
12870 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012871 "source_info" : {
12872 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070012873 "line" : 187,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012874 "column" : 17,
12875 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
12876 },
12877 "expression" : {
12878 "type" : "expression",
12879 "value" : {
12880 "op" : "==",
12881 "left" : {
12882 "type" : "field",
12883 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12884 },
12885 "right" : {
12886 "type" : "hexstr",
12887 "value" : "0x01"
12888 }
12889 }
12890 },
12891 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012892 "false_next" : "node_40"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012893 },
12894 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012895 "name" : "node_40",
12896 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012897 "source_info" : {
12898 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070012899 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012900 "column" : 17,
12901 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
12902 },
12903 "expression" : {
12904 "type" : "expression",
12905 "value" : {
12906 "op" : "==",
12907 "left" : {
12908 "type" : "field",
12909 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12910 },
12911 "right" : {
12912 "type" : "hexstr",
12913 "value" : "0x02"
12914 }
12915 }
12916 },
Charles Chan384aea22018-08-23 22:08:02 -070012917 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012918 "false_next" : "node_42"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012919 },
12920 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070012921 "name" : "node_42",
12922 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012923 "source_info" : {
12924 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070012925 "line" : 195,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012926 "column" : 17,
12927 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
12928 },
12929 "expression" : {
12930 "type" : "expression",
12931 "value" : {
12932 "op" : "==",
12933 "left" : {
12934 "type" : "field",
12935 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12936 },
12937 "right" : {
12938 "type" : "hexstr",
12939 "value" : "0x04"
12940 }
12941 }
12942 },
Charles Chan384aea22018-08-23 22:08:02 -070012943 "true_next" : "FabricIngress.forwarding.routing_v6",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012944 "false_next" : "FabricIngress.forwarding.acl"
12945 },
12946 {
Charles Chan384aea22018-08-23 22:08:02 -070012947 "name" : "node_50",
12948 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012949 "source_info" : {
12950 "filename" : "include/control/next.p4",
12951 "line" : 219,
12952 "column" : 12,
12953 "source_fragment" : "!simple.apply().hit"
12954 },
12955 "expression" : {
12956 "type" : "expression",
12957 "value" : {
12958 "op" : "not",
12959 "left" : null,
12960 "right" : {
12961 "type" : "expression",
12962 "value" : {
12963 "op" : "d2b",
12964 "left" : null,
12965 "right" : {
12966 "type" : "field",
12967 "value" : ["scalars", "next_tmp_4"]
12968 }
12969 }
12970 }
12971 }
12972 },
12973 "true_next" : "FabricIngress.next.hashed",
Charles Chan384aea22018-08-23 22:08:02 -070012974 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012975 },
12976 {
Charles Chan384aea22018-08-23 22:08:02 -070012977 "name" : "node_54",
12978 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012979 "source_info" : {
12980 "filename" : "include/control/next.p4",
12981 "line" : 220,
12982 "column" : 16,
12983 "source_fragment" : "!hashed.apply().hit"
12984 },
12985 "expression" : {
12986 "type" : "expression",
12987 "value" : {
12988 "op" : "not",
12989 "left" : null,
12990 "right" : {
12991 "type" : "expression",
12992 "value" : {
12993 "op" : "d2b",
12994 "left" : null,
12995 "right" : {
12996 "type" : "field",
12997 "value" : ["scalars", "next_tmp_3"]
12998 }
12999 }
13000 }
13001 }
13002 },
13003 "true_next" : "FabricIngress.next.multicast",
Charles Chan384aea22018-08-23 22:08:02 -070013004 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013005 },
13006 {
Charles Chan384aea22018-08-23 22:08:02 -070013007 "name" : "node_58",
13008 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013009 "source_info" : {
13010 "filename" : "include/control/next.p4",
13011 "line" : 221,
13012 "column" : 20,
13013 "source_fragment" : "!multicast.apply().hit"
13014 },
13015 "expression" : {
13016 "type" : "expression",
13017 "value" : {
13018 "op" : "not",
13019 "left" : null,
13020 "right" : {
13021 "type" : "expression",
13022 "value" : {
13023 "op" : "d2b",
13024 "left" : null,
13025 "right" : {
13026 "type" : "field",
13027 "value" : ["scalars", "next_tmp_2"]
13028 }
13029 }
13030 }
13031 }
13032 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013033 "true_next" : "tbl_act_25",
Charles Chan384aea22018-08-23 22:08:02 -070013034 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013035 },
13036 {
Charles Chan384aea22018-08-23 22:08:02 -070013037 "name" : "node_60",
13038 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013039 "expression" : {
13040 "type" : "expression",
13041 "value" : {
13042 "op" : "not",
13043 "left" : null,
13044 "right" : {
13045 "type" : "expression",
13046 "value" : {
13047 "op" : "d2b",
13048 "left" : null,
13049 "right" : {
13050 "type" : "field",
13051 "value" : ["scalars", "next_hasReturned_0"]
13052 }
13053 }
13054 }
13055 }
13056 },
Charles Chan384aea22018-08-23 22:08:02 -070013057 "true_next" : "node_61",
13058 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013059 },
13060 {
Charles Chan384aea22018-08-23 22:08:02 -070013061 "name" : "node_61",
13062 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013063 "source_info" : {
13064 "filename" : "include/control/next.p4",
13065 "line" : 228,
13066 "column" : 12,
13067 "source_fragment" : "!hdr.mpls.isValid()"
13068 },
13069 "expression" : {
13070 "type" : "expression",
13071 "value" : {
13072 "op" : "not",
13073 "left" : null,
13074 "right" : {
13075 "type" : "expression",
13076 "value" : {
13077 "op" : "d2b",
13078 "left" : null,
13079 "right" : {
13080 "type" : "field",
13081 "value" : ["mpls", "$valid$"]
13082 }
13083 }
13084 }
13085 }
13086 },
Charles Chan384aea22018-08-23 22:08:02 -070013087 "true_next" : "node_62",
13088 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013089 },
13090 {
Charles Chan384aea22018-08-23 22:08:02 -070013091 "name" : "node_62",
13092 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013093 "source_info" : {
13094 "filename" : "include/control/next.p4",
13095 "line" : 229,
13096 "column" : 15,
13097 "source_fragment" : "hdr.ipv4.isValid()"
13098 },
13099 "expression" : {
13100 "type" : "expression",
13101 "value" : {
13102 "op" : "d2b",
13103 "left" : null,
13104 "right" : {
13105 "type" : "field",
13106 "value" : ["ipv4", "$valid$"]
13107 }
13108 }
13109 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013110 "true_next" : "tbl_act_26",
Charles Chan384aea22018-08-23 22:08:02 -070013111 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013112 },
13113 {
Charles Chan384aea22018-08-23 22:08:02 -070013114 "name" : "node_64",
13115 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013116 "source_info" : {
13117 "filename" : "include/control/next.p4",
13118 "line" : 233,
13119 "column" : 21,
13120 "source_fragment" : "hdr.ipv6.isValid()"
13121 },
13122 "expression" : {
13123 "type" : "expression",
13124 "value" : {
13125 "op" : "d2b",
13126 "left" : null,
13127 "right" : {
13128 "type" : "field",
13129 "value" : ["ipv6", "$valid$"]
13130 }
13131 }
13132 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013133 "true_next" : "tbl_act_27",
Charles Chan384aea22018-08-23 22:08:02 -070013134 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013135 },
13136 {
Charles Chan384aea22018-08-23 22:08:02 -070013137 "name" : "node_66",
13138 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013139 "source_info" : {
13140 "filename" : "include/control/port_counter.p4",
13141 "line" : 27,
13142 "column" : 12,
13143 "source_fragment" : "standard_metadata.egress_spec < 511"
13144 },
13145 "expression" : {
13146 "type" : "expression",
13147 "value" : {
13148 "op" : "<",
13149 "left" : {
13150 "type" : "field",
13151 "value" : ["standard_metadata", "egress_spec"]
13152 },
13153 "right" : {
13154 "type" : "hexstr",
13155 "value" : "0x01ff"
13156 }
13157 }
13158 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013159 "true_next" : "tbl_act_28",
Charles Chan384aea22018-08-23 22:08:02 -070013160 "false_next" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013161 },
13162 {
Charles Chan384aea22018-08-23 22:08:02 -070013163 "name" : "node_68",
13164 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013165 "source_info" : {
13166 "filename" : "include/control/port_counter.p4",
13167 "line" : 30,
13168 "column" : 12,
13169 "source_fragment" : "standard_metadata.ingress_port < 511"
13170 },
13171 "expression" : {
13172 "type" : "expression",
13173 "value" : {
13174 "op" : "<",
13175 "left" : {
13176 "type" : "field",
13177 "value" : ["standard_metadata", "ingress_port"]
13178 },
13179 "right" : {
13180 "type" : "hexstr",
13181 "value" : "0x01ff"
13182 }
13183 }
13184 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013185 "true_next" : "tbl_act_29",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013186 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
13187 },
13188 {
Charles Chan384aea22018-08-23 22:08:02 -070013189 "name" : "node_72",
13190 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013191 "source_info" : {
13192 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013193 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013194 "column" : 11,
13195 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
13196 },
13197 "expression" : {
13198 "type" : "expression",
13199 "value" : {
13200 "op" : "==",
13201 "left" : {
13202 "type" : "field",
13203 "value" : ["userMetadata.int_meta", "sink"]
13204 },
13205 "right" : {
13206 "type" : "hexstr",
13207 "value" : "0x01"
13208 }
13209 }
13210 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013211 "false_next" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013212 "true_next" : "tbl_act_30"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013213 }
13214 ]
13215 },
13216 {
13217 "name" : "egress",
13218 "id" : 1,
13219 "source_info" : {
13220 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013221 "line" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013222 "column" : 8,
13223 "source_fragment" : "FabricEgress"
13224 },
Charles Chan384aea22018-08-23 22:08:02 -070013225 "init_table" : "node_76",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013226 "tables" : [
13227 {
13228 "name" : "tbl_drop_now_0",
Charles Chan384aea22018-08-23 22:08:02 -070013229 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013230 "key" : [],
13231 "match_type" : "exact",
13232 "type" : "simple",
13233 "max_size" : 1024,
13234 "with_counters" : false,
13235 "support_timeout" : false,
13236 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013237 "action_ids" : [80],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013238 "actions" : ["drop_now"],
13239 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
13240 "next_tables" : {
13241 "drop_now" : "FabricEgress.egress_next.egress_vlan"
13242 },
13243 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013244 "action_id" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013245 "action_const" : true,
13246 "action_data" : [],
13247 "action_entry_const" : true
13248 }
13249 },
13250 {
13251 "name" : "FabricEgress.egress_next.egress_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070013252 "id" : 50,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013253 "source_info" : {
13254 "filename" : "include/control/next.p4",
13255 "line" : 258,
13256 "column" : 10,
13257 "source_fragment" : "egress_vlan"
13258 },
13259 "key" : [
13260 {
13261 "match_type" : "exact",
13262 "name" : "hdr.vlan_tag.vlan_id",
13263 "target" : ["vlan_tag", "vlan_id"],
13264 "mask" : null
13265 },
13266 {
13267 "match_type" : "exact",
13268 "name" : "standard_metadata.egress_port",
13269 "target" : ["standard_metadata", "egress_port"],
13270 "mask" : null
13271 }
13272 ],
13273 "match_type" : "exact",
13274 "type" : "simple",
13275 "max_size" : 1024,
13276 "with_counters" : true,
13277 "support_timeout" : false,
13278 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013279 "action_ids" : [125, 79],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013280 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Charles Chan384aea22018-08-23 22:08:02 -070013281 "base_default_next" : "node_79",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013282 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070013283 "FabricEgress.egress_next.pop_vlan" : "node_79",
13284 "nop" : "node_79"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013285 },
13286 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013287 "action_id" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013288 "action_const" : false,
13289 "action_data" : [],
13290 "action_entry_const" : false
13291 }
13292 },
13293 {
13294 "name" : "tbl_pkt_io_egress_pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070013295 "id" : 51,
13296 "key" : [],
13297 "match_type" : "exact",
13298 "type" : "simple",
13299 "max_size" : 1024,
13300 "with_counters" : false,
13301 "support_timeout" : false,
13302 "direct_meters" : null,
13303 "action_ids" : [124],
13304 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
13305 "base_default_next" : "node_82",
13306 "next_tables" : {
13307 "FabricEgress.pkt_io_egress.pop_vlan" : "node_82"
13308 },
13309 "default_entry" : {
13310 "action_id" : 124,
13311 "action_const" : true,
13312 "action_data" : [],
13313 "action_entry_const" : true
13314 }
13315 },
13316 {
13317 "name" : "tbl_drop_now_1",
13318 "id" : 52,
13319 "key" : [],
13320 "match_type" : "exact",
13321 "type" : "simple",
13322 "max_size" : 1024,
13323 "with_counters" : false,
13324 "support_timeout" : false,
13325 "direct_meters" : null,
13326 "action_ids" : [81],
13327 "actions" : ["drop_now"],
13328 "base_default_next" : "tbl_act_31",
13329 "next_tables" : {
13330 "drop_now" : "tbl_act_31"
13331 },
13332 "default_entry" : {
13333 "action_id" : 81,
13334 "action_const" : true,
13335 "action_data" : [],
13336 "action_entry_const" : true
13337 }
13338 },
13339 {
13340 "name" : "tbl_act_31",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013341 "id" : 53,
13342 "key" : [],
13343 "match_type" : "exact",
13344 "type" : "simple",
13345 "max_size" : 1024,
13346 "with_counters" : false,
13347 "support_timeout" : false,
13348 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013349 "action_ids" : [126],
13350 "actions" : ["act_31"],
13351 "base_default_next" : "node_85",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013352 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070013353 "act_31" : "node_85"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013354 },
13355 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013356 "action_id" : 126,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013357 "action_const" : true,
13358 "action_data" : [],
13359 "action_entry_const" : true
13360 }
13361 },
13362 {
Charles Chan384aea22018-08-23 22:08:02 -070013363 "name" : "tbl_spgw_egress_gtpu_encap",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013364 "id" : 54,
13365 "key" : [],
13366 "match_type" : "exact",
13367 "type" : "simple",
13368 "max_size" : 1024,
13369 "with_counters" : false,
13370 "support_timeout" : false,
13371 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013372 "action_ids" : [82],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013373 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
Charles Chan384aea22018-08-23 22:08:02 -070013374 "base_default_next" : "node_87",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013375 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070013376 "FabricEgress.spgw_egress.gtpu_encap" : "node_87"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013377 },
13378 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013379 "action_id" : 82,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013380 "action_const" : true,
13381 "action_data" : [],
13382 "action_entry_const" : true
13383 }
13384 },
13385 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013386 "name" : "FabricEgress.process_int_source.tb_int_source",
Charles Chan384aea22018-08-23 22:08:02 -070013387 "id" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013388 "source_info" : {
13389 "filename" : "include/int_source.p4",
13390 "line" : 66,
13391 "column" : 10,
13392 "source_fragment" : "tb_int_source"
13393 },
13394 "key" : [
13395 {
13396 "match_type" : "ternary",
13397 "name" : "hdr.ipv4.src_addr",
13398 "target" : ["ipv4", "src_addr"],
13399 "mask" : null
13400 },
13401 {
13402 "match_type" : "ternary",
13403 "name" : "hdr.ipv4.dst_addr",
13404 "target" : ["ipv4", "dst_addr"],
13405 "mask" : null
13406 },
13407 {
13408 "match_type" : "ternary",
13409 "name" : "fabric_metadata.l4_src_port",
13410 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
13411 "mask" : null
13412 },
13413 {
13414 "match_type" : "ternary",
13415 "name" : "fabric_metadata.l4_dst_port",
13416 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
13417 "mask" : null
13418 }
13419 ],
13420 "match_type" : "ternary",
13421 "type" : "simple",
13422 "max_size" : 1024,
13423 "with_counters" : true,
13424 "support_timeout" : false,
13425 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013426 "action_ids" : [83, 74],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013427 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
Charles Chan384aea22018-08-23 22:08:02 -070013428 "base_default_next" : "node_90",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013429 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070013430 "FabricEgress.process_int_source.int_source_dscp" : "node_90",
13431 "NoAction" : "node_90"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013432 },
13433 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013434 "action_id" : 74,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013435 "action_const" : false,
13436 "action_data" : [],
13437 "action_entry_const" : false
13438 }
13439 },
13440 {
13441 "name" : "FabricEgress.process_int_transit.tb_int_insert",
Charles Chan384aea22018-08-23 22:08:02 -070013442 "id" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013443 "source_info" : {
13444 "filename" : "include/int_transit.p4",
13445 "line" : 227,
13446 "column" : 10,
13447 "source_fragment" : "tb_int_insert"
13448 },
13449 "key" : [],
13450 "match_type" : "exact",
13451 "type" : "simple",
13452 "max_size" : 2,
13453 "with_counters" : true,
13454 "support_timeout" : false,
13455 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013456 "action_ids" : [85, 75],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013457 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
13458 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13459 "next_tables" : {
13460 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13461 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
13462 },
13463 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013464 "action_id" : 75,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013465 "action_const" : false,
13466 "action_data" : [],
13467 "action_entry_const" : false
13468 }
13469 },
13470 {
13471 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
Charles Chan384aea22018-08-23 22:08:02 -070013472 "id" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013473 "source_info" : {
13474 "filename" : "include/int_transit.p4",
13475 "line" : 237,
13476 "column" : 10,
13477 "source_fragment" : "tb_int_inst_0003"
13478 },
13479 "key" : [
13480 {
13481 "match_type" : "exact",
13482 "name" : "hdr.int_header.instruction_mask_0003",
13483 "target" : ["int_header", "instruction_mask_0003"],
13484 "mask" : null
13485 }
13486 ],
13487 "match_type" : "exact",
13488 "type" : "simple",
13489 "max_size" : 16,
13490 "with_counters" : true,
13491 "support_timeout" : false,
13492 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013493 "action_ids" : [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 76],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013494 "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"],
13495 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13496 "next_tables" : {
13497 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13498 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13499 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13500 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13501 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13502 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13503 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13504 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13505 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13506 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13507 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13508 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13509 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13510 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13511 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13512 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13513 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
13514 },
13515 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013516 "action_id" : 76,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013517 "action_const" : false,
13518 "action_data" : [],
13519 "action_entry_const" : false
13520 }
13521 },
13522 {
13523 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
Charles Chan384aea22018-08-23 22:08:02 -070013524 "id" : 58,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013525 "source_info" : {
13526 "filename" : "include/int_transit.p4",
13527 "line" : 264,
13528 "column" : 10,
13529 "source_fragment" : "tb_int_inst_0407"
13530 },
13531 "key" : [
13532 {
13533 "match_type" : "exact",
13534 "name" : "hdr.int_header.instruction_mask_0407",
13535 "target" : ["int_header", "instruction_mask_0407"],
13536 "mask" : null
13537 }
13538 ],
13539 "match_type" : "exact",
13540 "type" : "simple",
13541 "max_size" : 16,
13542 "with_counters" : true,
13543 "support_timeout" : false,
13544 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013545 "action_ids" : [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 77],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013546 "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"],
13547 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
13548 "next_tables" : {
13549 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
13550 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
13551 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
13552 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
13553 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
13554 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
13555 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
13556 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
13557 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
13558 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
13559 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
13560 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
13561 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
13562 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
13563 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
13564 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
13565 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
13566 },
13567 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013568 "action_id" : 77,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013569 "action_const" : false,
13570 "action_data" : [],
13571 "action_entry_const" : false
13572 }
13573 },
13574 {
13575 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
Charles Chan384aea22018-08-23 22:08:02 -070013576 "id" : 59,
13577 "key" : [],
13578 "match_type" : "exact",
13579 "type" : "simple",
13580 "max_size" : 1024,
13581 "with_counters" : false,
13582 "support_timeout" : false,
13583 "direct_meters" : null,
13584 "action_ids" : [84],
13585 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
13586 "base_default_next" : "node_95",
13587 "next_tables" : {
13588 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_95"
13589 },
13590 "default_entry" : {
13591 "action_id" : 84,
13592 "action_const" : true,
13593 "action_data" : [],
13594 "action_entry_const" : true
13595 }
13596 },
13597 {
13598 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
13599 "id" : 60,
13600 "key" : [],
13601 "match_type" : "exact",
13602 "type" : "simple",
13603 "max_size" : 1024,
13604 "with_counters" : false,
13605 "support_timeout" : false,
13606 "direct_meters" : null,
13607 "action_ids" : [118],
13608 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
13609 "base_default_next" : "node_97",
13610 "next_tables" : {
13611 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_97"
13612 },
13613 "default_entry" : {
13614 "action_id" : 118,
13615 "action_const" : true,
13616 "action_data" : [],
13617 "action_entry_const" : true
13618 }
13619 },
13620 {
13621 "name" : "tbl_process_int_outer_encap_int_update_udp",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013622 "id" : 61,
13623 "key" : [],
13624 "match_type" : "exact",
13625 "type" : "simple",
13626 "max_size" : 1024,
13627 "with_counters" : false,
13628 "support_timeout" : false,
13629 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013630 "action_ids" : [119],
13631 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013632 "base_default_next" : "node_99",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013633 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070013634 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_99"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013635 },
13636 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013637 "action_id" : 119,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013638 "action_const" : true,
13639 "action_data" : [],
13640 "action_entry_const" : true
13641 }
13642 },
13643 {
Charles Chan384aea22018-08-23 22:08:02 -070013644 "name" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013645 "id" : 62,
13646 "key" : [],
13647 "match_type" : "exact",
13648 "type" : "simple",
13649 "max_size" : 1024,
13650 "with_counters" : false,
13651 "support_timeout" : false,
13652 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013653 "action_ids" : [120],
13654 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013655 "base_default_next" : "node_101",
13656 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070013657 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_101"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013658 },
13659 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013660 "action_id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013661 "action_const" : true,
13662 "action_data" : [],
13663 "action_entry_const" : true
13664 }
13665 },
13666 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013667 "name" : "FabricEgress.process_int_report.tb_generate_report",
Charles Chan384aea22018-08-23 22:08:02 -070013668 "id" : 63,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013669 "source_info" : {
13670 "filename" : "include/int_report.p4",
13671 "line" : 87,
13672 "column" : 10,
13673 "source_fragment" : "tb_generate_report"
13674 },
13675 "key" : [],
13676 "match_type" : "exact",
13677 "type" : "simple",
13678 "max_size" : 1024,
13679 "with_counters" : false,
13680 "support_timeout" : false,
13681 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013682 "action_ids" : [121, 78],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013683 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
Charles Chan384aea22018-08-23 22:08:02 -070013684 "base_default_next" : "node_103",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013685 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -070013686 "FabricEgress.process_int_report.do_report_encapsulation" : "node_103",
13687 "NoAction" : "node_103"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013688 },
13689 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013690 "action_id" : 78,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013691 "action_const" : false,
13692 "action_data" : [],
13693 "action_entry_const" : false
13694 }
13695 },
13696 {
13697 "name" : "tbl_process_int_sink_restore_header",
Charles Chan384aea22018-08-23 22:08:02 -070013698 "id" : 64,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013699 "key" : [],
13700 "match_type" : "exact",
13701 "type" : "simple",
13702 "max_size" : 1024,
13703 "with_counters" : false,
13704 "support_timeout" : false,
13705 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013706 "action_ids" : [122],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013707 "actions" : ["FabricEgress.process_int_sink.restore_header"],
13708 "base_default_next" : "tbl_process_int_sink_int_sink",
13709 "next_tables" : {
13710 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
13711 },
13712 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013713 "action_id" : 122,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013714 "action_const" : true,
13715 "action_data" : [],
13716 "action_entry_const" : true
13717 }
13718 },
13719 {
13720 "name" : "tbl_process_int_sink_int_sink",
Charles Chan384aea22018-08-23 22:08:02 -070013721 "id" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013722 "key" : [],
13723 "match_type" : "exact",
13724 "type" : "simple",
13725 "max_size" : 1024,
13726 "with_counters" : false,
13727 "support_timeout" : false,
13728 "direct_meters" : null,
Charles Chan384aea22018-08-23 22:08:02 -070013729 "action_ids" : [123],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013730 "actions" : ["FabricEgress.process_int_sink.int_sink"],
13731 "base_default_next" : null,
13732 "next_tables" : {
13733 "FabricEgress.process_int_sink.int_sink" : null
13734 },
13735 "default_entry" : {
Charles Chan384aea22018-08-23 22:08:02 -070013736 "action_id" : 123,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013737 "action_const" : true,
13738 "action_data" : [],
13739 "action_entry_const" : true
13740 }
13741 }
13742 ],
13743 "action_profiles" : [],
13744 "conditionals" : [
13745 {
Charles Chan384aea22018-08-23 22:08:02 -070013746 "name" : "node_76",
13747 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013748 "source_info" : {
13749 "filename" : "include/control/next.p4",
13750 "line" : 272,
13751 "column" : 12,
13752 "source_fragment" : "fabric_metadata.is_multicast == true ..."
13753 },
13754 "expression" : {
13755 "type" : "expression",
13756 "value" : {
13757 "op" : "and",
13758 "left" : {
13759 "type" : "expression",
13760 "value" : {
13761 "op" : "==",
13762 "left" : {
13763 "type" : "expression",
13764 "value" : {
13765 "op" : "d2b",
13766 "left" : null,
13767 "right" : {
13768 "type" : "field",
13769 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13770 }
13771 }
13772 },
13773 "right" : {
13774 "type" : "bool",
13775 "value" : true
13776 }
13777 }
13778 },
13779 "right" : {
13780 "type" : "expression",
13781 "value" : {
13782 "op" : "==",
13783 "left" : {
13784 "type" : "field",
13785 "value" : ["standard_metadata", "ingress_port"]
13786 },
13787 "right" : {
13788 "type" : "field",
13789 "value" : ["standard_metadata", "egress_port"]
13790 }
13791 }
13792 }
13793 }
13794 },
13795 "true_next" : "tbl_drop_now_0",
13796 "false_next" : "FabricEgress.egress_next.egress_vlan"
13797 },
13798 {
Charles Chan384aea22018-08-23 22:08:02 -070013799 "name" : "node_79",
13800 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013801 "source_info" : {
13802 "filename" : "include/control/packetio.p4",
13803 "line" : 42,
13804 "column" : 12,
13805 "source_fragment" : "standard_metadata.egress_port == 255"
13806 },
13807 "expression" : {
13808 "type" : "expression",
13809 "value" : {
13810 "op" : "==",
13811 "left" : {
13812 "type" : "field",
13813 "value" : ["standard_metadata", "egress_port"]
13814 },
13815 "right" : {
13816 "type" : "hexstr",
13817 "value" : "0x00ff"
13818 }
13819 }
13820 },
Charles Chan384aea22018-08-23 22:08:02 -070013821 "true_next" : "node_80",
13822 "false_next" : "node_85"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013823 },
13824 {
Charles Chan384aea22018-08-23 22:08:02 -070013825 "name" : "node_80",
13826 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013827 "source_info" : {
13828 "filename" : "include/control/packetio.p4",
13829 "line" : 43,
13830 "column" : 16,
13831 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
13832 },
13833 "expression" : {
13834 "type" : "expression",
13835 "value" : {
13836 "op" : "and",
13837 "left" : {
13838 "type" : "expression",
13839 "value" : {
13840 "op" : "d2b",
13841 "left" : null,
13842 "right" : {
13843 "type" : "field",
13844 "value" : ["vlan_tag", "$valid$"]
13845 }
13846 }
13847 },
13848 "right" : {
13849 "type" : "expression",
13850 "value" : {
13851 "op" : "==",
13852 "left" : {
13853 "type" : "expression",
13854 "value" : {
13855 "op" : "d2b",
13856 "left" : null,
13857 "right" : {
13858 "type" : "field",
13859 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
13860 }
13861 }
13862 },
13863 "right" : {
13864 "type" : "bool",
13865 "value" : true
13866 }
13867 }
13868 }
13869 }
13870 },
13871 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Charles Chan384aea22018-08-23 22:08:02 -070013872 "false_next" : "node_82"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013873 },
13874 {
Charles Chan384aea22018-08-23 22:08:02 -070013875 "name" : "node_82",
13876 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013877 "source_info" : {
13878 "filename" : "include/control/packetio.p4",
13879 "line" : 46,
13880 "column" : 16,
13881 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
13882 },
13883 "expression" : {
13884 "type" : "expression",
13885 "value" : {
13886 "op" : "and",
13887 "left" : {
13888 "type" : "expression",
13889 "value" : {
13890 "op" : "==",
13891 "left" : {
13892 "type" : "expression",
13893 "value" : {
13894 "op" : "d2b",
13895 "left" : null,
13896 "right" : {
13897 "type" : "field",
13898 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13899 }
13900 }
13901 },
13902 "right" : {
13903 "type" : "bool",
13904 "value" : true
13905 }
13906 }
13907 },
13908 "right" : {
13909 "type" : "expression",
13910 "value" : {
13911 "op" : "==",
13912 "left" : {
13913 "type" : "expression",
13914 "value" : {
13915 "op" : "d2b",
13916 "left" : null,
13917 "right" : {
13918 "type" : "field",
13919 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
13920 }
13921 }
13922 },
13923 "right" : {
13924 "type" : "bool",
13925 "value" : false
13926 }
13927 }
13928 }
13929 }
13930 },
13931 "true_next" : "tbl_drop_now_1",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070013932 "false_next" : "tbl_act_31"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013933 },
13934 {
Charles Chan384aea22018-08-23 22:08:02 -070013935 "name" : "node_85",
13936 "id" : 27,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013937 "source_info" : {
13938 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013939 "line" : 221,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013940 "column" : 12,
13941 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
13942 },
13943 "expression" : {
13944 "type" : "expression",
13945 "value" : {
13946 "op" : "==",
13947 "left" : {
13948 "type" : "field",
13949 "value" : ["userMetadata.spgw", "direction"]
13950 },
13951 "right" : {
13952 "type" : "hexstr",
13953 "value" : "0x02"
13954 }
13955 }
13956 },
13957 "true_next" : "tbl_spgw_egress_gtpu_encap",
Charles Chan384aea22018-08-23 22:08:02 -070013958 "false_next" : "node_87"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013959 },
13960 {
Charles Chan384aea22018-08-23 22:08:02 -070013961 "name" : "node_87",
13962 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013963 "source_info" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013964 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013965 "line" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013966 "column" : 12,
13967 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
13968 },
13969 "expression" : {
13970 "type" : "expression",
13971 "value" : {
13972 "op" : "and",
13973 "left" : {
13974 "type" : "expression",
13975 "value" : {
13976 "op" : "and",
13977 "left" : {
13978 "type" : "expression",
13979 "value" : {
13980 "op" : "!=",
13981 "left" : {
13982 "type" : "field",
13983 "value" : ["standard_metadata", "ingress_port"]
13984 },
13985 "right" : {
13986 "type" : "hexstr",
13987 "value" : "0x00ff"
13988 }
13989 }
13990 },
13991 "right" : {
13992 "type" : "expression",
13993 "value" : {
13994 "op" : "!=",
13995 "left" : {
13996 "type" : "field",
13997 "value" : ["standard_metadata", "egress_port"]
13998 },
13999 "right" : {
14000 "type" : "hexstr",
14001 "value" : "0x00ff"
14002 }
14003 }
14004 }
14005 }
14006 },
14007 "right" : {
14008 "type" : "expression",
14009 "value" : {
14010 "op" : "or",
14011 "left" : {
14012 "type" : "expression",
14013 "value" : {
14014 "op" : "d2b",
14015 "left" : null,
14016 "right" : {
14017 "type" : "field",
14018 "value" : ["udp", "$valid$"]
14019 }
14020 }
14021 },
14022 "right" : {
14023 "type" : "expression",
14024 "value" : {
14025 "op" : "d2b",
14026 "left" : null,
14027 "right" : {
14028 "type" : "field",
14029 "value" : ["tcp", "$valid$"]
14030 }
14031 }
14032 }
14033 }
14034 }
14035 }
14036 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014037 "false_next" : null,
Charles Chan384aea22018-08-23 22:08:02 -070014038 "true_next" : "node_88"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014039 },
14040 {
Charles Chan384aea22018-08-23 22:08:02 -070014041 "name" : "node_88",
14042 "id" : 29,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014043 "source_info" : {
14044 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014045 "line" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014046 "column" : 16,
14047 "source_fragment" : "fabric_metadata.int_meta.source == 1"
14048 },
14049 "expression" : {
14050 "type" : "expression",
14051 "value" : {
14052 "op" : "==",
14053 "left" : {
14054 "type" : "field",
14055 "value" : ["userMetadata.int_meta", "source"]
14056 },
14057 "right" : {
14058 "type" : "hexstr",
14059 "value" : "0x01"
14060 }
14061 }
14062 },
14063 "true_next" : "FabricEgress.process_int_source.tb_int_source",
Charles Chan384aea22018-08-23 22:08:02 -070014064 "false_next" : "node_90"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014065 },
14066 {
Charles Chan384aea22018-08-23 22:08:02 -070014067 "name" : "node_90",
14068 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014069 "source_info" : {
14070 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014071 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014072 "column" : 15,
14073 "source_fragment" : "hdr.int_header.isValid()"
14074 },
14075 "expression" : {
14076 "type" : "expression",
14077 "value" : {
14078 "op" : "d2b",
14079 "left" : null,
14080 "right" : {
14081 "type" : "field",
14082 "value" : ["int_header", "$valid$"]
14083 }
14084 }
14085 },
14086 "false_next" : null,
14087 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
14088 },
14089 {
Charles Chan384aea22018-08-23 22:08:02 -070014090 "name" : "node_95",
14091 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014092 "source_info" : {
14093 "filename" : "include/int_transit.p4",
14094 "line" : 314,
14095 "column" : 12,
14096 "source_fragment" : "hdr.ipv4.isValid()"
14097 },
14098 "expression" : {
14099 "type" : "expression",
14100 "value" : {
14101 "op" : "d2b",
14102 "left" : null,
14103 "right" : {
14104 "type" : "field",
14105 "value" : ["ipv4", "$valid$"]
14106 }
14107 }
14108 },
14109 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
Charles Chan384aea22018-08-23 22:08:02 -070014110 "false_next" : "node_97"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014111 },
14112 {
Charles Chan384aea22018-08-23 22:08:02 -070014113 "name" : "node_97",
14114 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014115 "source_info" : {
14116 "filename" : "include/int_transit.p4",
14117 "line" : 317,
14118 "column" : 12,
14119 "source_fragment" : "hdr.udp.isValid()"
14120 },
14121 "expression" : {
14122 "type" : "expression",
14123 "value" : {
14124 "op" : "d2b",
14125 "left" : null,
14126 "right" : {
14127 "type" : "field",
14128 "value" : ["udp", "$valid$"]
14129 }
14130 }
14131 },
14132 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
Charles Chan384aea22018-08-23 22:08:02 -070014133 "false_next" : "node_99"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014134 },
14135 {
Charles Chan384aea22018-08-23 22:08:02 -070014136 "name" : "node_99",
14137 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014138 "source_info" : {
14139 "filename" : "include/int_transit.p4",
14140 "line" : 320,
14141 "column" : 12,
14142 "source_fragment" : "hdr.intl4_shim.isValid()"
14143 },
14144 "expression" : {
14145 "type" : "expression",
14146 "value" : {
14147 "op" : "d2b",
14148 "left" : null,
14149 "right" : {
14150 "type" : "field",
14151 "value" : ["intl4_shim", "$valid$"]
14152 }
14153 }
14154 },
14155 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
Charles Chan384aea22018-08-23 22:08:02 -070014156 "false_next" : "node_101"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014157 },
14158 {
Charles Chan384aea22018-08-23 22:08:02 -070014159 "name" : "node_101",
14160 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014161 "source_info" : {
14162 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014163 "line" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014164 "column" : 20,
14165 "source_fragment" : "standard_metadata.instance_type == 1"
14166 },
14167 "expression" : {
14168 "type" : "expression",
14169 "value" : {
14170 "op" : "==",
14171 "left" : {
14172 "type" : "field",
14173 "value" : ["standard_metadata", "instance_type"]
14174 },
14175 "right" : {
14176 "type" : "hexstr",
14177 "value" : "0x00000001"
14178 }
14179 }
14180 },
14181 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
Charles Chan384aea22018-08-23 22:08:02 -070014182 "false_next" : "node_103"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014183 },
14184 {
Charles Chan384aea22018-08-23 22:08:02 -070014185 "name" : "node_103",
14186 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014187 "source_info" : {
14188 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014189 "line" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014190 "column" : 20,
14191 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
14192 },
14193 "expression" : {
14194 "type" : "expression",
14195 "value" : {
14196 "op" : "==",
14197 "left" : {
14198 "type" : "field",
14199 "value" : ["userMetadata.int_meta", "sink"]
14200 },
14201 "right" : {
14202 "type" : "hexstr",
14203 "value" : "0x01"
14204 }
14205 }
14206 },
14207 "false_next" : null,
14208 "true_next" : "tbl_process_int_sink_restore_header"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014209 }
14210 ]
14211 }
14212 ],
14213 "checksums" : [
14214 {
14215 "name" : "cksum",
14216 "id" : 0,
14217 "target" : ["ipv4", "hdr_checksum"],
14218 "type" : "generic",
14219 "calculation" : "calc",
14220 "if_cond" : {
14221 "type" : "expression",
14222 "value" : {
14223 "op" : "d2b",
14224 "left" : null,
14225 "right" : {
14226 "type" : "field",
14227 "value" : ["ipv4", "$valid$"]
14228 }
14229 }
14230 }
14231 },
14232 {
14233 "name" : "cksum_0",
14234 "id" : 1,
14235 "target" : ["gtpu_ipv4", "hdr_checksum"],
14236 "type" : "generic",
14237 "calculation" : "calc_0",
14238 "if_cond" : {
14239 "type" : "expression",
14240 "value" : {
14241 "op" : "d2b",
14242 "left" : null,
14243 "right" : {
14244 "type" : "field",
14245 "value" : ["gtpu_ipv4", "$valid$"]
14246 }
14247 }
14248 }
14249 },
14250 {
14251 "name" : "cksum_1",
14252 "id" : 2,
14253 "target" : ["ipv4", "hdr_checksum"],
14254 "type" : "generic",
14255 "calculation" : "calc_1",
14256 "if_cond" : {
14257 "type" : "expression",
14258 "value" : {
14259 "op" : "d2b",
14260 "left" : null,
14261 "right" : {
14262 "type" : "field",
14263 "value" : ["ipv4", "$valid$"]
14264 }
14265 }
14266 }
14267 }
14268 ],
14269 "force_arith" : [],
14270 "extern_instances" : [],
14271 "field_aliases" : [
14272 [
14273 "queueing_metadata.enq_timestamp",
14274 ["standard_metadata", "enq_timestamp"]
14275 ],
14276 [
14277 "queueing_metadata.enq_qdepth",
14278 ["standard_metadata", "enq_qdepth"]
14279 ],
14280 [
14281 "queueing_metadata.deq_timedelta",
14282 ["standard_metadata", "deq_timedelta"]
14283 ],
14284 [
14285 "queueing_metadata.deq_qdepth",
14286 ["standard_metadata", "deq_qdepth"]
14287 ],
14288 [
14289 "intrinsic_metadata.ingress_global_timestamp",
14290 ["standard_metadata", "ingress_global_timestamp"]
14291 ],
14292 [
14293 "intrinsic_metadata.egress_global_timestamp",
14294 ["standard_metadata", "egress_global_timestamp"]
14295 ],
14296 [
14297 "intrinsic_metadata.lf_field_list",
14298 ["standard_metadata", "lf_field_list"]
14299 ],
14300 [
14301 "intrinsic_metadata.mcast_grp",
14302 ["standard_metadata", "mcast_grp"]
14303 ],
14304 [
14305 "intrinsic_metadata.resubmit_flag",
14306 ["standard_metadata", "resubmit_flag"]
14307 ],
14308 [
14309 "intrinsic_metadata.egress_rid",
14310 ["standard_metadata", "egress_rid"]
14311 ],
14312 [
14313 "intrinsic_metadata.recirculate_flag",
14314 ["standard_metadata", "recirculate_flag"]
14315 ]
14316 ],
14317 "program" : "fabric.p4",
14318 "__meta__" : {
14319 "version" : [2, 18],
14320 "compiler" : "https://github.com/p4lang/p4c"
14321 }
14322}