blob: 520f2b1853197936882c0e97054bea4429176c65 [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 Cascone1e8843f2018-07-19 19:01:12 +020016 ["next_tmp_2", 1, false],
17 ["next_tmp_3", 1, false],
18 ["next_tmp_4", 1, false],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070019 ["spgw_normalizer_hasReturned_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020020 ["spgw_ingress_hasReturned_0", 1, false],
21 ["next_hasReturned_0", 1, false],
22 ["fabric_metadata_t.fwd_type", 3, false],
23 ["fabric_metadata_t.next_id", 32, false],
24 ["fabric_metadata_t.pop_vlan_when_packet_in", 1, false],
25 ["fabric_metadata_t.is_multicast", 1, false],
26 ["fabric_metadata_t.clone_to_cpu", 1, false],
27 ["fabric_metadata_t.ip_proto", 8, false],
28 ["fabric_metadata_t.l4_src_port", 16, false],
29 ["fabric_metadata_t.l4_dst_port", 16, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090030 ["fabric_metadata_t.compute_checksum", 1, false],
Charles Chancf696e52018-08-16 16:25:13 -070031 ["_padding_2", 3, false]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020032 ]
33 },
34 {
35 "name" : "standard_metadata",
36 "id" : 1,
37 "fields" : [
38 ["ingress_port", 9, false],
39 ["egress_spec", 9, false],
40 ["egress_port", 9, false],
41 ["clone_spec", 32, false],
42 ["instance_type", 32, false],
43 ["drop", 1, false],
44 ["recirculate_port", 16, false],
45 ["packet_length", 32, false],
46 ["enq_timestamp", 32, false],
47 ["enq_qdepth", 19, false],
48 ["deq_timedelta", 32, false],
49 ["deq_qdepth", 19, false],
50 ["ingress_global_timestamp", 48, false],
51 ["egress_global_timestamp", 48, false],
52 ["lf_field_list", 32, false],
53 ["mcast_grp", 16, false],
54 ["resubmit_flag", 32, false],
55 ["egress_rid", 16, false],
56 ["checksum_error", 1, false],
57 ["recirculate_flag", 32, false],
58 ["_padding", 5, false]
59 ]
60 },
61 {
62 "name" : "ethernet_t",
63 "id" : 2,
64 "fields" : [
65 ["dst_addr", 48, false],
66 ["src_addr", 48, false],
67 ["ether_type", 16, false]
68 ]
69 },
70 {
71 "name" : "vlan_tag_t",
72 "id" : 3,
73 "fields" : [
74 ["pri", 3, false],
75 ["cfi", 1, false],
76 ["vlan_id", 12, false],
77 ["ether_type", 16, false]
78 ]
79 },
80 {
81 "name" : "mpls_t",
82 "id" : 4,
83 "fields" : [
84 ["label", 20, false],
85 ["tc", 3, false],
86 ["bos", 1, false],
87 ["ttl", 8, false]
88 ]
89 },
90 {
91 "name" : "ipv4_t",
92 "id" : 5,
93 "fields" : [
94 ["version", 4, false],
95 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090096 ["dscp", 6, false],
97 ["ecn", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020098 ["total_len", 16, false],
99 ["identification", 16, false],
100 ["flags", 3, false],
101 ["frag_offset", 13, false],
102 ["ttl", 8, false],
103 ["protocol", 8, false],
104 ["hdr_checksum", 16, false],
105 ["src_addr", 32, false],
106 ["dst_addr", 32, false]
107 ]
108 },
109 {
110 "name" : "udp_t",
111 "id" : 6,
112 "fields" : [
113 ["src_port", 16, false],
114 ["dst_port", 16, false],
115 ["len", 16, false],
116 ["checksum", 16, false]
117 ]
118 },
119 {
120 "name" : "gtpu_t",
121 "id" : 7,
122 "fields" : [
123 ["version", 3, false],
124 ["pt", 1, false],
125 ["spare", 1, false],
126 ["ex_flag", 1, false],
127 ["seq_flag", 1, false],
128 ["npdu_flag", 1, false],
129 ["msgtype", 8, false],
130 ["msglen", 16, false],
131 ["teid", 32, false]
132 ]
133 },
134 {
135 "name" : "ipv6_t",
136 "id" : 8,
137 "fields" : [
138 ["version", 4, false],
139 ["traffic_class", 8, false],
140 ["flow_label", 20, false],
141 ["payload_len", 16, false],
142 ["next_hdr", 8, false],
143 ["hop_limit", 8, false],
144 ["src_addr", 128, false],
145 ["dst_addr", 128, false]
146 ]
147 },
148 {
149 "name" : "arp_t",
150 "id" : 9,
151 "fields" : [
152 ["hw_type", 16, false],
153 ["proto_type", 16, false],
154 ["hw_addr_len", 8, false],
155 ["proto_addr_len", 8, false],
156 ["opcode", 16, false]
157 ]
158 },
159 {
160 "name" : "tcp_t",
161 "id" : 10,
162 "fields" : [
163 ["src_port", 16, false],
164 ["dst_port", 16, false],
165 ["seq_no", 32, false],
166 ["ack_no", 32, false],
167 ["data_offset", 4, false],
168 ["res", 3, false],
169 ["ecn", 3, false],
170 ["ctrl", 6, false],
171 ["window", 16, false],
172 ["checksum", 16, false],
173 ["urgent_ptr", 16, false]
174 ]
175 },
176 {
177 "name" : "icmp_t",
178 "id" : 11,
179 "fields" : [
180 ["icmp_type", 8, false],
181 ["icmp_code", 8, false],
182 ["checksum", 16, false],
183 ["identifier", 16, false],
184 ["sequence_number", 16, false],
185 ["timestamp", 64, false]
186 ]
187 },
188 {
189 "name" : "packet_out_header_t",
190 "id" : 12,
191 "fields" : [
192 ["egress_port", 9, false],
193 ["_pad", 7, false]
194 ]
195 },
196 {
197 "name" : "packet_in_header_t",
198 "id" : 13,
199 "fields" : [
200 ["ingress_port", 9, false],
201 ["_pad", 7, false]
202 ]
203 },
204 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900205 "name" : "report_fixed_header_t",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200206 "id" : 14,
207 "fields" : [
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900208 ["ver", 4, false],
209 ["nproto", 4, false],
210 ["d", 1, false],
211 ["q", 1, false],
212 ["f", 1, false],
213 ["rsvd", 15, false],
214 ["hw_id", 6, false],
215 ["seq_no", 32, false],
216 ["ingress_tstamp", 32, false]
217 ]
218 },
219 {
220 "name" : "drop_report_header_t",
221 "id" : 15,
222 "fields" : [
223 ["switch_id", 32, false],
224 ["ingress_port_id", 16, false],
225 ["egress_port_id", 16, false],
226 ["queue_id", 8, false],
227 ["drop_reason", 8, false],
228 ["pad", 16, false]
229 ]
230 },
231 {
232 "name" : "local_report_header_t",
233 "id" : 16,
234 "fields" : [
235 ["switch_id", 32, false],
236 ["ingress_port_id", 16, false],
237 ["egress_port_id", 16, false],
238 ["queue_id", 8, false],
239 ["queue_occupancy", 24, false],
240 ["egress_tstamp", 32, false]
241 ]
242 },
243 {
244 "name" : "intl4_shim_t",
245 "id" : 17,
246 "fields" : [
247 ["int_type", 8, false],
248 ["rsvd1", 8, false],
249 ["len", 8, false],
250 ["rsvd2", 8, false]
251 ]
252 },
253 {
254 "name" : "int_header_t",
255 "id" : 18,
256 "fields" : [
257 ["ver", 2, false],
258 ["rep", 2, false],
259 ["c", 1, false],
260 ["e", 1, false],
261 ["rsvd1", 5, false],
262 ["ins_cnt", 5, false],
263 ["max_hop_cnt", 8, false],
264 ["total_hop_cnt", 8, false],
265 ["instruction_mask_0003", 4, false],
266 ["instruction_mask_0407", 4, false],
267 ["instruction_mask_0811", 4, false],
268 ["instruction_mask_1215", 4, false],
269 ["rsvd2", 16, false]
270 ]
271 },
272 {
273 "name" : "int_data_t",
274 "id" : 19,
275 "fields" : [
276 ["data", "*"]
277 ],
278 "max_length" : 1004
279 },
280 {
281 "name" : "int_switch_id_t",
282 "id" : 20,
283 "fields" : [
284 ["switch_id", 32, false]
285 ]
286 },
287 {
288 "name" : "int_port_ids_t",
289 "id" : 21,
290 "fields" : [
291 ["ingress_port_id", 16, false],
292 ["egress_port_id", 16, false]
293 ]
294 },
295 {
296 "name" : "int_hop_latency_t",
297 "id" : 22,
298 "fields" : [
299 ["hop_latency", 32, false]
300 ]
301 },
302 {
303 "name" : "int_q_occupancy_t",
304 "id" : 23,
305 "fields" : [
306 ["q_id", 8, false],
307 ["q_occupancy", 24, false]
308 ]
309 },
310 {
311 "name" : "int_ingress_tstamp_t",
312 "id" : 24,
313 "fields" : [
314 ["ingress_tstamp", 32, false]
315 ]
316 },
317 {
318 "name" : "int_egress_tstamp_t",
319 "id" : 25,
320 "fields" : [
321 ["egress_tstamp", 32, false]
322 ]
323 },
324 {
325 "name" : "int_q_congestion_t",
326 "id" : 26,
327 "fields" : [
328 ["q_id", 8, false],
329 ["q_congestion", 24, false]
330 ]
331 },
332 {
333 "name" : "int_egress_port_tx_util_t",
334 "id" : 27,
335 "fields" : [
336 ["egress_port_tx_util", 32, false]
337 ]
338 },
339 {
340 "name" : "intl4_tail_t",
341 "id" : 28,
342 "fields" : [
343 ["next_proto", 8, false],
344 ["dest_port", 16, false],
345 ["dscp", 8, false]
346 ]
347 },
348 {
349 "name" : "spgw_meta_t",
350 "id" : 29,
351 "fields" : [
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700352 ["direction", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200353 ["ipv4_len", 16, false],
354 ["teid", 32, false],
355 ["s1u_enb_addr", 32, false],
356 ["s1u_sgw_addr", 32, false],
357 ["_padding_0", 6, false]
358 ]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900359 },
360 {
361 "name" : "int_metadata_t",
362 "id" : 30,
363 "fields" : [
364 ["switch_id", 32, false],
365 ["insert_byte_cnt", 16, false],
366 ["source", 1, false],
367 ["sink", 1, false],
368 ["mirror_id", 8, false],
369 ["flow_id", 16, false],
370 ["metadata_len", 8, false],
371 ["_padding_1", 6, false]
372 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200373 }
374 ],
375 "headers" : [
376 {
377 "name" : "scalars",
378 "id" : 0,
379 "header_type" : "scalars_0",
380 "metadata" : true,
381 "pi_omit" : true
382 },
383 {
384 "name" : "standard_metadata",
385 "id" : 1,
386 "header_type" : "standard_metadata",
387 "metadata" : true,
388 "pi_omit" : true
389 },
390 {
391 "name" : "ethernet",
392 "id" : 2,
393 "header_type" : "ethernet_t",
394 "metadata" : false,
395 "pi_omit" : true
396 },
397 {
398 "name" : "vlan_tag",
399 "id" : 3,
400 "header_type" : "vlan_tag_t",
401 "metadata" : false,
402 "pi_omit" : true
403 },
404 {
405 "name" : "mpls",
406 "id" : 4,
407 "header_type" : "mpls_t",
408 "metadata" : false,
409 "pi_omit" : true
410 },
411 {
412 "name" : "gtpu_ipv4",
413 "id" : 5,
414 "header_type" : "ipv4_t",
415 "metadata" : false,
416 "pi_omit" : true
417 },
418 {
419 "name" : "gtpu_udp",
420 "id" : 6,
421 "header_type" : "udp_t",
422 "metadata" : false,
423 "pi_omit" : true
424 },
425 {
426 "name" : "gtpu",
427 "id" : 7,
428 "header_type" : "gtpu_t",
429 "metadata" : false,
430 "pi_omit" : true
431 },
432 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700433 "name" : "inner_ipv4",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200434 "id" : 8,
435 "header_type" : "ipv4_t",
436 "metadata" : false,
437 "pi_omit" : true
438 },
439 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700440 "name" : "inner_udp",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200441 "id" : 9,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700442 "header_type" : "udp_t",
443 "metadata" : false,
444 "pi_omit" : true
445 },
446 {
447 "name" : "ipv4",
448 "id" : 10,
449 "header_type" : "ipv4_t",
450 "metadata" : false,
451 "pi_omit" : true
452 },
453 {
454 "name" : "ipv6",
455 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200456 "header_type" : "ipv6_t",
457 "metadata" : false,
458 "pi_omit" : true
459 },
460 {
461 "name" : "arp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700462 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200463 "header_type" : "arp_t",
464 "metadata" : false,
465 "pi_omit" : true
466 },
467 {
468 "name" : "tcp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700469 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200470 "header_type" : "tcp_t",
471 "metadata" : false,
472 "pi_omit" : true
473 },
474 {
475 "name" : "udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700476 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200477 "header_type" : "udp_t",
478 "metadata" : false,
479 "pi_omit" : true
480 },
481 {
482 "name" : "icmp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700483 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200484 "header_type" : "icmp_t",
485 "metadata" : false,
486 "pi_omit" : true
487 },
488 {
489 "name" : "packet_out",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700490 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200491 "header_type" : "packet_out_header_t",
492 "metadata" : false,
493 "pi_omit" : true
494 },
495 {
496 "name" : "packet_in",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700497 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200498 "header_type" : "packet_in_header_t",
499 "metadata" : false,
500 "pi_omit" : true
501 },
502 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900503 "name" : "report_ethernet",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700504 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900505 "header_type" : "ethernet_t",
506 "metadata" : false,
507 "pi_omit" : true
508 },
509 {
510 "name" : "report_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700511 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900512 "header_type" : "ipv4_t",
513 "metadata" : false,
514 "pi_omit" : true
515 },
516 {
517 "name" : "report_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700518 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900519 "header_type" : "udp_t",
520 "metadata" : false,
521 "pi_omit" : true
522 },
523 {
524 "name" : "report_fixed_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700525 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900526 "header_type" : "report_fixed_header_t",
527 "metadata" : false,
528 "pi_omit" : true
529 },
530 {
531 "name" : "report_local.drop_report_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700532 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900533 "header_type" : "drop_report_header_t",
534 "metadata" : false,
535 "pi_omit" : true
536 },
537 {
538 "name" : "report_local.local_report_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700539 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900540 "header_type" : "local_report_header_t",
541 "metadata" : false,
542 "pi_omit" : true
543 },
544 {
545 "name" : "intl4_shim",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700546 "id" : 24,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900547 "header_type" : "intl4_shim_t",
548 "metadata" : false,
549 "pi_omit" : true
550 },
551 {
552 "name" : "int_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700553 "id" : 25,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900554 "header_type" : "int_header_t",
555 "metadata" : false,
556 "pi_omit" : true
557 },
558 {
559 "name" : "int_data",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700560 "id" : 26,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900561 "header_type" : "int_data_t",
562 "metadata" : false,
563 "pi_omit" : true
564 },
565 {
566 "name" : "int_switch_id",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700567 "id" : 27,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900568 "header_type" : "int_switch_id_t",
569 "metadata" : false,
570 "pi_omit" : true
571 },
572 {
573 "name" : "int_port_ids",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700574 "id" : 28,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900575 "header_type" : "int_port_ids_t",
576 "metadata" : false,
577 "pi_omit" : true
578 },
579 {
580 "name" : "int_hop_latency",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700581 "id" : 29,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900582 "header_type" : "int_hop_latency_t",
583 "metadata" : false,
584 "pi_omit" : true
585 },
586 {
587 "name" : "int_q_occupancy",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700588 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900589 "header_type" : "int_q_occupancy_t",
590 "metadata" : false,
591 "pi_omit" : true
592 },
593 {
594 "name" : "int_ingress_tstamp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700595 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900596 "header_type" : "int_ingress_tstamp_t",
597 "metadata" : false,
598 "pi_omit" : true
599 },
600 {
601 "name" : "int_egress_tstamp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700602 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900603 "header_type" : "int_egress_tstamp_t",
604 "metadata" : false,
605 "pi_omit" : true
606 },
607 {
608 "name" : "int_q_congestion",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700609 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900610 "header_type" : "int_q_congestion_t",
611 "metadata" : false,
612 "pi_omit" : true
613 },
614 {
615 "name" : "int_egress_tx_util",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700616 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900617 "header_type" : "int_egress_port_tx_util_t",
618 "metadata" : false,
619 "pi_omit" : true
620 },
621 {
622 "name" : "intl4_tail",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700623 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900624 "header_type" : "intl4_tail_t",
625 "metadata" : false,
626 "pi_omit" : true
627 },
628 {
629 "name" : "userMetadata.spgw",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700630 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200631 "header_type" : "spgw_meta_t",
632 "metadata" : true,
633 "pi_omit" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900634 },
635 {
636 "name" : "userMetadata.int_meta",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700637 "id" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900638 "header_type" : "int_metadata_t",
639 "metadata" : true,
640 "pi_omit" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200641 }
642 ],
643 "header_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900644 "header_union_types" : [
645 {
646 "name" : "local_report_t",
647 "id" : 0,
648 "headers" : [
649 ["drop_report_header", "drop_report_header_t"],
650 ["local_report_header", "local_report_header_t"]
651 ]
652 }
653 ],
654 "header_unions" : [
655 {
656 "name" : "report_local",
657 "id" : 0,
658 "union_type" : "local_report_t",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700659 "header_ids" : [22, 23],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900660 "pi_omit" : true
661 }
662 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200663 "header_union_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900664 "field_lists" : [
665 {
666 "id" : 1,
667 "name" : "fl",
668 "elements" : []
669 }
670 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200671 "errors" : [],
672 "enums" : [],
673 "parsers" : [
674 {
675 "name" : "parser",
676 "id" : 0,
677 "init_state" : "start",
678 "parse_states" : [
679 {
680 "name" : "start",
681 "id" : 0,
682 "parser_ops" : [],
683 "transitions" : [
684 {
685 "type" : "hexstr",
686 "value" : "0x00ff",
687 "mask" : null,
688 "next_state" : "parse_packet_out"
689 },
690 {
691 "value" : "default",
692 "mask" : null,
693 "next_state" : "parse_ethernet"
694 }
695 ],
696 "transition_key" : [
697 {
698 "type" : "field",
699 "value" : ["standard_metadata", "ingress_port"]
700 }
701 ]
702 },
703 {
704 "name" : "parse_packet_out",
705 "id" : 1,
706 "parser_ops" : [
707 {
708 "parameters" : [
709 {
710 "type" : "regular",
711 "value" : "packet_out"
712 }
713 ],
714 "op" : "extract"
715 }
716 ],
717 "transitions" : [
718 {
719 "value" : "default",
720 "mask" : null,
721 "next_state" : "parse_ethernet"
722 }
723 ],
724 "transition_key" : []
725 },
726 {
727 "name" : "parse_ethernet",
728 "id" : 2,
729 "parser_ops" : [
730 {
731 "parameters" : [
732 {
733 "type" : "regular",
734 "value" : "ethernet"
735 }
736 ],
737 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200738 }
739 ],
740 "transitions" : [
741 {
742 "type" : "hexstr",
743 "value" : "0x8100",
744 "mask" : null,
745 "next_state" : "parse_vlan_tag"
746 },
747 {
748 "type" : "hexstr",
749 "value" : "0x8847",
750 "mask" : null,
751 "next_state" : "parse_mpls"
752 },
753 {
754 "type" : "hexstr",
755 "value" : "0x0806",
756 "mask" : null,
757 "next_state" : "parse_arp"
758 },
759 {
760 "type" : "hexstr",
761 "value" : "0x0800",
762 "mask" : null,
763 "next_state" : "parse_ipv4"
764 },
765 {
766 "type" : "hexstr",
767 "value" : "0x86dd",
768 "mask" : null,
769 "next_state" : "parse_ipv6"
770 },
771 {
772 "value" : "default",
773 "mask" : null,
774 "next_state" : null
775 }
776 ],
777 "transition_key" : [
778 {
779 "type" : "field",
780 "value" : ["ethernet", "ether_type"]
781 }
782 ]
783 },
784 {
785 "name" : "parse_vlan_tag",
786 "id" : 3,
787 "parser_ops" : [
788 {
789 "parameters" : [
790 {
791 "type" : "regular",
792 "value" : "vlan_tag"
793 }
794 ],
795 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200796 }
797 ],
798 "transitions" : [
799 {
800 "type" : "hexstr",
801 "value" : "0x0806",
802 "mask" : null,
803 "next_state" : "parse_arp"
804 },
805 {
806 "type" : "hexstr",
807 "value" : "0x0800",
808 "mask" : null,
809 "next_state" : "parse_ipv4"
810 },
811 {
812 "type" : "hexstr",
813 "value" : "0x86dd",
814 "mask" : null,
815 "next_state" : "parse_ipv6"
816 },
817 {
818 "type" : "hexstr",
819 "value" : "0x8847",
820 "mask" : null,
821 "next_state" : "parse_mpls"
822 },
823 {
824 "value" : "default",
825 "mask" : null,
826 "next_state" : null
827 }
828 ],
829 "transition_key" : [
830 {
831 "type" : "field",
832 "value" : ["vlan_tag", "ether_type"]
833 }
834 ]
835 },
836 {
837 "name" : "parse_mpls",
838 "id" : 4,
839 "parser_ops" : [
840 {
841 "parameters" : [
842 {
843 "type" : "regular",
844 "value" : "mpls"
845 }
846 ],
847 "op" : "extract"
848 },
849 {
850 "parameters" : [
851 {
852 "type" : "field",
853 "value" : ["scalars", "tmp"]
854 },
855 {
856 "type" : "lookahead",
857 "value" : [0, 4]
858 }
859 ],
860 "op" : "set"
861 }
862 ],
863 "transitions" : [
864 {
865 "type" : "hexstr",
866 "value" : "0x04",
867 "mask" : null,
868 "next_state" : "parse_ipv4"
869 },
870 {
871 "type" : "hexstr",
872 "value" : "0x06",
873 "mask" : null,
874 "next_state" : "parse_ipv6"
875 },
876 {
877 "value" : "default",
878 "mask" : null,
879 "next_state" : "parse_ethernet"
880 }
881 ],
882 "transition_key" : [
883 {
884 "type" : "field",
885 "value" : ["scalars", "tmp"]
886 }
887 ]
888 },
889 {
890 "name" : "parse_ipv4",
891 "id" : 5,
892 "parser_ops" : [
893 {
894 "parameters" : [
895 {
896 "type" : "regular",
897 "value" : "ipv4"
898 }
899 ],
900 "op" : "extract"
901 },
902 {
903 "parameters" : [
904 {
905 "type" : "field",
906 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
907 },
908 {
909 "type" : "field",
910 "value" : ["ipv4", "protocol"]
911 }
912 ],
913 "op" : "set"
914 }
915 ],
916 "transitions" : [
917 {
918 "type" : "hexstr",
919 "value" : "0x06",
920 "mask" : null,
921 "next_state" : "parse_tcp"
922 },
923 {
924 "type" : "hexstr",
925 "value" : "0x11",
926 "mask" : null,
927 "next_state" : "parse_udp"
928 },
929 {
930 "type" : "hexstr",
931 "value" : "0x01",
932 "mask" : null,
933 "next_state" : "parse_icmp"
934 },
935 {
936 "value" : "default",
937 "mask" : null,
938 "next_state" : null
939 }
940 ],
941 "transition_key" : [
942 {
943 "type" : "field",
944 "value" : ["ipv4", "protocol"]
945 }
946 ]
947 },
948 {
949 "name" : "parse_ipv6",
950 "id" : 6,
951 "parser_ops" : [
952 {
953 "parameters" : [
954 {
955 "type" : "regular",
956 "value" : "ipv6"
957 }
958 ],
959 "op" : "extract"
960 },
961 {
962 "parameters" : [
963 {
964 "type" : "field",
965 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
966 },
967 {
968 "type" : "field",
969 "value" : ["ipv6", "next_hdr"]
970 }
971 ],
972 "op" : "set"
973 }
974 ],
975 "transitions" : [
976 {
977 "type" : "hexstr",
978 "value" : "0x06",
979 "mask" : null,
980 "next_state" : "parse_tcp"
981 },
982 {
983 "type" : "hexstr",
984 "value" : "0x11",
985 "mask" : null,
986 "next_state" : "parse_udp"
987 },
988 {
989 "type" : "hexstr",
990 "value" : "0x3a",
991 "mask" : null,
992 "next_state" : "parse_icmp"
993 },
994 {
995 "value" : "default",
996 "mask" : null,
997 "next_state" : null
998 }
999 ],
1000 "transition_key" : [
1001 {
1002 "type" : "field",
1003 "value" : ["ipv6", "next_hdr"]
1004 }
1005 ]
1006 },
1007 {
1008 "name" : "parse_arp",
1009 "id" : 7,
1010 "parser_ops" : [
1011 {
1012 "parameters" : [
1013 {
1014 "type" : "regular",
1015 "value" : "arp"
1016 }
1017 ],
1018 "op" : "extract"
1019 }
1020 ],
1021 "transitions" : [
1022 {
1023 "value" : "default",
1024 "mask" : null,
1025 "next_state" : null
1026 }
1027 ],
1028 "transition_key" : []
1029 },
1030 {
1031 "name" : "parse_tcp",
1032 "id" : 8,
1033 "parser_ops" : [
1034 {
1035 "parameters" : [
1036 {
1037 "type" : "regular",
1038 "value" : "tcp"
1039 }
1040 ],
1041 "op" : "extract"
1042 },
1043 {
1044 "parameters" : [
1045 {
1046 "type" : "field",
1047 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1048 },
1049 {
1050 "type" : "field",
1051 "value" : ["tcp", "src_port"]
1052 }
1053 ],
1054 "op" : "set"
1055 },
1056 {
1057 "parameters" : [
1058 {
1059 "type" : "field",
1060 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1061 },
1062 {
1063 "type" : "field",
1064 "value" : ["tcp", "dst_port"]
1065 }
1066 ],
1067 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001068 },
1069 {
1070 "parameters" : [
1071 {
1072 "type" : "field",
1073 "value" : ["scalars", "tmp_0"]
1074 },
1075 {
1076 "type" : "expression",
1077 "value" : {
1078 "type" : "expression",
1079 "value" : {
1080 "op" : "?",
1081 "left" : {
1082 "type" : "hexstr",
1083 "value" : "0x01"
1084 },
1085 "right" : {
1086 "type" : "hexstr",
1087 "value" : "0x00"
1088 },
1089 "cond" : {
1090 "type" : "expression",
1091 "value" : {
1092 "op" : "and",
1093 "left" : {
1094 "type" : "expression",
1095 "value" : {
1096 "op" : "d2b",
1097 "left" : null,
1098 "right" : {
1099 "type" : "field",
1100 "value" : ["ipv4", "$valid$"]
1101 }
1102 }
1103 },
1104 "right" : {
1105 "type" : "expression",
1106 "value" : {
1107 "op" : "==",
1108 "left" : {
1109 "type" : "expression",
1110 "value" : {
1111 "op" : "&",
1112 "left" : {
1113 "type" : "field",
1114 "value" : ["ipv4", "dscp"]
1115 },
1116 "right" : {
1117 "type" : "hexstr",
1118 "value" : "0x01"
1119 }
1120 }
1121 },
1122 "right" : {
1123 "type" : "hexstr",
1124 "value" : "0x01"
1125 }
1126 }
1127 }
1128 }
1129 }
1130 }
1131 }
1132 }
1133 ],
1134 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001135 }
1136 ],
1137 "transitions" : [
1138 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001139 "type" : "hexstr",
1140 "value" : "0x01",
1141 "mask" : null,
1142 "next_state" : "parse_intl4_shim"
1143 },
1144 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001145 "value" : "default",
1146 "mask" : null,
1147 "next_state" : null
1148 }
1149 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001150 "transition_key" : [
1151 {
1152 "type" : "field",
1153 "value" : ["scalars", "tmp_0"]
1154 }
1155 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001156 },
1157 {
1158 "name" : "parse_udp",
1159 "id" : 9,
1160 "parser_ops" : [
1161 {
1162 "parameters" : [
1163 {
1164 "type" : "regular",
1165 "value" : "udp"
1166 }
1167 ],
1168 "op" : "extract"
1169 },
1170 {
1171 "parameters" : [
1172 {
1173 "type" : "field",
1174 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1175 },
1176 {
1177 "type" : "field",
1178 "value" : ["udp", "src_port"]
1179 }
1180 ],
1181 "op" : "set"
1182 },
1183 {
1184 "parameters" : [
1185 {
1186 "type" : "field",
1187 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1188 },
1189 {
1190 "type" : "field",
1191 "value" : ["udp", "dst_port"]
1192 }
1193 ],
1194 "op" : "set"
1195 }
1196 ],
1197 "transitions" : [
1198 {
1199 "type" : "hexstr",
1200 "value" : "0x0868",
1201 "mask" : null,
1202 "next_state" : "parse_gtpu"
1203 },
1204 {
1205 "value" : "default",
1206 "mask" : null,
1207 "next_state" : null
1208 }
1209 ],
1210 "transition_key" : [
1211 {
1212 "type" : "field",
1213 "value" : ["udp", "dst_port"]
1214 }
1215 ]
1216 },
1217 {
1218 "name" : "parse_icmp",
1219 "id" : 10,
1220 "parser_ops" : [
1221 {
1222 "parameters" : [
1223 {
1224 "type" : "regular",
1225 "value" : "icmp"
1226 }
1227 ],
1228 "op" : "extract"
1229 }
1230 ],
1231 "transitions" : [
1232 {
1233 "value" : "default",
1234 "mask" : null,
1235 "next_state" : null
1236 }
1237 ],
1238 "transition_key" : []
1239 },
1240 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001241 "name" : "parse_intl4_shim",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001242 "id" : 11,
1243 "parser_ops" : [
1244 {
1245 "parameters" : [
1246 {
1247 "type" : "regular",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001248 "value" : "intl4_shim"
1249 }
1250 ],
1251 "op" : "extract"
1252 },
1253 {
1254 "parameters" : [
1255 {
1256 "type" : "regular",
1257 "value" : "int_header"
1258 }
1259 ],
1260 "op" : "extract"
1261 },
1262 {
1263 "parameters" : [
1264 {
1265 "type" : "field",
1266 "value" : ["userMetadata.int_meta", "metadata_len"]
1267 },
1268 {
1269 "type" : "expression",
1270 "value" : {
1271 "type" : "expression",
1272 "value" : {
1273 "op" : "&",
1274 "left" : {
1275 "type" : "expression",
1276 "value" : {
1277 "op" : "+",
1278 "left" : {
1279 "type" : "field",
1280 "value" : ["intl4_shim", "len"]
1281 },
1282 "right" : {
1283 "type" : "hexstr",
1284 "value" : "0xfc"
1285 }
1286 }
1287 },
1288 "right" : {
1289 "type" : "hexstr",
1290 "value" : "0xff"
1291 }
1292 }
1293 }
1294 }
1295 ],
1296 "op" : "set"
1297 }
1298 ],
1299 "transitions" : [
1300 {
1301 "type" : "hexstr",
1302 "value" : "0x00",
1303 "mask" : null,
1304 "next_state" : "parse_intl4_tail"
1305 },
1306 {
1307 "value" : "default",
1308 "mask" : null,
1309 "next_state" : "parse_int_data"
1310 }
1311 ],
1312 "transition_key" : [
1313 {
1314 "type" : "field",
1315 "value" : ["userMetadata.int_meta", "metadata_len"]
1316 }
1317 ]
1318 },
1319 {
1320 "name" : "parse_int_data",
1321 "id" : 12,
1322 "parser_ops" : [
1323 {
1324 "parameters" : [
1325 {
1326 "type" : "field",
1327 "value" : ["scalars", "tmp_1"]
1328 },
1329 {
1330 "type" : "expression",
1331 "value" : {
1332 "type" : "expression",
1333 "value" : {
1334 "op" : "&",
1335 "left" : {
1336 "type" : "expression",
1337 "value" : {
1338 "op" : "&",
1339 "left" : {
1340 "type" : "expression",
1341 "value" : {
1342 "op" : "<<",
1343 "left" : {
1344 "type" : "expression",
1345 "value" : {
1346 "op" : "&",
1347 "left" : {
1348 "type" : "expression",
1349 "value" : {
1350 "op" : "+",
1351 "left" : {
1352 "type" : "field",
1353 "value" : ["intl4_shim", "len"]
1354 },
1355 "right" : {
1356 "type" : "hexstr",
1357 "value" : "0xfc"
1358 }
1359 }
1360 },
1361 "right" : {
1362 "type" : "hexstr",
1363 "value" : "0xff"
1364 }
1365 }
1366 },
1367 "right" : {
1368 "type" : "hexstr",
1369 "value" : "0x5"
1370 }
1371 }
1372 },
1373 "right" : {
1374 "type" : "hexstr",
1375 "value" : "0xff"
1376 }
1377 }
1378 },
1379 "right" : {
1380 "type" : "hexstr",
1381 "value" : "0xffffffff"
1382 }
1383 }
1384 }
1385 }
1386 ],
1387 "op" : "set"
1388 },
1389 {
1390 "parameters" : [
1391 {
1392 "type" : "regular",
1393 "value" : "int_data"
1394 },
1395 {
1396 "type" : "expression",
1397 "value" : {
1398 "type" : "field",
1399 "value" : ["scalars", "tmp_1"]
1400 }
1401 }
1402 ],
1403 "op" : "extract_VL"
1404 }
1405 ],
1406 "transitions" : [
1407 {
1408 "value" : "default",
1409 "mask" : null,
1410 "next_state" : "parse_intl4_tail"
1411 }
1412 ],
1413 "transition_key" : []
1414 },
1415 {
1416 "name" : "parse_intl4_tail",
1417 "id" : 13,
1418 "parser_ops" : [
1419 {
1420 "parameters" : [
1421 {
1422 "type" : "regular",
1423 "value" : "intl4_tail"
1424 }
1425 ],
1426 "op" : "extract"
1427 }
1428 ],
1429 "transitions" : [
1430 {
1431 "value" : "default",
1432 "mask" : null,
1433 "next_state" : null
1434 }
1435 ],
1436 "transition_key" : []
1437 },
1438 {
1439 "name" : "parse_gtpu",
1440 "id" : 14,
1441 "parser_ops" : [
1442 {
1443 "parameters" : [
1444 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001445 "type" : "field",
1446 "value" : ["scalars", "tmp_2"]
1447 },
1448 {
1449 "type" : "expression",
1450 "value" : {
1451 "type" : "expression",
1452 "value" : {
1453 "op" : "&",
1454 "left" : {
Charles Chancf696e52018-08-16 16:25:13 -07001455 "type" : "expression",
1456 "value" : {
1457 "op" : "&",
1458 "left" : {
1459 "type" : "expression",
1460 "value" : {
1461 "op" : ">>",
1462 "left" : {
1463 "type" : "field",
1464 "value" : ["ipv4", "dst_addr"]
1465 },
1466 "right" : {
1467 "type" : "hexstr",
1468 "value" : "0x18"
1469 }
1470 }
1471 },
1472 "right" : {
1473 "type" : "hexstr",
1474 "value" : "0xffffffff"
1475 }
1476 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001477 },
1478 "right" : {
1479 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001480 "value" : "0xff"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001481 }
1482 }
1483 }
1484 }
1485 ],
1486 "op" : "set"
1487 }
1488 ],
1489 "transitions" : [
1490 {
1491 "type" : "hexstr",
Charles Chancf696e52018-08-16 16:25:13 -07001492 "value" : "0x8c",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001493 "mask" : null,
1494 "next_state" : "do_parse_gtpu"
1495 },
1496 {
1497 "value" : "default",
1498 "mask" : null,
1499 "next_state" : null
1500 }
1501 ],
1502 "transition_key" : [
1503 {
1504 "type" : "field",
1505 "value" : ["scalars", "tmp_2"]
1506 }
1507 ]
1508 },
1509 {
1510 "name" : "do_parse_gtpu",
1511 "id" : 15,
1512 "parser_ops" : [
1513 {
1514 "parameters" : [
1515 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001516 "type" : "regular",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001517 "value" : "gtpu"
1518 }
1519 ],
1520 "op" : "extract"
1521 },
1522 {
1523 "parameters" : [
1524 {
1525 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001526 "value" : "inner_ipv4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001527 }
1528 ],
1529 "op" : "extract"
1530 }
1531 ],
1532 "transitions" : [
1533 {
1534 "type" : "hexstr",
1535 "value" : "0x06",
1536 "mask" : null,
1537 "next_state" : "parse_tcp"
1538 },
1539 {
1540 "type" : "hexstr",
1541 "value" : "0x11",
1542 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001543 "next_state" : "parse_inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001544 },
1545 {
1546 "type" : "hexstr",
1547 "value" : "0x01",
1548 "mask" : null,
1549 "next_state" : "parse_icmp"
1550 },
1551 {
1552 "value" : "default",
1553 "mask" : null,
1554 "next_state" : null
1555 }
1556 ],
1557 "transition_key" : [
1558 {
1559 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001560 "value" : ["inner_ipv4", "protocol"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001561 }
1562 ]
1563 },
1564 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001565 "name" : "parse_inner_udp",
1566 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001567 "parser_ops" : [
1568 {
1569 "parameters" : [
1570 {
1571 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001572 "value" : "inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001573 }
1574 ],
1575 "op" : "extract"
1576 },
1577 {
1578 "parameters" : [
1579 {
1580 "type" : "field",
1581 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1582 },
1583 {
1584 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001585 "value" : ["inner_udp", "src_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001586 }
1587 ],
1588 "op" : "set"
1589 },
1590 {
1591 "parameters" : [
1592 {
1593 "type" : "field",
1594 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1595 },
1596 {
1597 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001598 "value" : ["inner_udp", "dst_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001599 }
1600 ],
1601 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001602 },
1603 {
1604 "parameters" : [
1605 {
1606 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001607 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001608 },
1609 {
1610 "type" : "expression",
1611 "value" : {
1612 "type" : "expression",
1613 "value" : {
1614 "op" : "?",
1615 "left" : {
1616 "type" : "hexstr",
1617 "value" : "0x01"
1618 },
1619 "right" : {
1620 "type" : "hexstr",
1621 "value" : "0x00"
1622 },
1623 "cond" : {
1624 "type" : "expression",
1625 "value" : {
1626 "op" : "and",
1627 "left" : {
1628 "type" : "expression",
1629 "value" : {
1630 "op" : "d2b",
1631 "left" : null,
1632 "right" : {
1633 "type" : "field",
1634 "value" : ["ipv4", "$valid$"]
1635 }
1636 }
1637 },
1638 "right" : {
1639 "type" : "expression",
1640 "value" : {
1641 "op" : "==",
1642 "left" : {
1643 "type" : "expression",
1644 "value" : {
1645 "op" : "&",
1646 "left" : {
1647 "type" : "field",
1648 "value" : ["ipv4", "dscp"]
1649 },
1650 "right" : {
1651 "type" : "hexstr",
1652 "value" : "0x01"
1653 }
1654 }
1655 },
1656 "right" : {
1657 "type" : "hexstr",
1658 "value" : "0x01"
1659 }
1660 }
1661 }
1662 }
1663 }
1664 }
1665 }
1666 }
1667 ],
1668 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001669 }
1670 ],
1671 "transitions" : [
1672 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001673 "type" : "hexstr",
1674 "value" : "0x01",
1675 "mask" : null,
1676 "next_state" : "parse_intl4_shim"
1677 },
1678 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001679 "value" : "default",
1680 "mask" : null,
1681 "next_state" : null
1682 }
1683 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001684 "transition_key" : [
1685 {
1686 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001687 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001688 }
1689 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001690 }
1691 ]
1692 }
1693 ],
1694 "parse_vsets" : [],
1695 "deparsers" : [
1696 {
1697 "name" : "deparser",
1698 "id" : 0,
1699 "source_info" : {
1700 "filename" : "include/parser.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001701 "line" : 223,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001702 "column" : 8,
1703 "source_fragment" : "FabricDeparser"
1704 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001705 "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 +02001706 }
1707 ],
1708 "meter_arrays" : [],
1709 "counter_arrays" : [
1710 {
1711 "name" : "FabricIngress.spgw_ingress.ue_counter",
1712 "id" : 0,
1713 "is_direct" : true,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001714 "binding" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001715 },
1716 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001717 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001718 "id" : 1,
1719 "is_direct" : true,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001720 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1721 },
1722 {
1723 "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
1724 "id" : 2,
1725 "is_direct" : true,
1726 "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
1727 },
1728 {
1729 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1730 "id" : 3,
1731 "is_direct" : true,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001732 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1733 },
1734 {
1735 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001736 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001737 "is_direct" : true,
1738 "binding" : "FabricIngress.filtering.fwd_classifier"
1739 },
1740 {
1741 "name" : "FabricIngress.forwarding.bridging_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001742 "id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001743 "is_direct" : true,
1744 "binding" : "FabricIngress.forwarding.bridging"
1745 },
1746 {
1747 "name" : "FabricIngress.forwarding.mpls_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001748 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001749 "is_direct" : true,
1750 "binding" : "FabricIngress.forwarding.mpls"
1751 },
1752 {
1753 "name" : "FabricIngress.forwarding.unicast_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001754 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001755 "is_direct" : true,
1756 "binding" : "FabricIngress.forwarding.unicast_v4"
1757 },
1758 {
1759 "name" : "FabricIngress.forwarding.acl_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001760 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001761 "is_direct" : true,
1762 "binding" : "FabricIngress.forwarding.acl"
1763 },
1764 {
1765 "name" : "FabricIngress.forwarding.multicast_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001766 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001767 "is_direct" : true,
1768 "binding" : "FabricIngress.forwarding.multicast_v4"
1769 },
1770 {
1771 "name" : "FabricIngress.forwarding.unicast_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001772 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001773 "is_direct" : true,
1774 "binding" : "FabricIngress.forwarding.unicast_v6"
1775 },
1776 {
1777 "name" : "FabricIngress.forwarding.multicast_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001778 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001779 "is_direct" : true,
1780 "binding" : "FabricIngress.forwarding.multicast_v6"
1781 },
1782 {
1783 "name" : "FabricIngress.next.vlan_meta_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001784 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001785 "is_direct" : true,
1786 "binding" : "FabricIngress.next.vlan_meta"
1787 },
1788 {
1789 "name" : "FabricIngress.next.simple_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001790 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001791 "is_direct" : true,
1792 "binding" : "FabricIngress.next.simple"
1793 },
1794 {
1795 "name" : "FabricIngress.next.hashed_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001796 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001797 "is_direct" : true,
1798 "binding" : "FabricIngress.next.hashed"
1799 },
1800 {
1801 "name" : "FabricIngress.next.multicast_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001802 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001803 "is_direct" : true,
1804 "binding" : "FabricIngress.next.multicast"
1805 },
1806 {
1807 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001808 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001809 "source_info" : {
1810 "filename" : "include/control/port_counter.p4",
1811 "line" : 23,
1812 "column" : 48,
1813 "source_fragment" : "egress_port_counter"
1814 },
1815 "size" : 511,
1816 "is_direct" : false
1817 },
1818 {
1819 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001820 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001821 "source_info" : {
1822 "filename" : "include/control/port_counter.p4",
1823 "line" : 24,
1824 "column" : 48,
1825 "source_fragment" : "ingress_port_counter"
1826 },
1827 "size" : 511,
1828 "is_direct" : false
1829 },
1830 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001831 "name" : "FabricEgress.process_int_source.counter_int_source",
1832 "id" : 18,
1833 "is_direct" : true,
1834 "binding" : "FabricEgress.process_int_source.tb_int_source"
1835 },
1836 {
1837 "name" : "FabricEgress.process_int_transit.counter_int_insert",
1838 "id" : 19,
1839 "is_direct" : true,
1840 "binding" : "FabricEgress.process_int_transit.tb_int_insert"
1841 },
1842 {
1843 "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
1844 "id" : 20,
1845 "is_direct" : true,
1846 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
1847 },
1848 {
1849 "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
1850 "id" : 21,
1851 "is_direct" : true,
1852 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
1853 },
1854 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001855 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001856 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001857 "is_direct" : true,
1858 "binding" : "FabricEgress.egress_next.egress_vlan"
1859 }
1860 ],
1861 "register_arrays" : [],
1862 "calculations" : [
1863 {
1864 "name" : "calc",
1865 "id" : 0,
1866 "source_info" : {
1867 "filename" : "include/checksum.p4",
1868 "line" : 28,
1869 "column" : 8,
1870 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1871 },
1872 "algo" : "csum16",
1873 "input" : [
1874 {
1875 "type" : "field",
1876 "value" : ["ipv4", "version"]
1877 },
1878 {
1879 "type" : "field",
1880 "value" : ["ipv4", "ihl"]
1881 },
1882 {
1883 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001884 "value" : ["ipv4", "dscp"]
1885 },
1886 {
1887 "type" : "field",
1888 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001889 },
1890 {
1891 "type" : "field",
1892 "value" : ["ipv4", "total_len"]
1893 },
1894 {
1895 "type" : "field",
1896 "value" : ["ipv4", "identification"]
1897 },
1898 {
1899 "type" : "field",
1900 "value" : ["ipv4", "flags"]
1901 },
1902 {
1903 "type" : "field",
1904 "value" : ["ipv4", "frag_offset"]
1905 },
1906 {
1907 "type" : "field",
1908 "value" : ["ipv4", "ttl"]
1909 },
1910 {
1911 "type" : "field",
1912 "value" : ["ipv4", "protocol"]
1913 },
1914 {
1915 "type" : "field",
1916 "value" : ["ipv4", "src_addr"]
1917 },
1918 {
1919 "type" : "field",
1920 "value" : ["ipv4", "dst_addr"]
1921 }
1922 ]
1923 },
1924 {
1925 "name" : "calc_0",
1926 "id" : 1,
1927 "source_info" : {
1928 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001929 "line" : 237,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001930 "column" : 8,
1931 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1932 },
1933 "algo" : "csum16",
1934 "input" : [
1935 {
1936 "type" : "field",
1937 "value" : ["gtpu_ipv4", "version"]
1938 },
1939 {
1940 "type" : "field",
1941 "value" : ["gtpu_ipv4", "ihl"]
1942 },
1943 {
1944 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001945 "value" : ["gtpu_ipv4", "dscp"]
1946 },
1947 {
1948 "type" : "field",
1949 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001950 },
1951 {
1952 "type" : "field",
1953 "value" : ["gtpu_ipv4", "total_len"]
1954 },
1955 {
1956 "type" : "field",
1957 "value" : ["gtpu_ipv4", "identification"]
1958 },
1959 {
1960 "type" : "field",
1961 "value" : ["gtpu_ipv4", "flags"]
1962 },
1963 {
1964 "type" : "field",
1965 "value" : ["gtpu_ipv4", "frag_offset"]
1966 },
1967 {
1968 "type" : "field",
1969 "value" : ["gtpu_ipv4", "ttl"]
1970 },
1971 {
1972 "type" : "field",
1973 "value" : ["gtpu_ipv4", "protocol"]
1974 },
1975 {
1976 "type" : "field",
1977 "value" : ["gtpu_ipv4", "src_addr"]
1978 },
1979 {
1980 "type" : "field",
1981 "value" : ["gtpu_ipv4", "dst_addr"]
1982 }
1983 ]
1984 },
1985 {
1986 "name" : "calc_1",
1987 "id" : 2,
1988 "source_info" : {
1989 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001990 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001991 "column" : 8,
1992 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1993 },
1994 "algo" : "csum16",
1995 "input" : [
1996 {
1997 "type" : "field",
1998 "value" : ["ipv4", "version"]
1999 },
2000 {
2001 "type" : "field",
2002 "value" : ["ipv4", "ihl"]
2003 },
2004 {
2005 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002006 "value" : ["ipv4", "dscp"]
2007 },
2008 {
2009 "type" : "field",
2010 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002011 },
2012 {
2013 "type" : "field",
2014 "value" : ["ipv4", "total_len"]
2015 },
2016 {
2017 "type" : "field",
2018 "value" : ["ipv4", "identification"]
2019 },
2020 {
2021 "type" : "field",
2022 "value" : ["ipv4", "flags"]
2023 },
2024 {
2025 "type" : "field",
2026 "value" : ["ipv4", "frag_offset"]
2027 },
2028 {
2029 "type" : "field",
2030 "value" : ["ipv4", "ttl"]
2031 },
2032 {
2033 "type" : "field",
2034 "value" : ["ipv4", "protocol"]
2035 },
2036 {
2037 "type" : "field",
2038 "value" : ["ipv4", "src_addr"]
2039 },
2040 {
2041 "type" : "field",
2042 "value" : ["ipv4", "dst_addr"]
2043 }
2044 ]
2045 }
2046 ],
2047 "learn_lists" : [],
2048 "actions" : [
2049 {
2050 "name" : "NoAction",
2051 "id" : 0,
2052 "runtime_data" : [],
2053 "primitives" : []
2054 },
2055 {
2056 "name" : "NoAction",
2057 "id" : 1,
2058 "runtime_data" : [],
2059 "primitives" : []
2060 },
2061 {
2062 "name" : "NoAction",
2063 "id" : 2,
2064 "runtime_data" : [],
2065 "primitives" : []
2066 },
2067 {
2068 "name" : "NoAction",
2069 "id" : 3,
2070 "runtime_data" : [],
2071 "primitives" : []
2072 },
2073 {
2074 "name" : "NoAction",
2075 "id" : 4,
2076 "runtime_data" : [],
2077 "primitives" : []
2078 },
2079 {
2080 "name" : "NoAction",
2081 "id" : 5,
2082 "runtime_data" : [],
2083 "primitives" : []
2084 },
2085 {
2086 "name" : "NoAction",
2087 "id" : 6,
2088 "runtime_data" : [],
2089 "primitives" : []
2090 },
2091 {
2092 "name" : "NoAction",
2093 "id" : 7,
2094 "runtime_data" : [],
2095 "primitives" : []
2096 },
2097 {
2098 "name" : "NoAction",
2099 "id" : 8,
2100 "runtime_data" : [],
2101 "primitives" : []
2102 },
2103 {
2104 "name" : "NoAction",
2105 "id" : 9,
2106 "runtime_data" : [],
2107 "primitives" : []
2108 },
2109 {
2110 "name" : "NoAction",
2111 "id" : 10,
2112 "runtime_data" : [],
2113 "primitives" : []
2114 },
2115 {
2116 "name" : "NoAction",
2117 "id" : 11,
2118 "runtime_data" : [],
2119 "primitives" : []
2120 },
2121 {
2122 "name" : "NoAction",
2123 "id" : 12,
2124 "runtime_data" : [],
2125 "primitives" : []
2126 },
2127 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002128 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002129 "id" : 13,
2130 "runtime_data" : [],
2131 "primitives" : []
2132 },
2133 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002134 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002135 "id" : 14,
2136 "runtime_data" : [],
2137 "primitives" : []
2138 },
2139 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002140 "name" : "drop_now",
Charles Chancf696e52018-08-16 16:25:13 -07002141 "id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002142 "runtime_data" : [],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002143 "primitives" : [
2144 {
2145 "op" : "drop",
2146 "parameters" : [],
2147 "source_info" : {
2148 "filename" : "include/control/../action.p4",
2149 "line" : 24,
2150 "column" : 4,
2151 "source_fragment" : "mark_to_drop()"
2152 }
2153 },
2154 {
2155 "op" : "exit",
2156 "parameters" : [],
2157 "source_info" : {
2158 "filename" : "include/control/../action.p4",
2159 "line" : 25,
2160 "column" : 4,
2161 "source_fragment" : "exit"
2162 }
2163 }
2164 ]
2165 },
2166 {
2167 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
Charles Chancf696e52018-08-16 16:25:13 -07002168 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002169 "runtime_data" : [],
2170 "primitives" : [
2171 {
2172 "op" : "remove_header",
2173 "parameters" : [
2174 {
2175 "type" : "header",
2176 "value" : "gtpu_ipv4"
2177 }
2178 ],
2179 "source_info" : {
2180 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002181 "line" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002182 "column" : 8,
2183 "source_fragment" : "gtpu_ipv4.setInvalid()"
2184 }
2185 },
2186 {
2187 "op" : "remove_header",
2188 "parameters" : [
2189 {
2190 "type" : "header",
2191 "value" : "gtpu_udp"
2192 }
2193 ],
2194 "source_info" : {
2195 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002196 "line" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002197 "column" : 8,
2198 "source_fragment" : "gtpu_udp.setInvalid()"
2199 }
2200 },
2201 {
2202 "op" : "remove_header",
2203 "parameters" : [
2204 {
2205 "type" : "header",
2206 "value" : "gtpu"
2207 }
2208 ],
2209 "source_info" : {
2210 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002211 "line" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002212 "column" : 8,
2213 "source_fragment" : "gtpu.setInvalid()"
2214 }
2215 }
2216 ]
2217 },
2218 {
2219 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
Charles Chancf696e52018-08-16 16:25:13 -07002220 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002221 "runtime_data" : [
2222 {
2223 "name" : "teid",
2224 "bitwidth" : 32
2225 },
2226 {
2227 "name" : "s1u_enb_addr",
2228 "bitwidth" : 32
2229 },
2230 {
2231 "name" : "s1u_sgw_addr",
2232 "bitwidth" : 32
2233 }
2234 ],
2235 "primitives" : [
2236 {
2237 "op" : "assign",
2238 "parameters" : [
2239 {
2240 "type" : "field",
2241 "value" : ["userMetadata.spgw", "teid"]
2242 },
2243 {
2244 "type" : "runtime_data",
2245 "value" : 0
2246 }
2247 ],
2248 "source_info" : {
2249 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002250 "line" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002251 "column" : 8,
2252 "source_fragment" : "spgw_meta.teid = teid"
2253 }
2254 },
2255 {
2256 "op" : "assign",
2257 "parameters" : [
2258 {
2259 "type" : "field",
2260 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
2261 },
2262 {
2263 "type" : "runtime_data",
2264 "value" : 1
2265 }
2266 ],
2267 "source_info" : {
2268 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002269 "line" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002270 "column" : 8,
2271 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
2272 }
2273 },
2274 {
2275 "op" : "assign",
2276 "parameters" : [
2277 {
2278 "type" : "field",
2279 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
2280 },
2281 {
2282 "type" : "runtime_data",
2283 "value" : 2
2284 }
2285 ],
2286 "source_info" : {
2287 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002288 "line" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002289 "column" : 8,
2290 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
2291 }
2292 }
2293 ]
2294 },
2295 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002296 "name" : "FabricIngress.process_set_source_sink.int_set_source",
Charles Chancf696e52018-08-16 16:25:13 -07002297 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002298 "runtime_data" : [],
2299 "primitives" : [
2300 {
2301 "op" : "assign",
2302 "parameters" : [
2303 {
2304 "type" : "field",
2305 "value" : ["userMetadata.int_meta", "source"]
2306 },
2307 {
2308 "type" : "hexstr",
2309 "value" : "0x01"
2310 }
2311 ],
2312 "source_info" : {
2313 "filename" : "include/int_source.p4",
2314 "line" : 94,
2315 "column" : 8,
2316 "source_fragment" : "fabric_metadata.int_meta.source = 1"
2317 }
2318 }
2319 ]
2320 },
2321 {
2322 "name" : "FabricIngress.process_set_source_sink.int_set_sink",
Charles Chancf696e52018-08-16 16:25:13 -07002323 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002324 "runtime_data" : [],
2325 "primitives" : [
2326 {
2327 "op" : "assign",
2328 "parameters" : [
2329 {
2330 "type" : "field",
2331 "value" : ["userMetadata.int_meta", "sink"]
2332 },
2333 {
2334 "type" : "hexstr",
2335 "value" : "0x01"
2336 }
2337 ],
2338 "source_info" : {
2339 "filename" : "include/int_source.p4",
2340 "line" : 98,
2341 "column" : 8,
2342 "source_fragment" : "fabric_metadata.int_meta.sink = 1"
2343 }
2344 }
2345 ]
2346 },
2347 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002348 "name" : "FabricIngress.filtering.drop",
Charles Chancf696e52018-08-16 16:25:13 -07002349 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002350 "runtime_data" : [],
2351 "primitives" : [
2352 {
2353 "op" : "drop",
2354 "parameters" : [],
2355 "source_info" : {
2356 "filename" : "include/control/filtering.p4",
2357 "line" : 37,
2358 "column" : 8,
2359 "source_fragment" : "mark_to_drop()"
2360 }
2361 }
2362 ]
2363 },
2364 {
2365 "name" : "FabricIngress.filtering.set_vlan",
Charles Chancf696e52018-08-16 16:25:13 -07002366 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002367 "runtime_data" : [
2368 {
2369 "name" : "new_vlan_id",
2370 "bitwidth" : 12
2371 }
2372 ],
2373 "primitives" : [
2374 {
2375 "op" : "assign",
2376 "parameters" : [
2377 {
2378 "type" : "field",
2379 "value" : ["vlan_tag", "vlan_id"]
2380 },
2381 {
2382 "type" : "runtime_data",
2383 "value" : 0
2384 }
2385 ],
2386 "source_info" : {
2387 "filename" : "include/control/filtering.p4",
2388 "line" : 42,
2389 "column" : 8,
2390 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2391 }
2392 }
2393 ]
2394 },
2395 {
2396 "name" : "FabricIngress.filtering.push_internal_vlan",
Charles Chancf696e52018-08-16 16:25:13 -07002397 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002398 "runtime_data" : [
2399 {
2400 "name" : "new_vlan_id",
2401 "bitwidth" : 12
2402 }
2403 ],
2404 "primitives" : [
2405 {
2406 "op" : "add_header",
2407 "parameters" : [
2408 {
2409 "type" : "header",
2410 "value" : "vlan_tag"
2411 }
2412 ],
2413 "source_info" : {
2414 "filename" : "include/control/filtering.p4",
2415 "line" : 49,
2416 "column" : 8,
2417 "source_fragment" : "hdr.vlan_tag.setValid()"
2418 }
2419 },
2420 {
2421 "op" : "assign",
2422 "parameters" : [
2423 {
2424 "type" : "field",
2425 "value" : ["vlan_tag", "cfi"]
2426 },
2427 {
2428 "type" : "hexstr",
2429 "value" : "0x00"
2430 }
2431 ],
2432 "source_info" : {
2433 "filename" : "include/control/filtering.p4",
2434 "line" : 50,
2435 "column" : 8,
2436 "source_fragment" : "hdr.vlan_tag.cfi = 0"
2437 }
2438 },
2439 {
2440 "op" : "assign",
2441 "parameters" : [
2442 {
2443 "type" : "field",
2444 "value" : ["vlan_tag", "pri"]
2445 },
2446 {
2447 "type" : "hexstr",
2448 "value" : "0x00"
2449 }
2450 ],
2451 "source_info" : {
2452 "filename" : "include/control/filtering.p4",
2453 "line" : 51,
2454 "column" : 8,
2455 "source_fragment" : "hdr.vlan_tag.pri = 0"
2456 }
2457 },
2458 {
2459 "op" : "assign",
2460 "parameters" : [
2461 {
2462 "type" : "field",
2463 "value" : ["vlan_tag", "ether_type"]
2464 },
2465 {
2466 "type" : "field",
2467 "value" : ["ethernet", "ether_type"]
2468 }
2469 ],
2470 "source_info" : {
2471 "filename" : "include/control/filtering.p4",
2472 "line" : 52,
2473 "column" : 8,
2474 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
2475 }
2476 },
2477 {
2478 "op" : "assign",
2479 "parameters" : [
2480 {
2481 "type" : "field",
2482 "value" : ["ethernet", "ether_type"]
2483 },
2484 {
2485 "type" : "hexstr",
2486 "value" : "0x8100"
2487 }
2488 ],
2489 "source_info" : {
2490 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002491 "line" : 89,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002492 "column" : 31,
2493 "source_fragment" : "0x8100; ..."
2494 }
2495 },
2496 {
2497 "op" : "assign",
2498 "parameters" : [
2499 {
2500 "type" : "field",
2501 "value" : ["vlan_tag", "vlan_id"]
2502 },
2503 {
2504 "type" : "runtime_data",
2505 "value" : 0
2506 }
2507 ],
2508 "source_info" : {
2509 "filename" : "include/control/filtering.p4",
2510 "line" : 54,
2511 "column" : 8,
2512 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2513 }
2514 },
2515 {
2516 "op" : "assign",
2517 "parameters" : [
2518 {
2519 "type" : "field",
2520 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2521 },
2522 {
2523 "type" : "expression",
2524 "value" : {
2525 "type" : "expression",
2526 "value" : {
2527 "op" : "b2d",
2528 "left" : null,
2529 "right" : {
2530 "type" : "bool",
2531 "value" : true
2532 }
2533 }
2534 }
2535 }
2536 ],
2537 "source_info" : {
2538 "filename" : "include/control/filtering.p4",
2539 "line" : 57,
2540 "column" : 8,
2541 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2542 }
2543 }
2544 ]
2545 },
2546 {
2547 "name" : "FabricIngress.filtering.set_forwarding_type",
Charles Chancf696e52018-08-16 16:25:13 -07002548 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002549 "runtime_data" : [
2550 {
2551 "name" : "fwd_type",
2552 "bitwidth" : 3
2553 }
2554 ],
2555 "primitives" : [
2556 {
2557 "op" : "assign",
2558 "parameters" : [
2559 {
2560 "type" : "field",
2561 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2562 },
2563 {
2564 "type" : "runtime_data",
2565 "value" : 0
2566 }
2567 ],
2568 "source_info" : {
2569 "filename" : "include/control/filtering.p4",
2570 "line" : 94,
2571 "column" : 8,
2572 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2573 }
2574 }
2575 ]
2576 },
2577 {
2578 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Charles Chancf696e52018-08-16 16:25:13 -07002579 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002580 "runtime_data" : [
2581 {
2582 "name" : "next_id",
2583 "bitwidth" : 32
2584 }
2585 ],
2586 "primitives" : [
2587 {
2588 "op" : "assign",
2589 "parameters" : [
2590 {
2591 "type" : "field",
2592 "value" : ["scalars", "fabric_metadata_t.next_id"]
2593 },
2594 {
2595 "type" : "runtime_data",
2596 "value" : 0
2597 }
2598 ],
2599 "source_info" : {
2600 "filename" : "include/control/forwarding.p4",
2601 "line" : 37,
2602 "column" : 8,
2603 "source_fragment" : "fabric_metadata.next_id = next_id"
2604 }
2605 }
2606 ]
2607 },
2608 {
2609 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Charles Chancf696e52018-08-16 16:25:13 -07002610 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002611 "runtime_data" : [
2612 {
2613 "name" : "next_id",
2614 "bitwidth" : 32
2615 }
2616 ],
2617 "primitives" : [
2618 {
2619 "op" : "remove_header",
2620 "parameters" : [
2621 {
2622 "type" : "header",
2623 "value" : "mpls"
2624 }
2625 ],
2626 "source_info" : {
2627 "filename" : "include/control/forwarding.p4",
2628 "line" : 60,
2629 "column" : 8,
2630 "source_fragment" : "hdr.mpls.setInvalid()"
2631 }
2632 },
2633 {
2634 "op" : "assign",
2635 "parameters" : [
2636 {
2637 "type" : "field",
2638 "value" : ["scalars", "fabric_metadata_t.next_id"]
2639 },
2640 {
2641 "type" : "runtime_data",
2642 "value" : 0
2643 }
2644 ],
2645 "source_info" : {
2646 "filename" : "include/control/forwarding.p4",
2647 "line" : 61,
2648 "column" : 8,
2649 "source_fragment" : "fabric_metadata.next_id = next_id"
2650 }
2651 }
2652 ]
2653 },
2654 {
2655 "name" : "FabricIngress.forwarding.set_next_id_unicast_v4",
Charles Chancf696e52018-08-16 16:25:13 -07002656 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002657 "runtime_data" : [
2658 {
2659 "name" : "next_id",
2660 "bitwidth" : 32
2661 }
2662 ],
2663 "primitives" : [
2664 {
2665 "op" : "assign",
2666 "parameters" : [
2667 {
2668 "type" : "field",
2669 "value" : ["scalars", "fabric_metadata_t.next_id"]
2670 },
2671 {
2672 "type" : "runtime_data",
2673 "value" : 0
2674 }
2675 ],
2676 "source_info" : {
2677 "filename" : "include/control/forwarding.p4",
2678 "line" : 83,
2679 "column" : 8,
2680 "source_fragment" : "fabric_metadata.next_id = next_id"
2681 }
2682 }
2683 ]
2684 },
2685 {
2686 "name" : "FabricIngress.forwarding.set_next_id_acl",
Charles Chancf696e52018-08-16 16:25:13 -07002687 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002688 "runtime_data" : [
2689 {
2690 "name" : "next_id",
2691 "bitwidth" : 32
2692 }
2693 ],
2694 "primitives" : [
2695 {
2696 "op" : "assign",
2697 "parameters" : [
2698 {
2699 "type" : "field",
2700 "value" : ["scalars", "fabric_metadata_t.next_id"]
2701 },
2702 {
2703 "type" : "runtime_data",
2704 "value" : 0
2705 }
2706 ],
2707 "source_info" : {
2708 "filename" : "include/control/forwarding.p4",
2709 "line" : 105,
2710 "column" : 8,
2711 "source_fragment" : "fabric_metadata.next_id = next_id"
2712 }
2713 }
2714 ]
2715 },
2716 {
2717 "name" : "FabricIngress.forwarding.punt_to_cpu",
Charles Chancf696e52018-08-16 16:25:13 -07002718 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002719 "runtime_data" : [],
2720 "primitives" : [
2721 {
2722 "op" : "assign",
2723 "parameters" : [
2724 {
2725 "type" : "field",
2726 "value" : ["standard_metadata", "egress_spec"]
2727 },
2728 {
2729 "type" : "hexstr",
2730 "value" : "0x00ff"
2731 }
2732 ],
2733 "source_info" : {
2734 "filename" : "include/control/forwarding.p4",
2735 "line" : 111,
2736 "column" : 8,
2737 "source_fragment" : "standard_metadata.egress_spec = 255"
2738 }
2739 },
2740 {
2741 "op" : "exit",
2742 "parameters" : [],
2743 "source_info" : {
2744 "filename" : "include/control/forwarding.p4",
2745 "line" : 113,
2746 "column" : 8,
2747 "source_fragment" : "exit"
2748 }
2749 }
2750 ]
2751 },
2752 {
2753 "name" : "FabricIngress.forwarding.clone_to_cpu",
Charles Chancf696e52018-08-16 16:25:13 -07002754 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002755 "runtime_data" : [],
2756 "primitives" : [
2757 {
2758 "op" : "assign",
2759 "parameters" : [
2760 {
2761 "type" : "field",
2762 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2763 },
2764 {
2765 "type" : "expression",
2766 "value" : {
2767 "type" : "expression",
2768 "value" : {
2769 "op" : "b2d",
2770 "left" : null,
2771 "right" : {
2772 "type" : "bool",
2773 "value" : true
2774 }
2775 }
2776 }
2777 }
2778 ],
2779 "source_info" : {
2780 "filename" : "include/control/forwarding.p4",
2781 "line" : 118,
2782 "column" : 8,
2783 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2784 }
2785 }
2786 ]
2787 },
2788 {
2789 "name" : "FabricIngress.forwarding.drop",
Charles Chancf696e52018-08-16 16:25:13 -07002790 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002791 "runtime_data" : [],
2792 "primitives" : [
2793 {
2794 "op" : "drop",
2795 "parameters" : [],
2796 "source_info" : {
2797 "filename" : "include/control/forwarding.p4",
2798 "line" : 123,
2799 "column" : 8,
2800 "source_fragment" : "mark_to_drop()"
2801 }
2802 }
2803 ]
2804 },
2805 {
Charles Chancf696e52018-08-16 16:25:13 -07002806 "name" : "FabricIngress.forwarding.nop_acl",
2807 "id" : 31,
2808 "runtime_data" : [],
2809 "primitives" : []
2810 },
2811 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002812 "name" : "FabricIngress.forwarding.set_next_id_multicast_v4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002813 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002814 "runtime_data" : [
2815 {
2816 "name" : "next_id",
2817 "bitwidth" : 32
2818 }
2819 ],
2820 "primitives" : [
2821 {
2822 "op" : "assign",
2823 "parameters" : [
2824 {
2825 "type" : "field",
2826 "value" : ["scalars", "fabric_metadata_t.next_id"]
2827 },
2828 {
2829 "type" : "runtime_data",
2830 "value" : 0
2831 }
2832 ],
2833 "source_info" : {
2834 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -07002835 "line" : 168,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002836 "column" : 8,
2837 "source_fragment" : "fabric_metadata.next_id = next_id"
2838 }
2839 }
2840 ]
2841 },
2842 {
2843 "name" : "FabricIngress.forwarding.set_next_id_unicast_v6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002844 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002845 "runtime_data" : [
2846 {
2847 "name" : "next_id",
2848 "bitwidth" : 32
2849 }
2850 ],
2851 "primitives" : [
2852 {
2853 "op" : "assign",
2854 "parameters" : [
2855 {
2856 "type" : "field",
2857 "value" : ["scalars", "fabric_metadata_t.next_id"]
2858 },
2859 {
2860 "type" : "runtime_data",
2861 "value" : 0
2862 }
2863 ],
2864 "source_info" : {
2865 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -07002866 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002867 "column" : 8,
2868 "source_fragment" : "fabric_metadata.next_id = next_id"
2869 }
2870 }
2871 ]
2872 },
2873 {
2874 "name" : "FabricIngress.forwarding.set_next_id_multicast_v6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002875 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002876 "runtime_data" : [
2877 {
2878 "name" : "next_id",
2879 "bitwidth" : 32
2880 }
2881 ],
2882 "primitives" : [
2883 {
2884 "op" : "assign",
2885 "parameters" : [
2886 {
2887 "type" : "field",
2888 "value" : ["scalars", "fabric_metadata_t.next_id"]
2889 },
2890 {
2891 "type" : "runtime_data",
2892 "value" : 0
2893 }
2894 ],
2895 "source_info" : {
2896 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -07002897 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002898 "column" : 8,
2899 "source_fragment" : "fabric_metadata.next_id = next_id"
2900 }
2901 }
2902 ]
2903 },
2904 {
2905 "name" : "FabricIngress.next.set_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002906 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002907 "runtime_data" : [
2908 {
2909 "name" : "new_vlan_id",
2910 "bitwidth" : 12
2911 }
2912 ],
2913 "primitives" : [
2914 {
2915 "op" : "assign",
2916 "parameters" : [
2917 {
2918 "type" : "field",
2919 "value" : ["vlan_tag", "vlan_id"]
2920 },
2921 {
2922 "type" : "runtime_data",
2923 "value" : 0
2924 }
2925 ],
2926 "source_info" : {
2927 "filename" : "include/control/next.p4",
2928 "line" : 61,
2929 "column" : 8,
2930 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2931 }
2932 }
2933 ]
2934 },
2935 {
2936 "name" : "FabricIngress.next.output_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002937 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002938 "runtime_data" : [
2939 {
2940 "name" : "port_num",
2941 "bitwidth" : 9
2942 }
2943 ],
2944 "primitives" : [
2945 {
2946 "op" : "assign",
2947 "parameters" : [
2948 {
2949 "type" : "field",
2950 "value" : ["standard_metadata", "egress_spec"]
2951 },
2952 {
2953 "type" : "runtime_data",
2954 "value" : 0
2955 }
2956 ],
2957 "source_info" : {
2958 "filename" : "include/control/next.p4",
2959 "line" : 85,
2960 "column" : 8,
2961 "source_fragment" : "standard_metadata.egress_spec = port_num"
2962 }
2963 }
2964 ]
2965 },
2966 {
2967 "name" : "FabricIngress.next.set_vlan_output",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002968 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002969 "runtime_data" : [
2970 {
2971 "name" : "new_vlan_id",
2972 "bitwidth" : 12
2973 },
2974 {
2975 "name" : "port_num",
2976 "bitwidth" : 9
2977 }
2978 ],
2979 "primitives" : [
2980 {
2981 "op" : "assign",
2982 "parameters" : [
2983 {
2984 "type" : "field",
2985 "value" : ["vlan_tag", "vlan_id"]
2986 },
2987 {
2988 "type" : "runtime_data",
2989 "value" : 0
2990 }
2991 ],
2992 "source_info" : {
2993 "filename" : "include/control/next.p4",
2994 "line" : 90,
2995 "column" : 8,
2996 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2997 }
2998 },
2999 {
3000 "op" : "assign",
3001 "parameters" : [
3002 {
3003 "type" : "field",
3004 "value" : ["standard_metadata", "egress_spec"]
3005 },
3006 {
3007 "type" : "runtime_data",
3008 "value" : 1
3009 }
3010 ],
3011 "source_info" : {
3012 "filename" : "include/control/next.p4",
3013 "line" : 85,
3014 "column" : 8,
3015 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3016 }
3017 }
3018 ]
3019 },
3020 {
3021 "name" : "FabricIngress.next.l3_routing_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003022 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003023 "runtime_data" : [
3024 {
3025 "name" : "port_num",
3026 "bitwidth" : 9
3027 },
3028 {
3029 "name" : "smac",
3030 "bitwidth" : 48
3031 },
3032 {
3033 "name" : "dmac",
3034 "bitwidth" : 48
3035 }
3036 ],
3037 "primitives" : [
3038 {
3039 "op" : "assign",
3040 "parameters" : [
3041 {
3042 "type" : "field",
3043 "value" : ["ethernet", "src_addr"]
3044 },
3045 {
3046 "type" : "runtime_data",
3047 "value" : 1
3048 }
3049 ],
3050 "source_info" : {
3051 "filename" : "include/control/next.p4",
3052 "line" : 37,
3053 "column" : 8,
3054 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3055 }
3056 },
3057 {
3058 "op" : "assign",
3059 "parameters" : [
3060 {
3061 "type" : "field",
3062 "value" : ["ethernet", "dst_addr"]
3063 },
3064 {
3065 "type" : "runtime_data",
3066 "value" : 2
3067 }
3068 ],
3069 "source_info" : {
3070 "filename" : "include/control/next.p4",
3071 "line" : 41,
3072 "column" : 8,
3073 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3074 }
3075 },
3076 {
3077 "op" : "assign",
3078 "parameters" : [
3079 {
3080 "type" : "field",
3081 "value" : ["standard_metadata", "egress_spec"]
3082 },
3083 {
3084 "type" : "runtime_data",
3085 "value" : 0
3086 }
3087 ],
3088 "source_info" : {
3089 "filename" : "include/control/next.p4",
3090 "line" : 85,
3091 "column" : 8,
3092 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3093 }
3094 }
3095 ]
3096 },
3097 {
3098 "name" : "FabricIngress.next.mpls_routing_v4_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003099 "id" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003100 "runtime_data" : [
3101 {
3102 "name" : "port_num",
3103 "bitwidth" : 9
3104 },
3105 {
3106 "name" : "smac",
3107 "bitwidth" : 48
3108 },
3109 {
3110 "name" : "dmac",
3111 "bitwidth" : 48
3112 },
3113 {
3114 "name" : "label",
3115 "bitwidth" : 20
3116 }
3117 ],
3118 "primitives" : [
3119 {
3120 "op" : "assign",
3121 "parameters" : [
3122 {
3123 "type" : "field",
3124 "value" : ["ethernet", "src_addr"]
3125 },
3126 {
3127 "type" : "runtime_data",
3128 "value" : 1
3129 }
3130 ],
3131 "source_info" : {
3132 "filename" : "include/control/next.p4",
3133 "line" : 37,
3134 "column" : 8,
3135 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3136 }
3137 },
3138 {
3139 "op" : "assign",
3140 "parameters" : [
3141 {
3142 "type" : "field",
3143 "value" : ["ethernet", "dst_addr"]
3144 },
3145 {
3146 "type" : "runtime_data",
3147 "value" : 2
3148 }
3149 ],
3150 "source_info" : {
3151 "filename" : "include/control/next.p4",
3152 "line" : 41,
3153 "column" : 8,
3154 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3155 }
3156 },
3157 {
3158 "op" : "assign",
3159 "parameters" : [
3160 {
3161 "type" : "field",
3162 "value" : ["standard_metadata", "egress_spec"]
3163 },
3164 {
3165 "type" : "runtime_data",
3166 "value" : 0
3167 }
3168 ],
3169 "source_info" : {
3170 "filename" : "include/control/next.p4",
3171 "line" : 85,
3172 "column" : 8,
3173 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3174 }
3175 },
3176 {
3177 "op" : "add_header",
3178 "parameters" : [
3179 {
3180 "type" : "header",
3181 "value" : "mpls"
3182 }
3183 ],
3184 "source_info" : {
3185 "filename" : "include/control/next.p4",
3186 "line" : 46,
3187 "column" : 8,
3188 "source_fragment" : "hdr.mpls.setValid()"
3189 }
3190 },
3191 {
3192 "op" : "assign",
3193 "parameters" : [
3194 {
3195 "type" : "field",
3196 "value" : ["vlan_tag", "ether_type"]
3197 },
3198 {
3199 "type" : "hexstr",
3200 "value" : "0x8847"
3201 }
3202 ],
3203 "source_info" : {
3204 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003205 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003206 "column" : 31,
3207 "source_fragment" : "0x8847; ..."
3208 }
3209 },
3210 {
3211 "op" : "assign",
3212 "parameters" : [
3213 {
3214 "type" : "field",
3215 "value" : ["mpls", "label"]
3216 },
3217 {
3218 "type" : "runtime_data",
3219 "value" : 3
3220 }
3221 ],
3222 "source_info" : {
3223 "filename" : "include/control/next.p4",
3224 "line" : 48,
3225 "column" : 8,
3226 "source_fragment" : "hdr.mpls.label = label; ..."
3227 }
3228 },
3229 {
3230 "op" : "assign",
3231 "parameters" : [
3232 {
3233 "type" : "field",
3234 "value" : ["mpls", "tc"]
3235 },
3236 {
3237 "type" : "hexstr",
3238 "value" : "0x00"
3239 }
3240 ],
3241 "source_info" : {
3242 "filename" : "include/control/next.p4",
3243 "line" : 49,
3244 "column" : 8,
3245 "source_fragment" : "hdr.mpls.tc = tc; ..."
3246 }
3247 },
3248 {
3249 "op" : "assign",
3250 "parameters" : [
3251 {
3252 "type" : "field",
3253 "value" : ["mpls", "bos"]
3254 },
3255 {
3256 "type" : "hexstr",
3257 "value" : "0x01"
3258 }
3259 ],
3260 "source_info" : {
3261 "filename" : "include/control/next.p4",
3262 "line" : 50,
3263 "column" : 8,
3264 "source_fragment" : "hdr.mpls.bos = 1w1"
3265 }
3266 },
3267 {
3268 "op" : "assign",
3269 "parameters" : [
3270 {
3271 "type" : "field",
3272 "value" : ["mpls", "ttl"]
3273 },
3274 {
3275 "type" : "hexstr",
3276 "value" : "0x40"
3277 }
3278 ],
3279 "source_info" : {
3280 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003281 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003282 "column" : 32,
3283 "source_fragment" : "64; ..."
3284 }
3285 }
3286 ]
3287 },
3288 {
3289 "name" : "FabricIngress.next.mpls_routing_v6_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003290 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003291 "runtime_data" : [
3292 {
3293 "name" : "port_num",
3294 "bitwidth" : 9
3295 },
3296 {
3297 "name" : "smac",
3298 "bitwidth" : 48
3299 },
3300 {
3301 "name" : "dmac",
3302 "bitwidth" : 48
3303 },
3304 {
3305 "name" : "label",
3306 "bitwidth" : 20
3307 }
3308 ],
3309 "primitives" : [
3310 {
3311 "op" : "assign",
3312 "parameters" : [
3313 {
3314 "type" : "field",
3315 "value" : ["ethernet", "src_addr"]
3316 },
3317 {
3318 "type" : "runtime_data",
3319 "value" : 1
3320 }
3321 ],
3322 "source_info" : {
3323 "filename" : "include/control/next.p4",
3324 "line" : 37,
3325 "column" : 8,
3326 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3327 }
3328 },
3329 {
3330 "op" : "assign",
3331 "parameters" : [
3332 {
3333 "type" : "field",
3334 "value" : ["ethernet", "dst_addr"]
3335 },
3336 {
3337 "type" : "runtime_data",
3338 "value" : 2
3339 }
3340 ],
3341 "source_info" : {
3342 "filename" : "include/control/next.p4",
3343 "line" : 41,
3344 "column" : 8,
3345 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3346 }
3347 },
3348 {
3349 "op" : "assign",
3350 "parameters" : [
3351 {
3352 "type" : "field",
3353 "value" : ["standard_metadata", "egress_spec"]
3354 },
3355 {
3356 "type" : "runtime_data",
3357 "value" : 0
3358 }
3359 ],
3360 "source_info" : {
3361 "filename" : "include/control/next.p4",
3362 "line" : 85,
3363 "column" : 8,
3364 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3365 }
3366 },
3367 {
3368 "op" : "add_header",
3369 "parameters" : [
3370 {
3371 "type" : "header",
3372 "value" : "mpls"
3373 }
3374 ],
3375 "source_info" : {
3376 "filename" : "include/control/next.p4",
3377 "line" : 46,
3378 "column" : 8,
3379 "source_fragment" : "hdr.mpls.setValid()"
3380 }
3381 },
3382 {
3383 "op" : "assign",
3384 "parameters" : [
3385 {
3386 "type" : "field",
3387 "value" : ["vlan_tag", "ether_type"]
3388 },
3389 {
3390 "type" : "hexstr",
3391 "value" : "0x8847"
3392 }
3393 ],
3394 "source_info" : {
3395 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003396 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003397 "column" : 31,
3398 "source_fragment" : "0x8847; ..."
3399 }
3400 },
3401 {
3402 "op" : "assign",
3403 "parameters" : [
3404 {
3405 "type" : "field",
3406 "value" : ["mpls", "label"]
3407 },
3408 {
3409 "type" : "runtime_data",
3410 "value" : 3
3411 }
3412 ],
3413 "source_info" : {
3414 "filename" : "include/control/next.p4",
3415 "line" : 48,
3416 "column" : 8,
3417 "source_fragment" : "hdr.mpls.label = label; ..."
3418 }
3419 },
3420 {
3421 "op" : "assign",
3422 "parameters" : [
3423 {
3424 "type" : "field",
3425 "value" : ["mpls", "tc"]
3426 },
3427 {
3428 "type" : "hexstr",
3429 "value" : "0x00"
3430 }
3431 ],
3432 "source_info" : {
3433 "filename" : "include/control/next.p4",
3434 "line" : 49,
3435 "column" : 8,
3436 "source_fragment" : "hdr.mpls.tc = tc; ..."
3437 }
3438 },
3439 {
3440 "op" : "assign",
3441 "parameters" : [
3442 {
3443 "type" : "field",
3444 "value" : ["mpls", "bos"]
3445 },
3446 {
3447 "type" : "hexstr",
3448 "value" : "0x01"
3449 }
3450 ],
3451 "source_info" : {
3452 "filename" : "include/control/next.p4",
3453 "line" : 50,
3454 "column" : 8,
3455 "source_fragment" : "hdr.mpls.bos = 1w1"
3456 }
3457 },
3458 {
3459 "op" : "assign",
3460 "parameters" : [
3461 {
3462 "type" : "field",
3463 "value" : ["mpls", "ttl"]
3464 },
3465 {
3466 "type" : "hexstr",
3467 "value" : "0x40"
3468 }
3469 ],
3470 "source_info" : {
3471 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003472 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003473 "column" : 32,
3474 "source_fragment" : "64; ..."
3475 }
3476 }
3477 ]
3478 },
3479 {
3480 "name" : "FabricIngress.next.l3_routing_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003481 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003482 "runtime_data" : [
3483 {
3484 "name" : "port_num",
3485 "bitwidth" : 9
3486 },
3487 {
3488 "name" : "smac",
3489 "bitwidth" : 48
3490 },
3491 {
3492 "name" : "dmac",
3493 "bitwidth" : 48
3494 },
3495 {
3496 "name" : "new_vlan_id",
3497 "bitwidth" : 12
3498 }
3499 ],
3500 "primitives" : [
3501 {
3502 "op" : "assign",
3503 "parameters" : [
3504 {
3505 "type" : "field",
3506 "value" : ["ethernet", "src_addr"]
3507 },
3508 {
3509 "type" : "runtime_data",
3510 "value" : 1
3511 }
3512 ],
3513 "source_info" : {
3514 "filename" : "include/control/next.p4",
3515 "line" : 37,
3516 "column" : 8,
3517 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3518 }
3519 },
3520 {
3521 "op" : "assign",
3522 "parameters" : [
3523 {
3524 "type" : "field",
3525 "value" : ["ethernet", "dst_addr"]
3526 },
3527 {
3528 "type" : "runtime_data",
3529 "value" : 2
3530 }
3531 ],
3532 "source_info" : {
3533 "filename" : "include/control/next.p4",
3534 "line" : 41,
3535 "column" : 8,
3536 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3537 }
3538 },
3539 {
3540 "op" : "assign",
3541 "parameters" : [
3542 {
3543 "type" : "field",
3544 "value" : ["vlan_tag", "vlan_id"]
3545 },
3546 {
3547 "type" : "runtime_data",
3548 "value" : 3
3549 }
3550 ],
3551 "source_info" : {
3552 "filename" : "include/control/next.p4",
3553 "line" : 90,
3554 "column" : 8,
3555 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3556 }
3557 },
3558 {
3559 "op" : "assign",
3560 "parameters" : [
3561 {
3562 "type" : "field",
3563 "value" : ["standard_metadata", "egress_spec"]
3564 },
3565 {
3566 "type" : "runtime_data",
3567 "value" : 0
3568 }
3569 ],
3570 "source_info" : {
3571 "filename" : "include/control/next.p4",
3572 "line" : 85,
3573 "column" : 8,
3574 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3575 }
3576 }
3577 ]
3578 },
3579 {
3580 "name" : "FabricIngress.next.l3_routing_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003581 "id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003582 "runtime_data" : [
3583 {
3584 "name" : "port_num",
3585 "bitwidth" : 9
3586 },
3587 {
3588 "name" : "smac",
3589 "bitwidth" : 48
3590 },
3591 {
3592 "name" : "dmac",
3593 "bitwidth" : 48
3594 }
3595 ],
3596 "primitives" : [
3597 {
3598 "op" : "assign",
3599 "parameters" : [
3600 {
3601 "type" : "field",
3602 "value" : ["ethernet", "src_addr"]
3603 },
3604 {
3605 "type" : "runtime_data",
3606 "value" : 1
3607 }
3608 ],
3609 "source_info" : {
3610 "filename" : "include/control/next.p4",
3611 "line" : 37,
3612 "column" : 8,
3613 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3614 }
3615 },
3616 {
3617 "op" : "assign",
3618 "parameters" : [
3619 {
3620 "type" : "field",
3621 "value" : ["ethernet", "dst_addr"]
3622 },
3623 {
3624 "type" : "runtime_data",
3625 "value" : 2
3626 }
3627 ],
3628 "source_info" : {
3629 "filename" : "include/control/next.p4",
3630 "line" : 41,
3631 "column" : 8,
3632 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3633 }
3634 },
3635 {
3636 "op" : "assign",
3637 "parameters" : [
3638 {
3639 "type" : "field",
3640 "value" : ["standard_metadata", "egress_spec"]
3641 },
3642 {
3643 "type" : "runtime_data",
3644 "value" : 0
3645 }
3646 ],
3647 "source_info" : {
3648 "filename" : "include/control/next.p4",
3649 "line" : 149,
3650 "column" : 8,
3651 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3652 }
3653 }
3654 ]
3655 },
3656 {
3657 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003658 "id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003659 "runtime_data" : [
3660 {
3661 "name" : "port_num",
3662 "bitwidth" : 9
3663 },
3664 {
3665 "name" : "smac",
3666 "bitwidth" : 48
3667 },
3668 {
3669 "name" : "dmac",
3670 "bitwidth" : 48
3671 },
3672 {
3673 "name" : "label",
3674 "bitwidth" : 20
3675 }
3676 ],
3677 "primitives" : [
3678 {
3679 "op" : "assign",
3680 "parameters" : [
3681 {
3682 "type" : "field",
3683 "value" : ["ethernet", "src_addr"]
3684 },
3685 {
3686 "type" : "runtime_data",
3687 "value" : 1
3688 }
3689 ],
3690 "source_info" : {
3691 "filename" : "include/control/next.p4",
3692 "line" : 37,
3693 "column" : 8,
3694 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3695 }
3696 },
3697 {
3698 "op" : "assign",
3699 "parameters" : [
3700 {
3701 "type" : "field",
3702 "value" : ["ethernet", "dst_addr"]
3703 },
3704 {
3705 "type" : "runtime_data",
3706 "value" : 2
3707 }
3708 ],
3709 "source_info" : {
3710 "filename" : "include/control/next.p4",
3711 "line" : 41,
3712 "column" : 8,
3713 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3714 }
3715 },
3716 {
3717 "op" : "assign",
3718 "parameters" : [
3719 {
3720 "type" : "field",
3721 "value" : ["standard_metadata", "egress_spec"]
3722 },
3723 {
3724 "type" : "runtime_data",
3725 "value" : 0
3726 }
3727 ],
3728 "source_info" : {
3729 "filename" : "include/control/next.p4",
3730 "line" : 149,
3731 "column" : 8,
3732 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3733 }
3734 },
3735 {
3736 "op" : "add_header",
3737 "parameters" : [
3738 {
3739 "type" : "header",
3740 "value" : "mpls"
3741 }
3742 ],
3743 "source_info" : {
3744 "filename" : "include/control/next.p4",
3745 "line" : 46,
3746 "column" : 8,
3747 "source_fragment" : "hdr.mpls.setValid()"
3748 }
3749 },
3750 {
3751 "op" : "assign",
3752 "parameters" : [
3753 {
3754 "type" : "field",
3755 "value" : ["vlan_tag", "ether_type"]
3756 },
3757 {
3758 "type" : "hexstr",
3759 "value" : "0x8847"
3760 }
3761 ],
3762 "source_info" : {
3763 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003764 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003765 "column" : 31,
3766 "source_fragment" : "0x8847; ..."
3767 }
3768 },
3769 {
3770 "op" : "assign",
3771 "parameters" : [
3772 {
3773 "type" : "field",
3774 "value" : ["mpls", "label"]
3775 },
3776 {
3777 "type" : "runtime_data",
3778 "value" : 3
3779 }
3780 ],
3781 "source_info" : {
3782 "filename" : "include/control/next.p4",
3783 "line" : 48,
3784 "column" : 8,
3785 "source_fragment" : "hdr.mpls.label = label; ..."
3786 }
3787 },
3788 {
3789 "op" : "assign",
3790 "parameters" : [
3791 {
3792 "type" : "field",
3793 "value" : ["mpls", "tc"]
3794 },
3795 {
3796 "type" : "hexstr",
3797 "value" : "0x00"
3798 }
3799 ],
3800 "source_info" : {
3801 "filename" : "include/control/next.p4",
3802 "line" : 49,
3803 "column" : 8,
3804 "source_fragment" : "hdr.mpls.tc = tc; ..."
3805 }
3806 },
3807 {
3808 "op" : "assign",
3809 "parameters" : [
3810 {
3811 "type" : "field",
3812 "value" : ["mpls", "bos"]
3813 },
3814 {
3815 "type" : "hexstr",
3816 "value" : "0x01"
3817 }
3818 ],
3819 "source_info" : {
3820 "filename" : "include/control/next.p4",
3821 "line" : 50,
3822 "column" : 8,
3823 "source_fragment" : "hdr.mpls.bos = 1w1"
3824 }
3825 },
3826 {
3827 "op" : "assign",
3828 "parameters" : [
3829 {
3830 "type" : "field",
3831 "value" : ["mpls", "ttl"]
3832 },
3833 {
3834 "type" : "hexstr",
3835 "value" : "0x40"
3836 }
3837 ],
3838 "source_info" : {
3839 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003840 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003841 "column" : 32,
3842 "source_fragment" : "64; ..."
3843 }
3844 }
3845 ]
3846 },
3847 {
3848 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003849 "id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003850 "runtime_data" : [
3851 {
3852 "name" : "port_num",
3853 "bitwidth" : 9
3854 },
3855 {
3856 "name" : "smac",
3857 "bitwidth" : 48
3858 },
3859 {
3860 "name" : "dmac",
3861 "bitwidth" : 48
3862 },
3863 {
3864 "name" : "label",
3865 "bitwidth" : 20
3866 }
3867 ],
3868 "primitives" : [
3869 {
3870 "op" : "assign",
3871 "parameters" : [
3872 {
3873 "type" : "field",
3874 "value" : ["ethernet", "src_addr"]
3875 },
3876 {
3877 "type" : "runtime_data",
3878 "value" : 1
3879 }
3880 ],
3881 "source_info" : {
3882 "filename" : "include/control/next.p4",
3883 "line" : 37,
3884 "column" : 8,
3885 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3886 }
3887 },
3888 {
3889 "op" : "assign",
3890 "parameters" : [
3891 {
3892 "type" : "field",
3893 "value" : ["ethernet", "dst_addr"]
3894 },
3895 {
3896 "type" : "runtime_data",
3897 "value" : 2
3898 }
3899 ],
3900 "source_info" : {
3901 "filename" : "include/control/next.p4",
3902 "line" : 41,
3903 "column" : 8,
3904 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3905 }
3906 },
3907 {
3908 "op" : "assign",
3909 "parameters" : [
3910 {
3911 "type" : "field",
3912 "value" : ["standard_metadata", "egress_spec"]
3913 },
3914 {
3915 "type" : "runtime_data",
3916 "value" : 0
3917 }
3918 ],
3919 "source_info" : {
3920 "filename" : "include/control/next.p4",
3921 "line" : 149,
3922 "column" : 8,
3923 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3924 }
3925 },
3926 {
3927 "op" : "add_header",
3928 "parameters" : [
3929 {
3930 "type" : "header",
3931 "value" : "mpls"
3932 }
3933 ],
3934 "source_info" : {
3935 "filename" : "include/control/next.p4",
3936 "line" : 46,
3937 "column" : 8,
3938 "source_fragment" : "hdr.mpls.setValid()"
3939 }
3940 },
3941 {
3942 "op" : "assign",
3943 "parameters" : [
3944 {
3945 "type" : "field",
3946 "value" : ["vlan_tag", "ether_type"]
3947 },
3948 {
3949 "type" : "hexstr",
3950 "value" : "0x8847"
3951 }
3952 ],
3953 "source_info" : {
3954 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003955 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003956 "column" : 31,
3957 "source_fragment" : "0x8847; ..."
3958 }
3959 },
3960 {
3961 "op" : "assign",
3962 "parameters" : [
3963 {
3964 "type" : "field",
3965 "value" : ["mpls", "label"]
3966 },
3967 {
3968 "type" : "runtime_data",
3969 "value" : 3
3970 }
3971 ],
3972 "source_info" : {
3973 "filename" : "include/control/next.p4",
3974 "line" : 48,
3975 "column" : 8,
3976 "source_fragment" : "hdr.mpls.label = label; ..."
3977 }
3978 },
3979 {
3980 "op" : "assign",
3981 "parameters" : [
3982 {
3983 "type" : "field",
3984 "value" : ["mpls", "tc"]
3985 },
3986 {
3987 "type" : "hexstr",
3988 "value" : "0x00"
3989 }
3990 ],
3991 "source_info" : {
3992 "filename" : "include/control/next.p4",
3993 "line" : 49,
3994 "column" : 8,
3995 "source_fragment" : "hdr.mpls.tc = tc; ..."
3996 }
3997 },
3998 {
3999 "op" : "assign",
4000 "parameters" : [
4001 {
4002 "type" : "field",
4003 "value" : ["mpls", "bos"]
4004 },
4005 {
4006 "type" : "hexstr",
4007 "value" : "0x01"
4008 }
4009 ],
4010 "source_info" : {
4011 "filename" : "include/control/next.p4",
4012 "line" : 50,
4013 "column" : 8,
4014 "source_fragment" : "hdr.mpls.bos = 1w1"
4015 }
4016 },
4017 {
4018 "op" : "assign",
4019 "parameters" : [
4020 {
4021 "type" : "field",
4022 "value" : ["mpls", "ttl"]
4023 },
4024 {
4025 "type" : "hexstr",
4026 "value" : "0x40"
4027 }
4028 ],
4029 "source_info" : {
4030 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004031 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004032 "column" : 32,
4033 "source_fragment" : "64; ..."
4034 }
4035 }
4036 ]
4037 },
4038 {
4039 "name" : "FabricIngress.next.set_mcast_group",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004040 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004041 "runtime_data" : [
4042 {
4043 "name" : "gid",
4044 "bitwidth" : 16
4045 }
4046 ],
4047 "primitives" : [
4048 {
4049 "op" : "assign",
4050 "parameters" : [
4051 {
4052 "type" : "field",
4053 "value" : ["standard_metadata", "mcast_grp"]
4054 },
4055 {
4056 "type" : "runtime_data",
4057 "value" : 0
4058 }
4059 ],
4060 "source_info" : {
4061 "filename" : "include/control/next.p4",
4062 "line" : 202,
4063 "column" : 8,
4064 "source_fragment" : "standard_metadata.mcast_grp = gid"
4065 }
4066 },
4067 {
4068 "op" : "assign",
4069 "parameters" : [
4070 {
4071 "type" : "field",
4072 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
4073 },
4074 {
4075 "type" : "expression",
4076 "value" : {
4077 "type" : "expression",
4078 "value" : {
4079 "op" : "b2d",
4080 "left" : null,
4081 "right" : {
4082 "type" : "bool",
4083 "value" : true
4084 }
4085 }
4086 }
4087 }
4088 ],
4089 "source_info" : {
4090 "filename" : "include/control/next.p4",
4091 "line" : 203,
4092 "column" : 8,
4093 "source_fragment" : "fabric_metadata.is_multicast = true"
4094 }
4095 }
4096 ]
4097 },
4098 {
4099 "name" : "act",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004100 "id" : 46,
4101 "runtime_data" : [],
4102 "primitives" : [
4103 {
4104 "op" : "assign",
4105 "parameters" : [
4106 {
4107 "type" : "field",
4108 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4109 },
4110 {
4111 "type" : "expression",
4112 "value" : {
4113 "type" : "expression",
4114 "value" : {
4115 "op" : "b2d",
4116 "left" : null,
4117 "right" : {
4118 "type" : "bool",
4119 "value" : true
4120 }
4121 }
4122 }
4123 }
4124 ],
4125 "source_info" : {
4126 "filename" : "include/spgw.p4",
4127 "line" : 30,
4128 "column" : 32,
4129 "source_fragment" : "return"
4130 }
4131 }
4132 ]
4133 },
4134 {
4135 "name" : "act_0",
4136 "id" : 47,
4137 "runtime_data" : [],
4138 "primitives" : [
4139 {
4140 "op" : "remove_header",
4141 "parameters" : [
4142 {
4143 "type" : "header",
4144 "value" : "gtpu_ipv4"
4145 }
4146 ],
4147 "source_info" : {
4148 "filename" : "fabric.p4",
4149 "line" : 52,
4150 "column" : 50,
4151 "source_fragment" : "hdr.gtpu_ipv4"
4152 }
4153 },
4154 {
4155 "op" : "remove_header",
4156 "parameters" : [
4157 {
4158 "type" : "header",
4159 "value" : "gtpu_udp"
4160 }
4161 ],
4162 "source_info" : {
4163 "filename" : "fabric.p4",
4164 "line" : 52,
4165 "column" : 65,
4166 "source_fragment" : "hdr.gtpu_udp"
4167 }
4168 },
4169 {
4170 "op" : "assign",
4171 "parameters" : [
4172 {
4173 "type" : "field",
4174 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4175 },
4176 {
4177 "type" : "expression",
4178 "value" : {
4179 "type" : "expression",
4180 "value" : {
4181 "op" : "b2d",
4182 "left" : null,
4183 "right" : {
4184 "type" : "bool",
4185 "value" : false
4186 }
4187 }
4188 }
4189 }
4190 ]
4191 }
4192 ]
4193 },
4194 {
4195 "name" : "act_1",
4196 "id" : 48,
4197 "runtime_data" : [],
4198 "primitives" : [
4199 {
4200 "op" : "assign_header",
4201 "parameters" : [
4202 {
4203 "type" : "header",
4204 "value" : "udp"
4205 },
4206 {
4207 "type" : "header",
4208 "value" : "inner_udp"
4209 }
4210 ],
4211 "source_info" : {
4212 "filename" : "include/spgw.p4",
4213 "line" : 35,
4214 "column" : 16,
4215 "source_fragment" : "= inner_udp; ..."
4216 }
4217 }
4218 ]
4219 },
4220 {
4221 "name" : "act_2",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004222 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004223 "runtime_data" : [],
4224 "primitives" : [
4225 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004226 "op" : "remove_header",
4227 "parameters" : [
4228 {
4229 "type" : "header",
4230 "value" : "udp"
4231 }
4232 ],
4233 "source_info" : {
4234 "filename" : "include/spgw.p4",
4235 "line" : 37,
4236 "column" : 12,
4237 "source_fragment" : "udp.setInvalid()"
4238 }
4239 }
4240 ]
4241 },
4242 {
4243 "name" : "act_3",
4244 "id" : 50,
4245 "runtime_data" : [],
4246 "primitives" : [
4247 {
4248 "op" : "assign_header",
4249 "parameters" : [
4250 {
4251 "type" : "header",
4252 "value" : "gtpu_ipv4"
4253 },
4254 {
4255 "type" : "header",
4256 "value" : "ipv4"
4257 }
4258 ],
4259 "source_info" : {
4260 "filename" : "include/spgw.p4",
4261 "line" : 31,
4262 "column" : 18,
4263 "source_fragment" : "= ipv4; ..."
4264 }
4265 },
4266 {
4267 "op" : "assign_header",
4268 "parameters" : [
4269 {
4270 "type" : "header",
4271 "value" : "ipv4"
4272 },
4273 {
4274 "type" : "header",
4275 "value" : "inner_ipv4"
4276 }
4277 ],
4278 "source_info" : {
4279 "filename" : "include/spgw.p4",
4280 "line" : 32,
4281 "column" : 13,
4282 "source_fragment" : "= inner_ipv4; ..."
4283 }
4284 },
4285 {
4286 "op" : "assign_header",
4287 "parameters" : [
4288 {
4289 "type" : "header",
4290 "value" : "gtpu_udp"
4291 },
4292 {
4293 "type" : "header",
4294 "value" : "udp"
4295 }
4296 ],
4297 "source_info" : {
4298 "filename" : "include/spgw.p4",
4299 "line" : 33,
4300 "column" : 17,
4301 "source_fragment" : "= udp; ..."
4302 }
4303 }
4304 ]
4305 },
4306 {
4307 "name" : "act_4",
4308 "id" : 51,
4309 "runtime_data" : [],
4310 "primitives" : [
4311 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004312 "op" : "assign",
4313 "parameters" : [
4314 {
4315 "type" : "field",
4316 "value" : ["standard_metadata", "egress_spec"]
4317 },
4318 {
4319 "type" : "field",
4320 "value" : ["packet_out", "egress_port"]
4321 }
4322 ],
4323 "source_info" : {
4324 "filename" : "include/control/packetio.p4",
4325 "line" : 26,
4326 "column" : 12,
4327 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4328 }
4329 },
4330 {
4331 "op" : "remove_header",
4332 "parameters" : [
4333 {
4334 "type" : "header",
4335 "value" : "packet_out"
4336 }
4337 ],
4338 "source_info" : {
4339 "filename" : "include/control/packetio.p4",
4340 "line" : 27,
4341 "column" : 12,
4342 "source_fragment" : "hdr.packet_out.setInvalid()"
4343 }
4344 }
4345 ]
4346 },
4347 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004348 "name" : "act_5",
4349 "id" : 52,
4350 "runtime_data" : [],
4351 "primitives" : [
4352 {
4353 "op" : "assign",
4354 "parameters" : [
4355 {
4356 "type" : "field",
4357 "value" : ["scalars", "spgw_ingress_tmp_1"]
4358 },
4359 {
4360 "type" : "expression",
4361 "value" : {
4362 "type" : "expression",
4363 "value" : {
4364 "op" : "b2d",
4365 "left" : null,
4366 "right" : {
4367 "type" : "bool",
4368 "value" : true
4369 }
4370 }
4371 }
4372 }
4373 ]
4374 }
4375 ]
4376 },
4377 {
4378 "name" : "act_6",
4379 "id" : 53,
4380 "runtime_data" : [],
4381 "primitives" : [
4382 {
4383 "op" : "assign",
4384 "parameters" : [
4385 {
4386 "type" : "field",
4387 "value" : ["scalars", "spgw_ingress_tmp_1"]
4388 },
4389 {
4390 "type" : "expression",
4391 "value" : {
4392 "type" : "expression",
4393 "value" : {
4394 "op" : "b2d",
4395 "left" : null,
4396 "right" : {
4397 "type" : "bool",
4398 "value" : false
4399 }
4400 }
4401 }
4402 }
4403 ]
4404 }
4405 ]
4406 },
4407 {
4408 "name" : "act_7",
4409 "id" : 54,
4410 "runtime_data" : [],
4411 "primitives" : [
4412 {
4413 "op" : "assign",
4414 "parameters" : [
4415 {
4416 "type" : "field",
4417 "value" : ["userMetadata.spgw", "direction"]
4418 },
4419 {
4420 "type" : "hexstr",
4421 "value" : "0x01"
4422 }
4423 ],
4424 "source_info" : {
4425 "filename" : "include/control/../define.p4",
4426 "line" : 116,
4427 "column" : 36,
4428 "source_fragment" : "2w1; ..."
4429 }
4430 }
4431 ]
4432 },
4433 {
4434 "name" : "act_8",
4435 "id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004436 "runtime_data" : [],
4437 "primitives" : [
4438 {
4439 "op" : "assign",
4440 "parameters" : [
4441 {
4442 "type" : "field",
4443 "value" : ["scalars", "spgw_ingress_tmp_2"]
4444 },
4445 {
4446 "type" : "expression",
4447 "value" : {
4448 "type" : "expression",
4449 "value" : {
4450 "op" : "b2d",
4451 "left" : null,
4452 "right" : {
4453 "type" : "bool",
4454 "value" : true
4455 }
4456 }
4457 }
4458 }
4459 ]
4460 }
4461 ]
4462 },
4463 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004464 "name" : "act_9",
4465 "id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004466 "runtime_data" : [],
4467 "primitives" : [
4468 {
4469 "op" : "assign",
4470 "parameters" : [
4471 {
4472 "type" : "field",
4473 "value" : ["scalars", "spgw_ingress_tmp_2"]
4474 },
4475 {
4476 "type" : "expression",
4477 "value" : {
4478 "type" : "expression",
4479 "value" : {
4480 "op" : "b2d",
4481 "left" : null,
4482 "right" : {
4483 "type" : "bool",
4484 "value" : false
4485 }
4486 }
4487 }
4488 }
4489 ]
4490 }
4491 ]
4492 },
4493 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004494 "name" : "act_10",
4495 "id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004496 "runtime_data" : [],
4497 "primitives" : [
4498 {
4499 "op" : "assign",
4500 "parameters" : [
4501 {
4502 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004503 "value" : ["userMetadata.spgw", "direction"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004504 },
4505 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004506 "type" : "hexstr",
4507 "value" : "0x02"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004508 }
4509 ],
4510 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004511 "filename" : "include/control/../define.p4",
4512 "line" : 117,
4513 "column" : 38,
4514 "source_fragment" : "2w2; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004515 }
4516 }
4517 ]
4518 },
4519 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004520 "name" : "act_11",
4521 "id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004522 "runtime_data" : [],
4523 "primitives" : [
4524 {
4525 "op" : "assign",
4526 "parameters" : [
4527 {
4528 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004529 "value" : ["userMetadata.spgw", "direction"]
4530 },
4531 {
4532 "type" : "hexstr",
4533 "value" : "0x00"
4534 }
4535 ],
4536 "source_info" : {
4537 "filename" : "include/control/../define.p4",
4538 "line" : 115,
4539 "column" : 37,
4540 "source_fragment" : "2w0; ..."
4541 }
4542 },
4543 {
4544 "op" : "assign",
4545 "parameters" : [
4546 {
4547 "type" : "field",
4548 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004549 },
4550 {
4551 "type" : "expression",
4552 "value" : {
4553 "type" : "expression",
4554 "value" : {
4555 "op" : "b2d",
4556 "left" : null,
4557 "right" : {
4558 "type" : "bool",
4559 "value" : true
4560 }
4561 }
4562 }
4563 }
4564 ],
4565 "source_info" : {
4566 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004567 "line" : 153,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004568 "column" : 12,
4569 "source_fragment" : "return"
4570 }
4571 }
4572 ]
4573 },
4574 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004575 "name" : "act_12",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004576 "id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004577 "runtime_data" : [],
4578 "primitives" : [
4579 {
4580 "op" : "assign",
4581 "parameters" : [
4582 {
4583 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004584 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004585 },
4586 {
4587 "type" : "expression",
4588 "value" : {
4589 "type" : "expression",
4590 "value" : {
4591 "op" : "b2d",
4592 "left" : null,
4593 "right" : {
4594 "type" : "bool",
4595 "value" : false
4596 }
4597 }
4598 }
4599 }
4600 ]
4601 }
4602 ]
4603 },
4604 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004605 "name" : "act_13",
4606 "id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004607 "runtime_data" : [],
4608 "primitives" : [
4609 {
4610 "op" : "assign",
4611 "parameters" : [
4612 {
4613 "type" : "field",
4614 "value" : ["userMetadata.spgw", "ipv4_len"]
4615 },
4616 {
4617 "type" : "field",
4618 "value" : ["ipv4", "total_len"]
4619 }
4620 ],
4621 "source_info" : {
4622 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07004623 "line" : 170,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004624 "column" : 8,
4625 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4626 }
4627 }
4628 ]
4629 },
4630 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004631 "name" : "act_14",
4632 "id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004633 "runtime_data" : [],
4634 "primitives" : [
4635 {
4636 "op" : "assign",
4637 "parameters" : [
4638 {
4639 "type" : "field",
4640 "value" : ["vlan_tag", "ether_type"]
4641 },
4642 {
4643 "type" : "hexstr",
4644 "value" : "0x0800"
4645 }
4646 ],
4647 "source_info" : {
4648 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004649 "line" : 92,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004650 "column" : 31,
4651 "source_fragment" : "0x0800; ..."
4652 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004653 }
4654 ]
4655 },
4656 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004657 "name" : "act_15",
4658 "id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004659 "runtime_data" : [],
4660 "primitives" : [
4661 {
4662 "op" : "assign",
4663 "parameters" : [
4664 {
4665 "type" : "field",
4666 "value" : ["scalars", "next_hasReturned_0"]
4667 },
4668 {
4669 "type" : "expression",
4670 "value" : {
4671 "type" : "expression",
4672 "value" : {
4673 "op" : "b2d",
4674 "left" : null,
4675 "right" : {
4676 "type" : "bool",
4677 "value" : false
4678 }
4679 }
4680 }
4681 }
4682 ]
4683 }
4684 ]
4685 },
4686 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004687 "name" : "act_16",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004688 "id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004689 "runtime_data" : [],
4690 "primitives" : [
4691 {
4692 "op" : "assign",
4693 "parameters" : [
4694 {
4695 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004696 "value" : ["scalars", "next_tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004697 },
4698 {
4699 "type" : "expression",
4700 "value" : {
4701 "type" : "expression",
4702 "value" : {
4703 "op" : "b2d",
4704 "left" : null,
4705 "right" : {
4706 "type" : "bool",
4707 "value" : true
4708 }
4709 }
4710 }
4711 }
4712 ]
4713 }
4714 ]
4715 },
4716 {
4717 "name" : "act_17",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004718 "id" : 64,
4719 "runtime_data" : [],
4720 "primitives" : [
4721 {
4722 "op" : "assign",
4723 "parameters" : [
4724 {
4725 "type" : "field",
4726 "value" : ["scalars", "next_tmp_4"]
4727 },
4728 {
4729 "type" : "expression",
4730 "value" : {
4731 "type" : "expression",
4732 "value" : {
4733 "op" : "b2d",
4734 "left" : null,
4735 "right" : {
4736 "type" : "bool",
4737 "value" : false
4738 }
4739 }
4740 }
4741 }
4742 ]
4743 }
4744 ]
4745 },
4746 {
4747 "name" : "act_18",
4748 "id" : 65,
4749 "runtime_data" : [],
4750 "primitives" : [
4751 {
4752 "op" : "assign",
4753 "parameters" : [
4754 {
4755 "type" : "field",
4756 "value" : ["scalars", "next_tmp_3"]
4757 },
4758 {
4759 "type" : "expression",
4760 "value" : {
4761 "type" : "expression",
4762 "value" : {
4763 "op" : "b2d",
4764 "left" : null,
4765 "right" : {
4766 "type" : "bool",
4767 "value" : true
4768 }
4769 }
4770 }
4771 }
4772 ]
4773 }
4774 ]
4775 },
4776 {
4777 "name" : "act_19",
4778 "id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004779 "runtime_data" : [],
4780 "primitives" : [
4781 {
4782 "op" : "assign",
4783 "parameters" : [
4784 {
4785 "type" : "field",
4786 "value" : ["scalars", "next_tmp_3"]
4787 },
4788 {
4789 "type" : "expression",
4790 "value" : {
4791 "type" : "expression",
4792 "value" : {
4793 "op" : "b2d",
4794 "left" : null,
4795 "right" : {
4796 "type" : "bool",
4797 "value" : false
4798 }
4799 }
4800 }
4801 }
4802 ]
4803 }
4804 ]
4805 },
4806 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004807 "name" : "act_20",
4808 "id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004809 "runtime_data" : [],
4810 "primitives" : [
4811 {
4812 "op" : "assign",
4813 "parameters" : [
4814 {
4815 "type" : "field",
4816 "value" : ["scalars", "next_tmp_2"]
4817 },
4818 {
4819 "type" : "expression",
4820 "value" : {
4821 "type" : "expression",
4822 "value" : {
4823 "op" : "b2d",
4824 "left" : null,
4825 "right" : {
4826 "type" : "bool",
4827 "value" : true
4828 }
4829 }
4830 }
4831 }
4832 ]
4833 }
4834 ]
4835 },
4836 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004837 "name" : "act_21",
4838 "id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004839 "runtime_data" : [],
4840 "primitives" : [
4841 {
4842 "op" : "assign",
4843 "parameters" : [
4844 {
4845 "type" : "field",
4846 "value" : ["scalars", "next_tmp_2"]
4847 },
4848 {
4849 "type" : "expression",
4850 "value" : {
4851 "type" : "expression",
4852 "value" : {
4853 "op" : "b2d",
4854 "left" : null,
4855 "right" : {
4856 "type" : "bool",
4857 "value" : false
4858 }
4859 }
4860 }
4861 }
4862 ]
4863 }
4864 ]
4865 },
4866 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004867 "name" : "act_22",
4868 "id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004869 "runtime_data" : [],
4870 "primitives" : [
4871 {
4872 "op" : "assign",
4873 "parameters" : [
4874 {
4875 "type" : "field",
4876 "value" : ["scalars", "next_hasReturned_0"]
4877 },
4878 {
4879 "type" : "expression",
4880 "value" : {
4881 "type" : "expression",
4882 "value" : {
4883 "op" : "b2d",
4884 "left" : null,
4885 "right" : {
4886 "type" : "bool",
4887 "value" : true
4888 }
4889 }
4890 }
4891 }
4892 ],
4893 "source_info" : {
4894 "filename" : "include/control/next.p4",
4895 "line" : 223,
4896 "column" : 20,
4897 "source_fragment" : "return"
4898 }
4899 }
4900 ]
4901 },
4902 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004903 "name" : "act_23",
4904 "id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004905 "runtime_data" : [],
4906 "primitives" : [
4907 {
4908 "op" : "assign",
4909 "parameters" : [
4910 {
4911 "type" : "field",
4912 "value" : ["ipv4", "ttl"]
4913 },
4914 {
4915 "type" : "expression",
4916 "value" : {
4917 "type" : "expression",
4918 "value" : {
4919 "op" : "&",
4920 "left" : {
4921 "type" : "expression",
4922 "value" : {
4923 "op" : "+",
4924 "left" : {
4925 "type" : "field",
4926 "value" : ["ipv4", "ttl"]
4927 },
4928 "right" : {
4929 "type" : "hexstr",
4930 "value" : "0xff"
4931 }
4932 }
4933 },
4934 "right" : {
4935 "type" : "hexstr",
4936 "value" : "0xff"
4937 }
4938 }
4939 }
4940 }
4941 ],
4942 "source_info" : {
4943 "filename" : "include/control/next.p4",
4944 "line" : 230,
4945 "column" : 16,
4946 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4947 }
4948 }
4949 ]
4950 },
4951 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004952 "name" : "act_24",
4953 "id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004954 "runtime_data" : [],
4955 "primitives" : [
4956 {
4957 "op" : "assign",
4958 "parameters" : [
4959 {
4960 "type" : "field",
4961 "value" : ["ipv6", "hop_limit"]
4962 },
4963 {
4964 "type" : "expression",
4965 "value" : {
4966 "type" : "expression",
4967 "value" : {
4968 "op" : "&",
4969 "left" : {
4970 "type" : "expression",
4971 "value" : {
4972 "op" : "+",
4973 "left" : {
4974 "type" : "field",
4975 "value" : ["ipv6", "hop_limit"]
4976 },
4977 "right" : {
4978 "type" : "hexstr",
4979 "value" : "0xff"
4980 }
4981 }
4982 },
4983 "right" : {
4984 "type" : "hexstr",
4985 "value" : "0xff"
4986 }
4987 }
4988 }
4989 }
4990 ],
4991 "source_info" : {
4992 "filename" : "include/control/next.p4",
4993 "line" : 234,
4994 "column" : 16,
4995 "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
4996 }
4997 }
4998 ]
4999 },
5000 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005001 "name" : "act_25",
5002 "id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005003 "runtime_data" : [],
5004 "primitives" : [
5005 {
5006 "op" : "assign",
5007 "parameters" : [
5008 {
5009 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005010 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005011 },
5012 {
5013 "type" : "expression",
5014 "value" : {
5015 "type" : "expression",
5016 "value" : {
5017 "op" : "&",
5018 "left" : {
5019 "type" : "field",
5020 "value" : ["standard_metadata", "egress_spec"]
5021 },
5022 "right" : {
5023 "type" : "hexstr",
5024 "value" : "0xffffffff"
5025 }
5026 }
5027 }
5028 }
5029 ],
5030 "source_info" : {
5031 "filename" : "include/control/port_counter.p4",
5032 "line" : 28,
5033 "column" : 38,
5034 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5035 }
5036 },
5037 {
5038 "op" : "count",
5039 "parameters" : [
5040 {
5041 "type" : "counter_array",
5042 "value" : "FabricIngress.port_counters_control.egress_port_counter"
5043 },
5044 {
5045 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005046 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005047 }
5048 ],
5049 "source_info" : {
5050 "filename" : "include/control/port_counter.p4",
5051 "line" : 28,
5052 "column" : 12,
5053 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5054 }
5055 }
5056 ]
5057 },
5058 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005059 "name" : "act_26",
5060 "id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005061 "runtime_data" : [],
5062 "primitives" : [
5063 {
5064 "op" : "assign",
5065 "parameters" : [
5066 {
5067 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005068 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005069 },
5070 {
5071 "type" : "expression",
5072 "value" : {
5073 "type" : "expression",
5074 "value" : {
5075 "op" : "&",
5076 "left" : {
5077 "type" : "field",
5078 "value" : ["standard_metadata", "ingress_port"]
5079 },
5080 "right" : {
5081 "type" : "hexstr",
5082 "value" : "0xffffffff"
5083 }
5084 }
5085 }
5086 }
5087 ],
5088 "source_info" : {
5089 "filename" : "include/control/port_counter.p4",
5090 "line" : 31,
5091 "column" : 39,
5092 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5093 }
5094 },
5095 {
5096 "op" : "count",
5097 "parameters" : [
5098 {
5099 "type" : "counter_array",
5100 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
5101 },
5102 {
5103 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005104 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005105 }
5106 ],
5107 "source_info" : {
5108 "filename" : "include/control/port_counter.p4",
5109 "line" : 31,
5110 "column" : 12,
5111 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5112 }
5113 }
5114 ]
5115 },
5116 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005117 "name" : "act_27",
5118 "id" : 74,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005119 "runtime_data" : [],
5120 "primitives" : [
5121 {
5122 "op" : "clone_ingress_pkt_to_egress",
5123 "parameters" : [
5124 {
5125 "type" : "hexstr",
5126 "value" : "0x000001f4"
5127 },
5128 {
5129 "type" : "hexstr",
5130 "value" : "0x1"
5131 }
5132 ]
5133 }
5134 ]
5135 },
5136 {
5137 "name" : "NoAction",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005138 "id" : 75,
5139 "runtime_data" : [],
5140 "primitives" : []
5141 },
5142 {
5143 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005144 "id" : 76,
5145 "runtime_data" : [],
5146 "primitives" : []
5147 },
5148 {
5149 "name" : "NoAction",
5150 "id" : 77,
5151 "runtime_data" : [],
5152 "primitives" : []
5153 },
5154 {
5155 "name" : "NoAction",
5156 "id" : 78,
5157 "runtime_data" : [],
5158 "primitives" : []
5159 },
5160 {
5161 "name" : "NoAction",
5162 "id" : 79,
5163 "runtime_data" : [],
5164 "primitives" : []
5165 },
5166 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005167 "name" : "nop",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005168 "id" : 80,
5169 "runtime_data" : [],
5170 "primitives" : []
5171 },
5172 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005173 "name" : "drop_now",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005174 "id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005175 "runtime_data" : [],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005176 "primitives" : [
5177 {
5178 "op" : "drop",
5179 "parameters" : [],
5180 "source_info" : {
5181 "filename" : "include/control/../action.p4",
5182 "line" : 24,
5183 "column" : 4,
5184 "source_fragment" : "mark_to_drop()"
5185 }
5186 },
5187 {
5188 "op" : "exit",
5189 "parameters" : [],
5190 "source_info" : {
5191 "filename" : "include/control/../action.p4",
5192 "line" : 25,
5193 "column" : 4,
5194 "source_fragment" : "exit"
5195 }
5196 }
5197 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005198 },
5199 {
5200 "name" : "drop_now",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005201 "id" : 82,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005202 "runtime_data" : [],
5203 "primitives" : [
5204 {
5205 "op" : "drop",
5206 "parameters" : [],
5207 "source_info" : {
5208 "filename" : "include/control/../action.p4",
5209 "line" : 24,
5210 "column" : 4,
5211 "source_fragment" : "mark_to_drop()"
5212 }
5213 },
5214 {
5215 "op" : "exit",
5216 "parameters" : [],
5217 "source_info" : {
5218 "filename" : "include/control/../action.p4",
5219 "line" : 25,
5220 "column" : 4,
5221 "source_fragment" : "exit"
5222 }
5223 }
5224 ]
5225 },
5226 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005227 "name" : "FabricEgress.spgw_egress.gtpu_encap",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005228 "id" : 83,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005229 "runtime_data" : [],
5230 "primitives" : [
5231 {
5232 "op" : "add_header",
5233 "parameters" : [
5234 {
5235 "type" : "header",
5236 "value" : "gtpu_ipv4"
5237 }
5238 ],
5239 "source_info" : {
5240 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005241 "line" : 185,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005242 "column" : 8,
5243 "source_fragment" : "gtpu_ipv4.setValid()"
5244 }
5245 },
5246 {
5247 "op" : "assign",
5248 "parameters" : [
5249 {
5250 "type" : "field",
5251 "value" : ["gtpu_ipv4", "version"]
5252 },
5253 {
5254 "type" : "hexstr",
5255 "value" : "0x04"
5256 }
5257 ],
5258 "source_info" : {
5259 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005260 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005261 "column" : 8,
5262 "source_fragment" : "gtpu_ipv4.version = 4"
5263 }
5264 },
5265 {
5266 "op" : "assign",
5267 "parameters" : [
5268 {
5269 "type" : "field",
5270 "value" : ["gtpu_ipv4", "ihl"]
5271 },
5272 {
5273 "type" : "hexstr",
5274 "value" : "0x05"
5275 }
5276 ],
5277 "source_info" : {
5278 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005279 "line" : 101,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005280 "column" : 28,
5281 "source_fragment" : "5; ..."
5282 }
5283 },
5284 {
5285 "op" : "assign",
5286 "parameters" : [
5287 {
5288 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005289 "value" : ["gtpu_ipv4", "dscp"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005290 },
5291 {
5292 "type" : "hexstr",
5293 "value" : "0x00"
5294 }
5295 ],
5296 "source_info" : {
5297 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005298 "line" : 188,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005299 "column" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005300 "source_fragment" : "gtpu_ipv4.dscp = 0"
5301 }
5302 },
5303 {
5304 "op" : "assign",
5305 "parameters" : [
5306 {
5307 "type" : "field",
5308 "value" : ["gtpu_ipv4", "ecn"]
5309 },
5310 {
5311 "type" : "hexstr",
5312 "value" : "0x00"
5313 }
5314 ],
5315 "source_info" : {
5316 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005317 "line" : 189,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005318 "column" : 8,
5319 "source_fragment" : "gtpu_ipv4.ecn = 0"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005320 }
5321 },
5322 {
5323 "op" : "assign",
5324 "parameters" : [
5325 {
5326 "type" : "field",
5327 "value" : ["gtpu_ipv4", "total_len"]
5328 },
5329 {
5330 "type" : "expression",
5331 "value" : {
5332 "type" : "expression",
5333 "value" : {
5334 "op" : "&",
5335 "left" : {
5336 "type" : "expression",
5337 "value" : {
5338 "op" : "+",
5339 "left" : {
5340 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005341 "value" : ["ipv4", "total_len"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005342 },
5343 "right" : {
5344 "type" : "hexstr",
5345 "value" : "0x0024"
5346 }
5347 }
5348 },
5349 "right" : {
5350 "type" : "hexstr",
5351 "value" : "0xffff"
5352 }
5353 }
5354 }
5355 }
5356 ],
5357 "source_info" : {
5358 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005359 "line" : 190,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005360 "column" : 8,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005361 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005362 }
5363 },
5364 {
5365 "op" : "assign",
5366 "parameters" : [
5367 {
5368 "type" : "field",
5369 "value" : ["gtpu_ipv4", "identification"]
5370 },
5371 {
5372 "type" : "hexstr",
5373 "value" : "0x1513"
5374 }
5375 ],
5376 "source_info" : {
5377 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005378 "line" : 192,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005379 "column" : 8,
5380 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
5381 }
5382 },
5383 {
5384 "op" : "assign",
5385 "parameters" : [
5386 {
5387 "type" : "field",
5388 "value" : ["gtpu_ipv4", "flags"]
5389 },
5390 {
5391 "type" : "hexstr",
5392 "value" : "0x00"
5393 }
5394 ],
5395 "source_info" : {
5396 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005397 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005398 "column" : 8,
5399 "source_fragment" : "gtpu_ipv4.flags = 0"
5400 }
5401 },
5402 {
5403 "op" : "assign",
5404 "parameters" : [
5405 {
5406 "type" : "field",
5407 "value" : ["gtpu_ipv4", "frag_offset"]
5408 },
5409 {
5410 "type" : "hexstr",
5411 "value" : "0x0000"
5412 }
5413 ],
5414 "source_info" : {
5415 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005416 "line" : 194,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005417 "column" : 8,
5418 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
5419 }
5420 },
5421 {
5422 "op" : "assign",
5423 "parameters" : [
5424 {
5425 "type" : "field",
5426 "value" : ["gtpu_ipv4", "ttl"]
5427 },
5428 {
5429 "type" : "hexstr",
5430 "value" : "0x40"
5431 }
5432 ],
5433 "source_info" : {
5434 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005435 "line" : 111,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005436 "column" : 32,
5437 "source_fragment" : "64; ..."
5438 }
5439 },
5440 {
5441 "op" : "assign",
5442 "parameters" : [
5443 {
5444 "type" : "field",
5445 "value" : ["gtpu_ipv4", "protocol"]
5446 },
5447 {
5448 "type" : "hexstr",
5449 "value" : "0x11"
5450 }
5451 ],
5452 "source_info" : {
5453 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005454 "line" : 98,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005455 "column" : 25,
5456 "source_fragment" : "17; ..."
5457 }
5458 },
5459 {
5460 "op" : "assign",
5461 "parameters" : [
5462 {
5463 "type" : "field",
5464 "value" : ["gtpu_ipv4", "dst_addr"]
5465 },
5466 {
5467 "type" : "field",
5468 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5469 }
5470 ],
5471 "source_info" : {
5472 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005473 "line" : 197,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005474 "column" : 8,
5475 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5476 }
5477 },
5478 {
5479 "op" : "assign",
5480 "parameters" : [
5481 {
5482 "type" : "field",
5483 "value" : ["gtpu_ipv4", "src_addr"]
5484 },
5485 {
5486 "type" : "field",
5487 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5488 }
5489 ],
5490 "source_info" : {
5491 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005492 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005493 "column" : 8,
5494 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5495 }
5496 },
5497 {
5498 "op" : "assign",
5499 "parameters" : [
5500 {
5501 "type" : "field",
5502 "value" : ["gtpu_ipv4", "hdr_checksum"]
5503 },
5504 {
5505 "type" : "hexstr",
5506 "value" : "0x0000"
5507 }
5508 ],
5509 "source_info" : {
5510 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005511 "line" : 199,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005512 "column" : 8,
5513 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5514 }
5515 },
5516 {
5517 "op" : "add_header",
5518 "parameters" : [
5519 {
5520 "type" : "header",
5521 "value" : "gtpu_udp"
5522 }
5523 ],
5524 "source_info" : {
5525 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005526 "line" : 201,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005527 "column" : 8,
5528 "source_fragment" : "gtpu_udp.setValid()"
5529 }
5530 },
5531 {
5532 "op" : "assign",
5533 "parameters" : [
5534 {
5535 "type" : "field",
5536 "value" : ["gtpu_udp", "src_port"]
5537 },
5538 {
5539 "type" : "hexstr",
5540 "value" : "0x0868"
5541 }
5542 ],
5543 "source_info" : {
5544 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005545 "line" : 202,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005546 "column" : 8,
5547 "source_fragment" : "gtpu_udp.src_port = 2152"
5548 }
5549 },
5550 {
5551 "op" : "assign",
5552 "parameters" : [
5553 {
5554 "type" : "field",
5555 "value" : ["gtpu_udp", "dst_port"]
5556 },
5557 {
5558 "type" : "hexstr",
5559 "value" : "0x0868"
5560 }
5561 ],
5562 "source_info" : {
5563 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005564 "line" : 203,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005565 "column" : 8,
5566 "source_fragment" : "gtpu_udp.dst_port = 2152"
5567 }
5568 },
5569 {
5570 "op" : "assign",
5571 "parameters" : [
5572 {
5573 "type" : "field",
5574 "value" : ["gtpu_udp", "len"]
5575 },
5576 {
5577 "type" : "expression",
5578 "value" : {
5579 "type" : "expression",
5580 "value" : {
5581 "op" : "&",
5582 "left" : {
5583 "type" : "expression",
5584 "value" : {
5585 "op" : "+",
5586 "left" : {
5587 "type" : "field",
5588 "value" : ["userMetadata.spgw", "ipv4_len"]
5589 },
5590 "right" : {
5591 "type" : "hexstr",
5592 "value" : "0x0010"
5593 }
5594 }
5595 },
5596 "right" : {
5597 "type" : "hexstr",
5598 "value" : "0xffff"
5599 }
5600 }
5601 }
5602 }
5603 ],
5604 "source_info" : {
5605 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005606 "line" : 204,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005607 "column" : 8,
5608 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5609 }
5610 },
5611 {
5612 "op" : "assign",
5613 "parameters" : [
5614 {
5615 "type" : "field",
5616 "value" : ["gtpu_udp", "checksum"]
5617 },
5618 {
5619 "type" : "hexstr",
5620 "value" : "0x0000"
5621 }
5622 ],
5623 "source_info" : {
5624 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005625 "line" : 206,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005626 "column" : 8,
5627 "source_fragment" : "gtpu_udp.checksum = 0"
5628 }
5629 },
5630 {
5631 "op" : "add_header",
5632 "parameters" : [
5633 {
5634 "type" : "header",
5635 "value" : "gtpu"
5636 }
5637 ],
5638 "source_info" : {
5639 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005640 "line" : 208,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005641 "column" : 8,
5642 "source_fragment" : "gtpu.setValid()"
5643 }
5644 },
5645 {
5646 "op" : "assign",
5647 "parameters" : [
5648 {
5649 "type" : "field",
5650 "value" : ["gtpu", "version"]
5651 },
5652 {
5653 "type" : "hexstr",
5654 "value" : "0x01"
5655 }
5656 ],
5657 "source_info" : {
5658 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005659 "line" : 209,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005660 "column" : 8,
5661 "source_fragment" : "gtpu.version = 0x01"
5662 }
5663 },
5664 {
5665 "op" : "assign",
5666 "parameters" : [
5667 {
5668 "type" : "field",
5669 "value" : ["gtpu", "pt"]
5670 },
5671 {
5672 "type" : "hexstr",
5673 "value" : "0x01"
5674 }
5675 ],
5676 "source_info" : {
5677 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005678 "line" : 210,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005679 "column" : 8,
5680 "source_fragment" : "gtpu.pt = 0x01"
5681 }
5682 },
5683 {
5684 "op" : "assign",
5685 "parameters" : [
5686 {
5687 "type" : "field",
5688 "value" : ["gtpu", "spare"]
5689 },
5690 {
5691 "type" : "hexstr",
5692 "value" : "0x00"
5693 }
5694 ],
5695 "source_info" : {
5696 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005697 "line" : 211,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005698 "column" : 8,
5699 "source_fragment" : "gtpu.spare = 0"
5700 }
5701 },
5702 {
5703 "op" : "assign",
5704 "parameters" : [
5705 {
5706 "type" : "field",
5707 "value" : ["gtpu", "ex_flag"]
5708 },
5709 {
5710 "type" : "hexstr",
5711 "value" : "0x00"
5712 }
5713 ],
5714 "source_info" : {
5715 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005716 "line" : 212,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005717 "column" : 8,
5718 "source_fragment" : "gtpu.ex_flag = 0"
5719 }
5720 },
5721 {
5722 "op" : "assign",
5723 "parameters" : [
5724 {
5725 "type" : "field",
5726 "value" : ["gtpu", "seq_flag"]
5727 },
5728 {
5729 "type" : "hexstr",
5730 "value" : "0x00"
5731 }
5732 ],
5733 "source_info" : {
5734 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005735 "line" : 213,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005736 "column" : 8,
5737 "source_fragment" : "gtpu.seq_flag = 0"
5738 }
5739 },
5740 {
5741 "op" : "assign",
5742 "parameters" : [
5743 {
5744 "type" : "field",
5745 "value" : ["gtpu", "npdu_flag"]
5746 },
5747 {
5748 "type" : "hexstr",
5749 "value" : "0x00"
5750 }
5751 ],
5752 "source_info" : {
5753 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005754 "line" : 214,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005755 "column" : 8,
5756 "source_fragment" : "gtpu.npdu_flag = 0"
5757 }
5758 },
5759 {
5760 "op" : "assign",
5761 "parameters" : [
5762 {
5763 "type" : "field",
5764 "value" : ["gtpu", "msgtype"]
5765 },
5766 {
5767 "type" : "hexstr",
5768 "value" : "0xff"
5769 }
5770 ],
5771 "source_info" : {
5772 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005773 "line" : 215,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005774 "column" : 8,
5775 "source_fragment" : "gtpu.msgtype = 0xff"
5776 }
5777 },
5778 {
5779 "op" : "assign",
5780 "parameters" : [
5781 {
5782 "type" : "field",
5783 "value" : ["gtpu", "msglen"]
5784 },
5785 {
5786 "type" : "field",
5787 "value" : ["userMetadata.spgw", "ipv4_len"]
5788 }
5789 ],
5790 "source_info" : {
5791 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005792 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005793 "column" : 8,
5794 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5795 }
5796 },
5797 {
5798 "op" : "assign",
5799 "parameters" : [
5800 {
5801 "type" : "field",
5802 "value" : ["gtpu", "teid"]
5803 },
5804 {
5805 "type" : "field",
5806 "value" : ["userMetadata.spgw", "teid"]
5807 }
5808 ],
5809 "source_info" : {
5810 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -07005811 "line" : 217,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005812 "column" : 8,
5813 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5814 }
5815 }
5816 ]
5817 },
5818 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005819 "name" : "FabricEgress.process_int_source.int_source_dscp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005820 "id" : 84,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005821 "runtime_data" : [
5822 {
5823 "name" : "max_hop",
5824 "bitwidth" : 8
5825 },
5826 {
5827 "name" : "ins_cnt",
5828 "bitwidth" : 5
5829 },
5830 {
5831 "name" : "ins_mask0003",
5832 "bitwidth" : 4
5833 },
5834 {
5835 "name" : "ins_mask0407",
5836 "bitwidth" : 4
5837 }
5838 ],
5839 "primitives" : [
5840 {
5841 "op" : "add_header",
5842 "parameters" : [
5843 {
5844 "type" : "header",
5845 "value" : "intl4_shim"
5846 }
5847 ],
5848 "source_info" : {
5849 "filename" : "include/int_source.p4",
5850 "line" : 31,
5851 "column" : 8,
5852 "source_fragment" : "hdr.intl4_shim.setValid()"
5853 }
5854 },
5855 {
5856 "op" : "assign",
5857 "parameters" : [
5858 {
5859 "type" : "field",
5860 "value" : ["intl4_shim", "int_type"]
5861 },
5862 {
5863 "type" : "hexstr",
5864 "value" : "0x01"
5865 }
5866 ],
5867 "source_info" : {
5868 "filename" : "include/int_source.p4",
5869 "line" : 33,
5870 "column" : 8,
5871 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5872 }
5873 },
5874 {
5875 "op" : "assign",
5876 "parameters" : [
5877 {
5878 "type" : "field",
5879 "value" : ["intl4_shim", "len"]
5880 },
5881 {
5882 "type" : "hexstr",
5883 "value" : "0x04"
5884 }
5885 ],
5886 "source_info" : {
5887 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005888 "line" : 124,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005889 "column" : 35,
5890 "source_fragment" : "4; ..."
5891 }
5892 },
5893 {
5894 "op" : "add_header",
5895 "parameters" : [
5896 {
5897 "type" : "header",
5898 "value" : "int_header"
5899 }
5900 ],
5901 "source_info" : {
5902 "filename" : "include/int_source.p4",
5903 "line" : 37,
5904 "column" : 8,
5905 "source_fragment" : "hdr.int_header.setValid()"
5906 }
5907 },
5908 {
5909 "op" : "assign",
5910 "parameters" : [
5911 {
5912 "type" : "field",
5913 "value" : ["int_header", "ver"]
5914 },
5915 {
5916 "type" : "hexstr",
5917 "value" : "0x00"
5918 }
5919 ],
5920 "source_info" : {
5921 "filename" : "include/int_source.p4",
5922 "line" : 38,
5923 "column" : 8,
5924 "source_fragment" : "hdr.int_header.ver = 0"
5925 }
5926 },
5927 {
5928 "op" : "assign",
5929 "parameters" : [
5930 {
5931 "type" : "field",
5932 "value" : ["int_header", "rep"]
5933 },
5934 {
5935 "type" : "hexstr",
5936 "value" : "0x00"
5937 }
5938 ],
5939 "source_info" : {
5940 "filename" : "include/int_source.p4",
5941 "line" : 39,
5942 "column" : 8,
5943 "source_fragment" : "hdr.int_header.rep = 0"
5944 }
5945 },
5946 {
5947 "op" : "assign",
5948 "parameters" : [
5949 {
5950 "type" : "field",
5951 "value" : ["int_header", "c"]
5952 },
5953 {
5954 "type" : "hexstr",
5955 "value" : "0x00"
5956 }
5957 ],
5958 "source_info" : {
5959 "filename" : "include/int_source.p4",
5960 "line" : 40,
5961 "column" : 8,
5962 "source_fragment" : "hdr.int_header.c = 0"
5963 }
5964 },
5965 {
5966 "op" : "assign",
5967 "parameters" : [
5968 {
5969 "type" : "field",
5970 "value" : ["int_header", "e"]
5971 },
5972 {
5973 "type" : "hexstr",
5974 "value" : "0x00"
5975 }
5976 ],
5977 "source_info" : {
5978 "filename" : "include/int_source.p4",
5979 "line" : 41,
5980 "column" : 8,
5981 "source_fragment" : "hdr.int_header.e = 0"
5982 }
5983 },
5984 {
5985 "op" : "assign",
5986 "parameters" : [
5987 {
5988 "type" : "field",
5989 "value" : ["int_header", "rsvd1"]
5990 },
5991 {
5992 "type" : "hexstr",
5993 "value" : "0x00"
5994 }
5995 ],
5996 "source_info" : {
5997 "filename" : "include/int_source.p4",
5998 "line" : 42,
5999 "column" : 8,
6000 "source_fragment" : "hdr.int_header.rsvd1 = 0"
6001 }
6002 },
6003 {
6004 "op" : "assign",
6005 "parameters" : [
6006 {
6007 "type" : "field",
6008 "value" : ["int_header", "ins_cnt"]
6009 },
6010 {
6011 "type" : "runtime_data",
6012 "value" : 1
6013 }
6014 ],
6015 "source_info" : {
6016 "filename" : "include/int_source.p4",
6017 "line" : 43,
6018 "column" : 8,
6019 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
6020 }
6021 },
6022 {
6023 "op" : "assign",
6024 "parameters" : [
6025 {
6026 "type" : "field",
6027 "value" : ["int_header", "max_hop_cnt"]
6028 },
6029 {
6030 "type" : "runtime_data",
6031 "value" : 0
6032 }
6033 ],
6034 "source_info" : {
6035 "filename" : "include/int_source.p4",
6036 "line" : 44,
6037 "column" : 8,
6038 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
6039 }
6040 },
6041 {
6042 "op" : "assign",
6043 "parameters" : [
6044 {
6045 "type" : "field",
6046 "value" : ["int_header", "total_hop_cnt"]
6047 },
6048 {
6049 "type" : "hexstr",
6050 "value" : "0x00"
6051 }
6052 ],
6053 "source_info" : {
6054 "filename" : "include/int_source.p4",
6055 "line" : 45,
6056 "column" : 8,
6057 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
6058 }
6059 },
6060 {
6061 "op" : "assign",
6062 "parameters" : [
6063 {
6064 "type" : "field",
6065 "value" : ["int_header", "instruction_mask_0003"]
6066 },
6067 {
6068 "type" : "runtime_data",
6069 "value" : 2
6070 }
6071 ],
6072 "source_info" : {
6073 "filename" : "include/int_source.p4",
6074 "line" : 46,
6075 "column" : 8,
6076 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
6077 }
6078 },
6079 {
6080 "op" : "assign",
6081 "parameters" : [
6082 {
6083 "type" : "field",
6084 "value" : ["int_header", "instruction_mask_0407"]
6085 },
6086 {
6087 "type" : "runtime_data",
6088 "value" : 3
6089 }
6090 ],
6091 "source_info" : {
6092 "filename" : "include/int_source.p4",
6093 "line" : 47,
6094 "column" : 8,
6095 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
6096 }
6097 },
6098 {
6099 "op" : "assign",
6100 "parameters" : [
6101 {
6102 "type" : "field",
6103 "value" : ["int_header", "instruction_mask_0811"]
6104 },
6105 {
6106 "type" : "hexstr",
6107 "value" : "0x00"
6108 }
6109 ],
6110 "source_info" : {
6111 "filename" : "include/int_source.p4",
6112 "line" : 48,
6113 "column" : 8,
6114 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
6115 }
6116 },
6117 {
6118 "op" : "assign",
6119 "parameters" : [
6120 {
6121 "type" : "field",
6122 "value" : ["int_header", "instruction_mask_1215"]
6123 },
6124 {
6125 "type" : "hexstr",
6126 "value" : "0x00"
6127 }
6128 ],
6129 "source_info" : {
6130 "filename" : "include/int_source.p4",
6131 "line" : 49,
6132 "column" : 8,
6133 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
6134 }
6135 },
6136 {
6137 "op" : "add_header",
6138 "parameters" : [
6139 {
6140 "type" : "header",
6141 "value" : "intl4_tail"
6142 }
6143 ],
6144 "source_info" : {
6145 "filename" : "include/int_source.p4",
6146 "line" : 52,
6147 "column" : 8,
6148 "source_fragment" : "hdr.intl4_tail.setValid()"
6149 }
6150 },
6151 {
6152 "op" : "assign",
6153 "parameters" : [
6154 {
6155 "type" : "field",
6156 "value" : ["intl4_tail", "next_proto"]
6157 },
6158 {
6159 "type" : "field",
6160 "value" : ["ipv4", "protocol"]
6161 }
6162 ],
6163 "source_info" : {
6164 "filename" : "include/int_source.p4",
6165 "line" : 53,
6166 "column" : 8,
6167 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
6168 }
6169 },
6170 {
6171 "op" : "assign",
6172 "parameters" : [
6173 {
6174 "type" : "field",
6175 "value" : ["intl4_tail", "dest_port"]
6176 },
6177 {
6178 "type" : "field",
6179 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
6180 }
6181 ],
6182 "source_info" : {
6183 "filename" : "include/int_source.p4",
6184 "line" : 54,
6185 "column" : 8,
6186 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
6187 }
6188 },
6189 {
6190 "op" : "assign",
6191 "parameters" : [
6192 {
6193 "type" : "field",
6194 "value" : ["intl4_tail", "dscp"]
6195 },
6196 {
6197 "type" : "expression",
6198 "value" : {
6199 "type" : "expression",
6200 "value" : {
6201 "op" : "&",
6202 "left" : {
6203 "type" : "field",
6204 "value" : ["ipv4", "dscp"]
6205 },
6206 "right" : {
6207 "type" : "hexstr",
6208 "value" : "0xff"
6209 }
6210 }
6211 }
6212 }
6213 ],
6214 "source_info" : {
6215 "filename" : "include/int_source.p4",
6216 "line" : 55,
6217 "column" : 8,
6218 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
6219 }
6220 },
6221 {
6222 "op" : "assign",
6223 "parameters" : [
6224 {
6225 "type" : "field",
6226 "value" : ["ipv4", "total_len"]
6227 },
6228 {
6229 "type" : "expression",
6230 "value" : {
6231 "type" : "expression",
6232 "value" : {
6233 "op" : "&",
6234 "left" : {
6235 "type" : "expression",
6236 "value" : {
6237 "op" : "+",
6238 "left" : {
6239 "type" : "field",
6240 "value" : ["ipv4", "total_len"]
6241 },
6242 "right" : {
6243 "type" : "hexstr",
6244 "value" : "0x0010"
6245 }
6246 }
6247 },
6248 "right" : {
6249 "type" : "hexstr",
6250 "value" : "0xffff"
6251 }
6252 }
6253 }
6254 }
6255 ],
6256 "source_info" : {
6257 "filename" : "include/int_source.p4",
6258 "line" : 58,
6259 "column" : 8,
6260 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
6261 }
6262 },
6263 {
6264 "op" : "assign",
6265 "parameters" : [
6266 {
6267 "type" : "field",
6268 "value" : ["udp", "len"]
6269 },
6270 {
6271 "type" : "expression",
6272 "value" : {
6273 "type" : "expression",
6274 "value" : {
6275 "op" : "&",
6276 "left" : {
6277 "type" : "expression",
6278 "value" : {
6279 "op" : "+",
6280 "left" : {
6281 "type" : "field",
6282 "value" : ["udp", "len"]
6283 },
6284 "right" : {
6285 "type" : "hexstr",
6286 "value" : "0x0010"
6287 }
6288 }
6289 },
6290 "right" : {
6291 "type" : "hexstr",
6292 "value" : "0xffff"
6293 }
6294 }
6295 }
6296 }
6297 ],
6298 "source_info" : {
6299 "filename" : "include/int_source.p4",
6300 "line" : 59,
6301 "column" : 8,
6302 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
6303 }
6304 },
6305 {
6306 "op" : "assign",
6307 "parameters" : [
6308 {
6309 "type" : "field",
6310 "value" : ["ipv4", "dscp"]
6311 },
6312 {
6313 "type" : "hexstr",
6314 "value" : "0x01"
6315 }
6316 ],
6317 "source_info" : {
6318 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006319 "line" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006320 "column" : 24,
6321 "source_fragment" : "0x1; ..."
6322 }
6323 }
6324 ]
6325 },
6326 {
6327 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006328 "id" : 85,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006329 "runtime_data" : [],
6330 "primitives" : [
6331 {
6332 "op" : "assign",
6333 "parameters" : [
6334 {
6335 "type" : "field",
6336 "value" : ["int_header", "total_hop_cnt"]
6337 },
6338 {
6339 "type" : "expression",
6340 "value" : {
6341 "type" : "expression",
6342 "value" : {
6343 "op" : "&",
6344 "left" : {
6345 "type" : "expression",
6346 "value" : {
6347 "op" : "+",
6348 "left" : {
6349 "type" : "field",
6350 "value" : ["int_header", "total_hop_cnt"]
6351 },
6352 "right" : {
6353 "type" : "hexstr",
6354 "value" : "0x01"
6355 }
6356 }
6357 },
6358 "right" : {
6359 "type" : "hexstr",
6360 "value" : "0xff"
6361 }
6362 }
6363 }
6364 }
6365 ],
6366 "source_info" : {
6367 "filename" : "include/int_transit.p4",
6368 "line" : 30,
6369 "column" : 8,
6370 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
6371 }
6372 }
6373 ]
6374 },
6375 {
6376 "name" : "FabricEgress.process_int_transit.int_transit",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006377 "id" : 86,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006378 "runtime_data" : [
6379 {
6380 "name" : "switch_id",
6381 "bitwidth" : 32
6382 }
6383 ],
6384 "primitives" : [
6385 {
6386 "op" : "assign",
6387 "parameters" : [
6388 {
6389 "type" : "field",
6390 "value" : ["userMetadata.int_meta", "switch_id"]
6391 },
6392 {
6393 "type" : "runtime_data",
6394 "value" : 0
6395 }
6396 ],
6397 "source_info" : {
6398 "filename" : "include/int_transit.p4",
6399 "line" : 34,
6400 "column" : 8,
6401 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
6402 }
6403 },
6404 {
6405 "op" : "assign",
6406 "parameters" : [
6407 {
6408 "type" : "field",
6409 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
6410 },
6411 {
6412 "type" : "expression",
6413 "value" : {
6414 "type" : "expression",
6415 "value" : {
6416 "op" : "&",
6417 "left" : {
6418 "type" : "expression",
6419 "value" : {
6420 "op" : "<<",
6421 "left" : {
6422 "type" : "expression",
6423 "value" : {
6424 "op" : "&",
6425 "left" : {
6426 "type" : "field",
6427 "value" : ["int_header", "ins_cnt"]
6428 },
6429 "right" : {
6430 "type" : "hexstr",
6431 "value" : "0xffff"
6432 }
6433 }
6434 },
6435 "right" : {
6436 "type" : "hexstr",
6437 "value" : "0x2"
6438 }
6439 }
6440 },
6441 "right" : {
6442 "type" : "hexstr",
6443 "value" : "0xffff"
6444 }
6445 }
6446 }
6447 }
6448 ],
6449 "source_info" : {
6450 "filename" : "include/int_transit.p4",
6451 "line" : 35,
6452 "column" : 8,
6453 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
6454 }
6455 }
6456 ]
6457 },
6458 {
6459 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006460 "id" : 87,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006461 "runtime_data" : [],
6462 "primitives" : []
6463 },
6464 {
6465 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006466 "id" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006467 "runtime_data" : [],
6468 "primitives" : [
6469 {
6470 "op" : "add_header",
6471 "parameters" : [
6472 {
6473 "type" : "header",
6474 "value" : "int_q_occupancy"
6475 }
6476 ],
6477 "source_info" : {
6478 "filename" : "include/int_transit.p4",
6479 "line" : 57,
6480 "column" : 8,
6481 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6482 }
6483 },
6484 {
6485 "op" : "assign",
6486 "parameters" : [
6487 {
6488 "type" : "field",
6489 "value" : ["int_q_occupancy", "q_id"]
6490 },
6491 {
6492 "type" : "hexstr",
6493 "value" : "0x00"
6494 }
6495 ],
6496 "source_info" : {
6497 "filename" : "include/int_transit.p4",
6498 "line" : 58,
6499 "column" : 8,
6500 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6501 }
6502 },
6503 {
6504 "op" : "assign",
6505 "parameters" : [
6506 {
6507 "type" : "field",
6508 "value" : ["int_q_occupancy", "q_occupancy"]
6509 },
6510 {
6511 "type" : "expression",
6512 "value" : {
6513 "type" : "expression",
6514 "value" : {
6515 "op" : "&",
6516 "left" : {
6517 "type" : "field",
6518 "value" : ["standard_metadata", "deq_qdepth"]
6519 },
6520 "right" : {
6521 "type" : "hexstr",
6522 "value" : "0xffffff"
6523 }
6524 }
6525 }
6526 }
6527 ],
6528 "source_info" : {
6529 "filename" : "include/int_transit.p4",
6530 "line" : 61,
6531 "column" : 8,
6532 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6533 }
6534 }
6535 ]
6536 },
6537 {
6538 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006539 "id" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006540 "runtime_data" : [],
6541 "primitives" : [
6542 {
6543 "op" : "add_header",
6544 "parameters" : [
6545 {
6546 "type" : "header",
6547 "value" : "int_hop_latency"
6548 }
6549 ],
6550 "source_info" : {
6551 "filename" : "include/int_transit.p4",
6552 "line" : 51,
6553 "column" : 8,
6554 "source_fragment" : "hdr.int_hop_latency.setValid()"
6555 }
6556 },
6557 {
6558 "op" : "assign",
6559 "parameters" : [
6560 {
6561 "type" : "field",
6562 "value" : ["int_hop_latency", "hop_latency"]
6563 },
6564 {
6565 "type" : "field",
6566 "value" : ["standard_metadata", "deq_timedelta"]
6567 }
6568 ],
6569 "source_info" : {
6570 "filename" : "include/int_transit.p4",
6571 "line" : 52,
6572 "column" : 8,
6573 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6574 }
6575 }
6576 ]
6577 },
6578 {
6579 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006580 "id" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006581 "runtime_data" : [],
6582 "primitives" : [
6583 {
6584 "op" : "add_header",
6585 "parameters" : [
6586 {
6587 "type" : "header",
6588 "value" : "int_q_occupancy"
6589 }
6590 ],
6591 "source_info" : {
6592 "filename" : "include/int_transit.p4",
6593 "line" : 57,
6594 "column" : 8,
6595 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6596 }
6597 },
6598 {
6599 "op" : "assign",
6600 "parameters" : [
6601 {
6602 "type" : "field",
6603 "value" : ["int_q_occupancy", "q_id"]
6604 },
6605 {
6606 "type" : "hexstr",
6607 "value" : "0x00"
6608 }
6609 ],
6610 "source_info" : {
6611 "filename" : "include/int_transit.p4",
6612 "line" : 58,
6613 "column" : 8,
6614 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6615 }
6616 },
6617 {
6618 "op" : "assign",
6619 "parameters" : [
6620 {
6621 "type" : "field",
6622 "value" : ["int_q_occupancy", "q_occupancy"]
6623 },
6624 {
6625 "type" : "expression",
6626 "value" : {
6627 "type" : "expression",
6628 "value" : {
6629 "op" : "&",
6630 "left" : {
6631 "type" : "field",
6632 "value" : ["standard_metadata", "deq_qdepth"]
6633 },
6634 "right" : {
6635 "type" : "hexstr",
6636 "value" : "0xffffff"
6637 }
6638 }
6639 }
6640 }
6641 ],
6642 "source_info" : {
6643 "filename" : "include/int_transit.p4",
6644 "line" : 61,
6645 "column" : 8,
6646 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6647 }
6648 },
6649 {
6650 "op" : "add_header",
6651 "parameters" : [
6652 {
6653 "type" : "header",
6654 "value" : "int_hop_latency"
6655 }
6656 ],
6657 "source_info" : {
6658 "filename" : "include/int_transit.p4",
6659 "line" : 51,
6660 "column" : 8,
6661 "source_fragment" : "hdr.int_hop_latency.setValid()"
6662 }
6663 },
6664 {
6665 "op" : "assign",
6666 "parameters" : [
6667 {
6668 "type" : "field",
6669 "value" : ["int_hop_latency", "hop_latency"]
6670 },
6671 {
6672 "type" : "field",
6673 "value" : ["standard_metadata", "deq_timedelta"]
6674 }
6675 ],
6676 "source_info" : {
6677 "filename" : "include/int_transit.p4",
6678 "line" : 52,
6679 "column" : 8,
6680 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6681 }
6682 }
6683 ]
6684 },
6685 {
6686 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006687 "id" : 91,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006688 "runtime_data" : [],
6689 "primitives" : [
6690 {
6691 "op" : "add_header",
6692 "parameters" : [
6693 {
6694 "type" : "header",
6695 "value" : "int_port_ids"
6696 }
6697 ],
6698 "source_info" : {
6699 "filename" : "include/int_transit.p4",
6700 "line" : 44,
6701 "column" : 8,
6702 "source_fragment" : "hdr.int_port_ids.setValid()"
6703 }
6704 },
6705 {
6706 "op" : "assign",
6707 "parameters" : [
6708 {
6709 "type" : "field",
6710 "value" : ["int_port_ids", "ingress_port_id"]
6711 },
6712 {
6713 "type" : "expression",
6714 "value" : {
6715 "type" : "expression",
6716 "value" : {
6717 "op" : "&",
6718 "left" : {
6719 "type" : "field",
6720 "value" : ["standard_metadata", "ingress_port"]
6721 },
6722 "right" : {
6723 "type" : "hexstr",
6724 "value" : "0xffff"
6725 }
6726 }
6727 }
6728 }
6729 ],
6730 "source_info" : {
6731 "filename" : "include/int_transit.p4",
6732 "line" : 45,
6733 "column" : 8,
6734 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6735 }
6736 },
6737 {
6738 "op" : "assign",
6739 "parameters" : [
6740 {
6741 "type" : "field",
6742 "value" : ["int_port_ids", "egress_port_id"]
6743 },
6744 {
6745 "type" : "expression",
6746 "value" : {
6747 "type" : "expression",
6748 "value" : {
6749 "op" : "&",
6750 "left" : {
6751 "type" : "field",
6752 "value" : ["standard_metadata", "egress_port"]
6753 },
6754 "right" : {
6755 "type" : "hexstr",
6756 "value" : "0xffff"
6757 }
6758 }
6759 }
6760 }
6761 ],
6762 "source_info" : {
6763 "filename" : "include/int_transit.p4",
6764 "line" : 47,
6765 "column" : 8,
6766 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6767 }
6768 }
6769 ]
6770 },
6771 {
6772 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006773 "id" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006774 "runtime_data" : [],
6775 "primitives" : [
6776 {
6777 "op" : "add_header",
6778 "parameters" : [
6779 {
6780 "type" : "header",
6781 "value" : "int_q_occupancy"
6782 }
6783 ],
6784 "source_info" : {
6785 "filename" : "include/int_transit.p4",
6786 "line" : 57,
6787 "column" : 8,
6788 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6789 }
6790 },
6791 {
6792 "op" : "assign",
6793 "parameters" : [
6794 {
6795 "type" : "field",
6796 "value" : ["int_q_occupancy", "q_id"]
6797 },
6798 {
6799 "type" : "hexstr",
6800 "value" : "0x00"
6801 }
6802 ],
6803 "source_info" : {
6804 "filename" : "include/int_transit.p4",
6805 "line" : 58,
6806 "column" : 8,
6807 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6808 }
6809 },
6810 {
6811 "op" : "assign",
6812 "parameters" : [
6813 {
6814 "type" : "field",
6815 "value" : ["int_q_occupancy", "q_occupancy"]
6816 },
6817 {
6818 "type" : "expression",
6819 "value" : {
6820 "type" : "expression",
6821 "value" : {
6822 "op" : "&",
6823 "left" : {
6824 "type" : "field",
6825 "value" : ["standard_metadata", "deq_qdepth"]
6826 },
6827 "right" : {
6828 "type" : "hexstr",
6829 "value" : "0xffffff"
6830 }
6831 }
6832 }
6833 }
6834 ],
6835 "source_info" : {
6836 "filename" : "include/int_transit.p4",
6837 "line" : 61,
6838 "column" : 8,
6839 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6840 }
6841 },
6842 {
6843 "op" : "add_header",
6844 "parameters" : [
6845 {
6846 "type" : "header",
6847 "value" : "int_port_ids"
6848 }
6849 ],
6850 "source_info" : {
6851 "filename" : "include/int_transit.p4",
6852 "line" : 44,
6853 "column" : 8,
6854 "source_fragment" : "hdr.int_port_ids.setValid()"
6855 }
6856 },
6857 {
6858 "op" : "assign",
6859 "parameters" : [
6860 {
6861 "type" : "field",
6862 "value" : ["int_port_ids", "ingress_port_id"]
6863 },
6864 {
6865 "type" : "expression",
6866 "value" : {
6867 "type" : "expression",
6868 "value" : {
6869 "op" : "&",
6870 "left" : {
6871 "type" : "field",
6872 "value" : ["standard_metadata", "ingress_port"]
6873 },
6874 "right" : {
6875 "type" : "hexstr",
6876 "value" : "0xffff"
6877 }
6878 }
6879 }
6880 }
6881 ],
6882 "source_info" : {
6883 "filename" : "include/int_transit.p4",
6884 "line" : 45,
6885 "column" : 8,
6886 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6887 }
6888 },
6889 {
6890 "op" : "assign",
6891 "parameters" : [
6892 {
6893 "type" : "field",
6894 "value" : ["int_port_ids", "egress_port_id"]
6895 },
6896 {
6897 "type" : "expression",
6898 "value" : {
6899 "type" : "expression",
6900 "value" : {
6901 "op" : "&",
6902 "left" : {
6903 "type" : "field",
6904 "value" : ["standard_metadata", "egress_port"]
6905 },
6906 "right" : {
6907 "type" : "hexstr",
6908 "value" : "0xffff"
6909 }
6910 }
6911 }
6912 }
6913 ],
6914 "source_info" : {
6915 "filename" : "include/int_transit.p4",
6916 "line" : 47,
6917 "column" : 8,
6918 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6919 }
6920 }
6921 ]
6922 },
6923 {
6924 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006925 "id" : 93,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006926 "runtime_data" : [],
6927 "primitives" : [
6928 {
6929 "op" : "add_header",
6930 "parameters" : [
6931 {
6932 "type" : "header",
6933 "value" : "int_hop_latency"
6934 }
6935 ],
6936 "source_info" : {
6937 "filename" : "include/int_transit.p4",
6938 "line" : 51,
6939 "column" : 8,
6940 "source_fragment" : "hdr.int_hop_latency.setValid()"
6941 }
6942 },
6943 {
6944 "op" : "assign",
6945 "parameters" : [
6946 {
6947 "type" : "field",
6948 "value" : ["int_hop_latency", "hop_latency"]
6949 },
6950 {
6951 "type" : "field",
6952 "value" : ["standard_metadata", "deq_timedelta"]
6953 }
6954 ],
6955 "source_info" : {
6956 "filename" : "include/int_transit.p4",
6957 "line" : 52,
6958 "column" : 8,
6959 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6960 }
6961 },
6962 {
6963 "op" : "add_header",
6964 "parameters" : [
6965 {
6966 "type" : "header",
6967 "value" : "int_port_ids"
6968 }
6969 ],
6970 "source_info" : {
6971 "filename" : "include/int_transit.p4",
6972 "line" : 44,
6973 "column" : 8,
6974 "source_fragment" : "hdr.int_port_ids.setValid()"
6975 }
6976 },
6977 {
6978 "op" : "assign",
6979 "parameters" : [
6980 {
6981 "type" : "field",
6982 "value" : ["int_port_ids", "ingress_port_id"]
6983 },
6984 {
6985 "type" : "expression",
6986 "value" : {
6987 "type" : "expression",
6988 "value" : {
6989 "op" : "&",
6990 "left" : {
6991 "type" : "field",
6992 "value" : ["standard_metadata", "ingress_port"]
6993 },
6994 "right" : {
6995 "type" : "hexstr",
6996 "value" : "0xffff"
6997 }
6998 }
6999 }
7000 }
7001 ],
7002 "source_info" : {
7003 "filename" : "include/int_transit.p4",
7004 "line" : 45,
7005 "column" : 8,
7006 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7007 }
7008 },
7009 {
7010 "op" : "assign",
7011 "parameters" : [
7012 {
7013 "type" : "field",
7014 "value" : ["int_port_ids", "egress_port_id"]
7015 },
7016 {
7017 "type" : "expression",
7018 "value" : {
7019 "type" : "expression",
7020 "value" : {
7021 "op" : "&",
7022 "left" : {
7023 "type" : "field",
7024 "value" : ["standard_metadata", "egress_port"]
7025 },
7026 "right" : {
7027 "type" : "hexstr",
7028 "value" : "0xffff"
7029 }
7030 }
7031 }
7032 }
7033 ],
7034 "source_info" : {
7035 "filename" : "include/int_transit.p4",
7036 "line" : 47,
7037 "column" : 8,
7038 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7039 }
7040 }
7041 ]
7042 },
7043 {
7044 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007045 "id" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007046 "runtime_data" : [],
7047 "primitives" : [
7048 {
7049 "op" : "add_header",
7050 "parameters" : [
7051 {
7052 "type" : "header",
7053 "value" : "int_q_occupancy"
7054 }
7055 ],
7056 "source_info" : {
7057 "filename" : "include/int_transit.p4",
7058 "line" : 57,
7059 "column" : 8,
7060 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7061 }
7062 },
7063 {
7064 "op" : "assign",
7065 "parameters" : [
7066 {
7067 "type" : "field",
7068 "value" : ["int_q_occupancy", "q_id"]
7069 },
7070 {
7071 "type" : "hexstr",
7072 "value" : "0x00"
7073 }
7074 ],
7075 "source_info" : {
7076 "filename" : "include/int_transit.p4",
7077 "line" : 58,
7078 "column" : 8,
7079 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7080 }
7081 },
7082 {
7083 "op" : "assign",
7084 "parameters" : [
7085 {
7086 "type" : "field",
7087 "value" : ["int_q_occupancy", "q_occupancy"]
7088 },
7089 {
7090 "type" : "expression",
7091 "value" : {
7092 "type" : "expression",
7093 "value" : {
7094 "op" : "&",
7095 "left" : {
7096 "type" : "field",
7097 "value" : ["standard_metadata", "deq_qdepth"]
7098 },
7099 "right" : {
7100 "type" : "hexstr",
7101 "value" : "0xffffff"
7102 }
7103 }
7104 }
7105 }
7106 ],
7107 "source_info" : {
7108 "filename" : "include/int_transit.p4",
7109 "line" : 61,
7110 "column" : 8,
7111 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7112 }
7113 },
7114 {
7115 "op" : "add_header",
7116 "parameters" : [
7117 {
7118 "type" : "header",
7119 "value" : "int_hop_latency"
7120 }
7121 ],
7122 "source_info" : {
7123 "filename" : "include/int_transit.p4",
7124 "line" : 51,
7125 "column" : 8,
7126 "source_fragment" : "hdr.int_hop_latency.setValid()"
7127 }
7128 },
7129 {
7130 "op" : "assign",
7131 "parameters" : [
7132 {
7133 "type" : "field",
7134 "value" : ["int_hop_latency", "hop_latency"]
7135 },
7136 {
7137 "type" : "field",
7138 "value" : ["standard_metadata", "deq_timedelta"]
7139 }
7140 ],
7141 "source_info" : {
7142 "filename" : "include/int_transit.p4",
7143 "line" : 52,
7144 "column" : 8,
7145 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7146 }
7147 },
7148 {
7149 "op" : "add_header",
7150 "parameters" : [
7151 {
7152 "type" : "header",
7153 "value" : "int_port_ids"
7154 }
7155 ],
7156 "source_info" : {
7157 "filename" : "include/int_transit.p4",
7158 "line" : 44,
7159 "column" : 8,
7160 "source_fragment" : "hdr.int_port_ids.setValid()"
7161 }
7162 },
7163 {
7164 "op" : "assign",
7165 "parameters" : [
7166 {
7167 "type" : "field",
7168 "value" : ["int_port_ids", "ingress_port_id"]
7169 },
7170 {
7171 "type" : "expression",
7172 "value" : {
7173 "type" : "expression",
7174 "value" : {
7175 "op" : "&",
7176 "left" : {
7177 "type" : "field",
7178 "value" : ["standard_metadata", "ingress_port"]
7179 },
7180 "right" : {
7181 "type" : "hexstr",
7182 "value" : "0xffff"
7183 }
7184 }
7185 }
7186 }
7187 ],
7188 "source_info" : {
7189 "filename" : "include/int_transit.p4",
7190 "line" : 45,
7191 "column" : 8,
7192 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7193 }
7194 },
7195 {
7196 "op" : "assign",
7197 "parameters" : [
7198 {
7199 "type" : "field",
7200 "value" : ["int_port_ids", "egress_port_id"]
7201 },
7202 {
7203 "type" : "expression",
7204 "value" : {
7205 "type" : "expression",
7206 "value" : {
7207 "op" : "&",
7208 "left" : {
7209 "type" : "field",
7210 "value" : ["standard_metadata", "egress_port"]
7211 },
7212 "right" : {
7213 "type" : "hexstr",
7214 "value" : "0xffff"
7215 }
7216 }
7217 }
7218 }
7219 ],
7220 "source_info" : {
7221 "filename" : "include/int_transit.p4",
7222 "line" : 47,
7223 "column" : 8,
7224 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7225 }
7226 }
7227 ]
7228 },
7229 {
7230 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007231 "id" : 95,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007232 "runtime_data" : [],
7233 "primitives" : [
7234 {
7235 "op" : "add_header",
7236 "parameters" : [
7237 {
7238 "type" : "header",
7239 "value" : "int_switch_id"
7240 }
7241 ],
7242 "source_info" : {
7243 "filename" : "include/int_transit.p4",
7244 "line" : 40,
7245 "column" : 8,
7246 "source_fragment" : "hdr.int_switch_id.setValid()"
7247 }
7248 },
7249 {
7250 "op" : "assign",
7251 "parameters" : [
7252 {
7253 "type" : "field",
7254 "value" : ["int_switch_id", "switch_id"]
7255 },
7256 {
7257 "type" : "field",
7258 "value" : ["userMetadata.int_meta", "switch_id"]
7259 }
7260 ],
7261 "source_info" : {
7262 "filename" : "include/int_transit.p4",
7263 "line" : 41,
7264 "column" : 8,
7265 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7266 }
7267 }
7268 ]
7269 },
7270 {
7271 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007272 "id" : 96,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007273 "runtime_data" : [],
7274 "primitives" : [
7275 {
7276 "op" : "add_header",
7277 "parameters" : [
7278 {
7279 "type" : "header",
7280 "value" : "int_q_occupancy"
7281 }
7282 ],
7283 "source_info" : {
7284 "filename" : "include/int_transit.p4",
7285 "line" : 57,
7286 "column" : 8,
7287 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7288 }
7289 },
7290 {
7291 "op" : "assign",
7292 "parameters" : [
7293 {
7294 "type" : "field",
7295 "value" : ["int_q_occupancy", "q_id"]
7296 },
7297 {
7298 "type" : "hexstr",
7299 "value" : "0x00"
7300 }
7301 ],
7302 "source_info" : {
7303 "filename" : "include/int_transit.p4",
7304 "line" : 58,
7305 "column" : 8,
7306 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7307 }
7308 },
7309 {
7310 "op" : "assign",
7311 "parameters" : [
7312 {
7313 "type" : "field",
7314 "value" : ["int_q_occupancy", "q_occupancy"]
7315 },
7316 {
7317 "type" : "expression",
7318 "value" : {
7319 "type" : "expression",
7320 "value" : {
7321 "op" : "&",
7322 "left" : {
7323 "type" : "field",
7324 "value" : ["standard_metadata", "deq_qdepth"]
7325 },
7326 "right" : {
7327 "type" : "hexstr",
7328 "value" : "0xffffff"
7329 }
7330 }
7331 }
7332 }
7333 ],
7334 "source_info" : {
7335 "filename" : "include/int_transit.p4",
7336 "line" : 61,
7337 "column" : 8,
7338 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7339 }
7340 },
7341 {
7342 "op" : "add_header",
7343 "parameters" : [
7344 {
7345 "type" : "header",
7346 "value" : "int_switch_id"
7347 }
7348 ],
7349 "source_info" : {
7350 "filename" : "include/int_transit.p4",
7351 "line" : 40,
7352 "column" : 8,
7353 "source_fragment" : "hdr.int_switch_id.setValid()"
7354 }
7355 },
7356 {
7357 "op" : "assign",
7358 "parameters" : [
7359 {
7360 "type" : "field",
7361 "value" : ["int_switch_id", "switch_id"]
7362 },
7363 {
7364 "type" : "field",
7365 "value" : ["userMetadata.int_meta", "switch_id"]
7366 }
7367 ],
7368 "source_info" : {
7369 "filename" : "include/int_transit.p4",
7370 "line" : 41,
7371 "column" : 8,
7372 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7373 }
7374 }
7375 ]
7376 },
7377 {
7378 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007379 "id" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007380 "runtime_data" : [],
7381 "primitives" : [
7382 {
7383 "op" : "add_header",
7384 "parameters" : [
7385 {
7386 "type" : "header",
7387 "value" : "int_hop_latency"
7388 }
7389 ],
7390 "source_info" : {
7391 "filename" : "include/int_transit.p4",
7392 "line" : 51,
7393 "column" : 8,
7394 "source_fragment" : "hdr.int_hop_latency.setValid()"
7395 }
7396 },
7397 {
7398 "op" : "assign",
7399 "parameters" : [
7400 {
7401 "type" : "field",
7402 "value" : ["int_hop_latency", "hop_latency"]
7403 },
7404 {
7405 "type" : "field",
7406 "value" : ["standard_metadata", "deq_timedelta"]
7407 }
7408 ],
7409 "source_info" : {
7410 "filename" : "include/int_transit.p4",
7411 "line" : 52,
7412 "column" : 8,
7413 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7414 }
7415 },
7416 {
7417 "op" : "add_header",
7418 "parameters" : [
7419 {
7420 "type" : "header",
7421 "value" : "int_switch_id"
7422 }
7423 ],
7424 "source_info" : {
7425 "filename" : "include/int_transit.p4",
7426 "line" : 40,
7427 "column" : 8,
7428 "source_fragment" : "hdr.int_switch_id.setValid()"
7429 }
7430 },
7431 {
7432 "op" : "assign",
7433 "parameters" : [
7434 {
7435 "type" : "field",
7436 "value" : ["int_switch_id", "switch_id"]
7437 },
7438 {
7439 "type" : "field",
7440 "value" : ["userMetadata.int_meta", "switch_id"]
7441 }
7442 ],
7443 "source_info" : {
7444 "filename" : "include/int_transit.p4",
7445 "line" : 41,
7446 "column" : 8,
7447 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7448 }
7449 }
7450 ]
7451 },
7452 {
7453 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007454 "id" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007455 "runtime_data" : [],
7456 "primitives" : [
7457 {
7458 "op" : "add_header",
7459 "parameters" : [
7460 {
7461 "type" : "header",
7462 "value" : "int_q_occupancy"
7463 }
7464 ],
7465 "source_info" : {
7466 "filename" : "include/int_transit.p4",
7467 "line" : 57,
7468 "column" : 8,
7469 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7470 }
7471 },
7472 {
7473 "op" : "assign",
7474 "parameters" : [
7475 {
7476 "type" : "field",
7477 "value" : ["int_q_occupancy", "q_id"]
7478 },
7479 {
7480 "type" : "hexstr",
7481 "value" : "0x00"
7482 }
7483 ],
7484 "source_info" : {
7485 "filename" : "include/int_transit.p4",
7486 "line" : 58,
7487 "column" : 8,
7488 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7489 }
7490 },
7491 {
7492 "op" : "assign",
7493 "parameters" : [
7494 {
7495 "type" : "field",
7496 "value" : ["int_q_occupancy", "q_occupancy"]
7497 },
7498 {
7499 "type" : "expression",
7500 "value" : {
7501 "type" : "expression",
7502 "value" : {
7503 "op" : "&",
7504 "left" : {
7505 "type" : "field",
7506 "value" : ["standard_metadata", "deq_qdepth"]
7507 },
7508 "right" : {
7509 "type" : "hexstr",
7510 "value" : "0xffffff"
7511 }
7512 }
7513 }
7514 }
7515 ],
7516 "source_info" : {
7517 "filename" : "include/int_transit.p4",
7518 "line" : 61,
7519 "column" : 8,
7520 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7521 }
7522 },
7523 {
7524 "op" : "add_header",
7525 "parameters" : [
7526 {
7527 "type" : "header",
7528 "value" : "int_hop_latency"
7529 }
7530 ],
7531 "source_info" : {
7532 "filename" : "include/int_transit.p4",
7533 "line" : 51,
7534 "column" : 8,
7535 "source_fragment" : "hdr.int_hop_latency.setValid()"
7536 }
7537 },
7538 {
7539 "op" : "assign",
7540 "parameters" : [
7541 {
7542 "type" : "field",
7543 "value" : ["int_hop_latency", "hop_latency"]
7544 },
7545 {
7546 "type" : "field",
7547 "value" : ["standard_metadata", "deq_timedelta"]
7548 }
7549 ],
7550 "source_info" : {
7551 "filename" : "include/int_transit.p4",
7552 "line" : 52,
7553 "column" : 8,
7554 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7555 }
7556 },
7557 {
7558 "op" : "add_header",
7559 "parameters" : [
7560 {
7561 "type" : "header",
7562 "value" : "int_switch_id"
7563 }
7564 ],
7565 "source_info" : {
7566 "filename" : "include/int_transit.p4",
7567 "line" : 40,
7568 "column" : 8,
7569 "source_fragment" : "hdr.int_switch_id.setValid()"
7570 }
7571 },
7572 {
7573 "op" : "assign",
7574 "parameters" : [
7575 {
7576 "type" : "field",
7577 "value" : ["int_switch_id", "switch_id"]
7578 },
7579 {
7580 "type" : "field",
7581 "value" : ["userMetadata.int_meta", "switch_id"]
7582 }
7583 ],
7584 "source_info" : {
7585 "filename" : "include/int_transit.p4",
7586 "line" : 41,
7587 "column" : 8,
7588 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7589 }
7590 }
7591 ]
7592 },
7593 {
7594 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007595 "id" : 99,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007596 "runtime_data" : [],
7597 "primitives" : [
7598 {
7599 "op" : "add_header",
7600 "parameters" : [
7601 {
7602 "type" : "header",
7603 "value" : "int_port_ids"
7604 }
7605 ],
7606 "source_info" : {
7607 "filename" : "include/int_transit.p4",
7608 "line" : 44,
7609 "column" : 8,
7610 "source_fragment" : "hdr.int_port_ids.setValid()"
7611 }
7612 },
7613 {
7614 "op" : "assign",
7615 "parameters" : [
7616 {
7617 "type" : "field",
7618 "value" : ["int_port_ids", "ingress_port_id"]
7619 },
7620 {
7621 "type" : "expression",
7622 "value" : {
7623 "type" : "expression",
7624 "value" : {
7625 "op" : "&",
7626 "left" : {
7627 "type" : "field",
7628 "value" : ["standard_metadata", "ingress_port"]
7629 },
7630 "right" : {
7631 "type" : "hexstr",
7632 "value" : "0xffff"
7633 }
7634 }
7635 }
7636 }
7637 ],
7638 "source_info" : {
7639 "filename" : "include/int_transit.p4",
7640 "line" : 45,
7641 "column" : 8,
7642 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7643 }
7644 },
7645 {
7646 "op" : "assign",
7647 "parameters" : [
7648 {
7649 "type" : "field",
7650 "value" : ["int_port_ids", "egress_port_id"]
7651 },
7652 {
7653 "type" : "expression",
7654 "value" : {
7655 "type" : "expression",
7656 "value" : {
7657 "op" : "&",
7658 "left" : {
7659 "type" : "field",
7660 "value" : ["standard_metadata", "egress_port"]
7661 },
7662 "right" : {
7663 "type" : "hexstr",
7664 "value" : "0xffff"
7665 }
7666 }
7667 }
7668 }
7669 ],
7670 "source_info" : {
7671 "filename" : "include/int_transit.p4",
7672 "line" : 47,
7673 "column" : 8,
7674 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7675 }
7676 },
7677 {
7678 "op" : "add_header",
7679 "parameters" : [
7680 {
7681 "type" : "header",
7682 "value" : "int_switch_id"
7683 }
7684 ],
7685 "source_info" : {
7686 "filename" : "include/int_transit.p4",
7687 "line" : 40,
7688 "column" : 8,
7689 "source_fragment" : "hdr.int_switch_id.setValid()"
7690 }
7691 },
7692 {
7693 "op" : "assign",
7694 "parameters" : [
7695 {
7696 "type" : "field",
7697 "value" : ["int_switch_id", "switch_id"]
7698 },
7699 {
7700 "type" : "field",
7701 "value" : ["userMetadata.int_meta", "switch_id"]
7702 }
7703 ],
7704 "source_info" : {
7705 "filename" : "include/int_transit.p4",
7706 "line" : 41,
7707 "column" : 8,
7708 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7709 }
7710 }
7711 ]
7712 },
7713 {
7714 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007715 "id" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007716 "runtime_data" : [],
7717 "primitives" : [
7718 {
7719 "op" : "add_header",
7720 "parameters" : [
7721 {
7722 "type" : "header",
7723 "value" : "int_q_occupancy"
7724 }
7725 ],
7726 "source_info" : {
7727 "filename" : "include/int_transit.p4",
7728 "line" : 57,
7729 "column" : 8,
7730 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7731 }
7732 },
7733 {
7734 "op" : "assign",
7735 "parameters" : [
7736 {
7737 "type" : "field",
7738 "value" : ["int_q_occupancy", "q_id"]
7739 },
7740 {
7741 "type" : "hexstr",
7742 "value" : "0x00"
7743 }
7744 ],
7745 "source_info" : {
7746 "filename" : "include/int_transit.p4",
7747 "line" : 58,
7748 "column" : 8,
7749 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7750 }
7751 },
7752 {
7753 "op" : "assign",
7754 "parameters" : [
7755 {
7756 "type" : "field",
7757 "value" : ["int_q_occupancy", "q_occupancy"]
7758 },
7759 {
7760 "type" : "expression",
7761 "value" : {
7762 "type" : "expression",
7763 "value" : {
7764 "op" : "&",
7765 "left" : {
7766 "type" : "field",
7767 "value" : ["standard_metadata", "deq_qdepth"]
7768 },
7769 "right" : {
7770 "type" : "hexstr",
7771 "value" : "0xffffff"
7772 }
7773 }
7774 }
7775 }
7776 ],
7777 "source_info" : {
7778 "filename" : "include/int_transit.p4",
7779 "line" : 61,
7780 "column" : 8,
7781 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7782 }
7783 },
7784 {
7785 "op" : "add_header",
7786 "parameters" : [
7787 {
7788 "type" : "header",
7789 "value" : "int_port_ids"
7790 }
7791 ],
7792 "source_info" : {
7793 "filename" : "include/int_transit.p4",
7794 "line" : 44,
7795 "column" : 8,
7796 "source_fragment" : "hdr.int_port_ids.setValid()"
7797 }
7798 },
7799 {
7800 "op" : "assign",
7801 "parameters" : [
7802 {
7803 "type" : "field",
7804 "value" : ["int_port_ids", "ingress_port_id"]
7805 },
7806 {
7807 "type" : "expression",
7808 "value" : {
7809 "type" : "expression",
7810 "value" : {
7811 "op" : "&",
7812 "left" : {
7813 "type" : "field",
7814 "value" : ["standard_metadata", "ingress_port"]
7815 },
7816 "right" : {
7817 "type" : "hexstr",
7818 "value" : "0xffff"
7819 }
7820 }
7821 }
7822 }
7823 ],
7824 "source_info" : {
7825 "filename" : "include/int_transit.p4",
7826 "line" : 45,
7827 "column" : 8,
7828 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7829 }
7830 },
7831 {
7832 "op" : "assign",
7833 "parameters" : [
7834 {
7835 "type" : "field",
7836 "value" : ["int_port_ids", "egress_port_id"]
7837 },
7838 {
7839 "type" : "expression",
7840 "value" : {
7841 "type" : "expression",
7842 "value" : {
7843 "op" : "&",
7844 "left" : {
7845 "type" : "field",
7846 "value" : ["standard_metadata", "egress_port"]
7847 },
7848 "right" : {
7849 "type" : "hexstr",
7850 "value" : "0xffff"
7851 }
7852 }
7853 }
7854 }
7855 ],
7856 "source_info" : {
7857 "filename" : "include/int_transit.p4",
7858 "line" : 47,
7859 "column" : 8,
7860 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7861 }
7862 },
7863 {
7864 "op" : "add_header",
7865 "parameters" : [
7866 {
7867 "type" : "header",
7868 "value" : "int_switch_id"
7869 }
7870 ],
7871 "source_info" : {
7872 "filename" : "include/int_transit.p4",
7873 "line" : 40,
7874 "column" : 8,
7875 "source_fragment" : "hdr.int_switch_id.setValid()"
7876 }
7877 },
7878 {
7879 "op" : "assign",
7880 "parameters" : [
7881 {
7882 "type" : "field",
7883 "value" : ["int_switch_id", "switch_id"]
7884 },
7885 {
7886 "type" : "field",
7887 "value" : ["userMetadata.int_meta", "switch_id"]
7888 }
7889 ],
7890 "source_info" : {
7891 "filename" : "include/int_transit.p4",
7892 "line" : 41,
7893 "column" : 8,
7894 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7895 }
7896 }
7897 ]
7898 },
7899 {
7900 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007901 "id" : 101,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007902 "runtime_data" : [],
7903 "primitives" : [
7904 {
7905 "op" : "add_header",
7906 "parameters" : [
7907 {
7908 "type" : "header",
7909 "value" : "int_hop_latency"
7910 }
7911 ],
7912 "source_info" : {
7913 "filename" : "include/int_transit.p4",
7914 "line" : 51,
7915 "column" : 8,
7916 "source_fragment" : "hdr.int_hop_latency.setValid()"
7917 }
7918 },
7919 {
7920 "op" : "assign",
7921 "parameters" : [
7922 {
7923 "type" : "field",
7924 "value" : ["int_hop_latency", "hop_latency"]
7925 },
7926 {
7927 "type" : "field",
7928 "value" : ["standard_metadata", "deq_timedelta"]
7929 }
7930 ],
7931 "source_info" : {
7932 "filename" : "include/int_transit.p4",
7933 "line" : 52,
7934 "column" : 8,
7935 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7936 }
7937 },
7938 {
7939 "op" : "add_header",
7940 "parameters" : [
7941 {
7942 "type" : "header",
7943 "value" : "int_port_ids"
7944 }
7945 ],
7946 "source_info" : {
7947 "filename" : "include/int_transit.p4",
7948 "line" : 44,
7949 "column" : 8,
7950 "source_fragment" : "hdr.int_port_ids.setValid()"
7951 }
7952 },
7953 {
7954 "op" : "assign",
7955 "parameters" : [
7956 {
7957 "type" : "field",
7958 "value" : ["int_port_ids", "ingress_port_id"]
7959 },
7960 {
7961 "type" : "expression",
7962 "value" : {
7963 "type" : "expression",
7964 "value" : {
7965 "op" : "&",
7966 "left" : {
7967 "type" : "field",
7968 "value" : ["standard_metadata", "ingress_port"]
7969 },
7970 "right" : {
7971 "type" : "hexstr",
7972 "value" : "0xffff"
7973 }
7974 }
7975 }
7976 }
7977 ],
7978 "source_info" : {
7979 "filename" : "include/int_transit.p4",
7980 "line" : 45,
7981 "column" : 8,
7982 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7983 }
7984 },
7985 {
7986 "op" : "assign",
7987 "parameters" : [
7988 {
7989 "type" : "field",
7990 "value" : ["int_port_ids", "egress_port_id"]
7991 },
7992 {
7993 "type" : "expression",
7994 "value" : {
7995 "type" : "expression",
7996 "value" : {
7997 "op" : "&",
7998 "left" : {
7999 "type" : "field",
8000 "value" : ["standard_metadata", "egress_port"]
8001 },
8002 "right" : {
8003 "type" : "hexstr",
8004 "value" : "0xffff"
8005 }
8006 }
8007 }
8008 }
8009 ],
8010 "source_info" : {
8011 "filename" : "include/int_transit.p4",
8012 "line" : 47,
8013 "column" : 8,
8014 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8015 }
8016 },
8017 {
8018 "op" : "add_header",
8019 "parameters" : [
8020 {
8021 "type" : "header",
8022 "value" : "int_switch_id"
8023 }
8024 ],
8025 "source_info" : {
8026 "filename" : "include/int_transit.p4",
8027 "line" : 40,
8028 "column" : 8,
8029 "source_fragment" : "hdr.int_switch_id.setValid()"
8030 }
8031 },
8032 {
8033 "op" : "assign",
8034 "parameters" : [
8035 {
8036 "type" : "field",
8037 "value" : ["int_switch_id", "switch_id"]
8038 },
8039 {
8040 "type" : "field",
8041 "value" : ["userMetadata.int_meta", "switch_id"]
8042 }
8043 ],
8044 "source_info" : {
8045 "filename" : "include/int_transit.p4",
8046 "line" : 41,
8047 "column" : 8,
8048 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8049 }
8050 }
8051 ]
8052 },
8053 {
8054 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008055 "id" : 102,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008056 "runtime_data" : [],
8057 "primitives" : [
8058 {
8059 "op" : "add_header",
8060 "parameters" : [
8061 {
8062 "type" : "header",
8063 "value" : "int_q_occupancy"
8064 }
8065 ],
8066 "source_info" : {
8067 "filename" : "include/int_transit.p4",
8068 "line" : 57,
8069 "column" : 8,
8070 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8071 }
8072 },
8073 {
8074 "op" : "assign",
8075 "parameters" : [
8076 {
8077 "type" : "field",
8078 "value" : ["int_q_occupancy", "q_id"]
8079 },
8080 {
8081 "type" : "hexstr",
8082 "value" : "0x00"
8083 }
8084 ],
8085 "source_info" : {
8086 "filename" : "include/int_transit.p4",
8087 "line" : 58,
8088 "column" : 8,
8089 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
8090 }
8091 },
8092 {
8093 "op" : "assign",
8094 "parameters" : [
8095 {
8096 "type" : "field",
8097 "value" : ["int_q_occupancy", "q_occupancy"]
8098 },
8099 {
8100 "type" : "expression",
8101 "value" : {
8102 "type" : "expression",
8103 "value" : {
8104 "op" : "&",
8105 "left" : {
8106 "type" : "field",
8107 "value" : ["standard_metadata", "deq_qdepth"]
8108 },
8109 "right" : {
8110 "type" : "hexstr",
8111 "value" : "0xffffff"
8112 }
8113 }
8114 }
8115 }
8116 ],
8117 "source_info" : {
8118 "filename" : "include/int_transit.p4",
8119 "line" : 61,
8120 "column" : 8,
8121 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
8122 }
8123 },
8124 {
8125 "op" : "add_header",
8126 "parameters" : [
8127 {
8128 "type" : "header",
8129 "value" : "int_hop_latency"
8130 }
8131 ],
8132 "source_info" : {
8133 "filename" : "include/int_transit.p4",
8134 "line" : 51,
8135 "column" : 8,
8136 "source_fragment" : "hdr.int_hop_latency.setValid()"
8137 }
8138 },
8139 {
8140 "op" : "assign",
8141 "parameters" : [
8142 {
8143 "type" : "field",
8144 "value" : ["int_hop_latency", "hop_latency"]
8145 },
8146 {
8147 "type" : "field",
8148 "value" : ["standard_metadata", "deq_timedelta"]
8149 }
8150 ],
8151 "source_info" : {
8152 "filename" : "include/int_transit.p4",
8153 "line" : 52,
8154 "column" : 8,
8155 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
8156 }
8157 },
8158 {
8159 "op" : "add_header",
8160 "parameters" : [
8161 {
8162 "type" : "header",
8163 "value" : "int_port_ids"
8164 }
8165 ],
8166 "source_info" : {
8167 "filename" : "include/int_transit.p4",
8168 "line" : 44,
8169 "column" : 8,
8170 "source_fragment" : "hdr.int_port_ids.setValid()"
8171 }
8172 },
8173 {
8174 "op" : "assign",
8175 "parameters" : [
8176 {
8177 "type" : "field",
8178 "value" : ["int_port_ids", "ingress_port_id"]
8179 },
8180 {
8181 "type" : "expression",
8182 "value" : {
8183 "type" : "expression",
8184 "value" : {
8185 "op" : "&",
8186 "left" : {
8187 "type" : "field",
8188 "value" : ["standard_metadata", "ingress_port"]
8189 },
8190 "right" : {
8191 "type" : "hexstr",
8192 "value" : "0xffff"
8193 }
8194 }
8195 }
8196 }
8197 ],
8198 "source_info" : {
8199 "filename" : "include/int_transit.p4",
8200 "line" : 45,
8201 "column" : 8,
8202 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8203 }
8204 },
8205 {
8206 "op" : "assign",
8207 "parameters" : [
8208 {
8209 "type" : "field",
8210 "value" : ["int_port_ids", "egress_port_id"]
8211 },
8212 {
8213 "type" : "expression",
8214 "value" : {
8215 "type" : "expression",
8216 "value" : {
8217 "op" : "&",
8218 "left" : {
8219 "type" : "field",
8220 "value" : ["standard_metadata", "egress_port"]
8221 },
8222 "right" : {
8223 "type" : "hexstr",
8224 "value" : "0xffff"
8225 }
8226 }
8227 }
8228 }
8229 ],
8230 "source_info" : {
8231 "filename" : "include/int_transit.p4",
8232 "line" : 47,
8233 "column" : 8,
8234 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8235 }
8236 },
8237 {
8238 "op" : "add_header",
8239 "parameters" : [
8240 {
8241 "type" : "header",
8242 "value" : "int_switch_id"
8243 }
8244 ],
8245 "source_info" : {
8246 "filename" : "include/int_transit.p4",
8247 "line" : 40,
8248 "column" : 8,
8249 "source_fragment" : "hdr.int_switch_id.setValid()"
8250 }
8251 },
8252 {
8253 "op" : "assign",
8254 "parameters" : [
8255 {
8256 "type" : "field",
8257 "value" : ["int_switch_id", "switch_id"]
8258 },
8259 {
8260 "type" : "field",
8261 "value" : ["userMetadata.int_meta", "switch_id"]
8262 }
8263 ],
8264 "source_info" : {
8265 "filename" : "include/int_transit.p4",
8266 "line" : 41,
8267 "column" : 8,
8268 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8269 }
8270 }
8271 ]
8272 },
8273 {
8274 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008275 "id" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008276 "runtime_data" : [],
8277 "primitives" : []
8278 },
8279 {
8280 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008281 "id" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008282 "runtime_data" : [],
8283 "primitives" : [
8284 {
8285 "op" : "add_header",
8286 "parameters" : [
8287 {
8288 "type" : "header",
8289 "value" : "int_egress_tx_util"
8290 }
8291 ],
8292 "source_info" : {
8293 "filename" : "include/int_transit.p4",
8294 "line" : 88,
8295 "column" : 8,
8296 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8297 }
8298 },
8299 {
8300 "op" : "assign",
8301 "parameters" : [
8302 {
8303 "type" : "field",
8304 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8305 },
8306 {
8307 "type" : "hexstr",
8308 "value" : "0x00000000"
8309 }
8310 ],
8311 "source_info" : {
8312 "filename" : "include/int_transit.p4",
8313 "line" : 89,
8314 "column" : 8,
8315 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8316 }
8317 }
8318 ]
8319 },
8320 {
8321 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008322 "id" : 105,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008323 "runtime_data" : [],
8324 "primitives" : [
8325 {
8326 "op" : "add_header",
8327 "parameters" : [
8328 {
8329 "type" : "header",
8330 "value" : "int_q_congestion"
8331 }
8332 ],
8333 "source_info" : {
8334 "filename" : "include/int_transit.p4",
8335 "line" : 78,
8336 "column" : 8,
8337 "source_fragment" : "hdr.int_q_congestion.setValid()"
8338 }
8339 },
8340 {
8341 "op" : "assign",
8342 "parameters" : [
8343 {
8344 "type" : "field",
8345 "value" : ["int_q_congestion", "q_id"]
8346 },
8347 {
8348 "type" : "hexstr",
8349 "value" : "0x00"
8350 }
8351 ],
8352 "source_info" : {
8353 "filename" : "include/int_transit.p4",
8354 "line" : 79,
8355 "column" : 8,
8356 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8357 }
8358 },
8359 {
8360 "op" : "assign",
8361 "parameters" : [
8362 {
8363 "type" : "field",
8364 "value" : ["int_q_congestion", "q_congestion"]
8365 },
8366 {
8367 "type" : "hexstr",
8368 "value" : "0x000000"
8369 }
8370 ],
8371 "source_info" : {
8372 "filename" : "include/int_transit.p4",
8373 "line" : 82,
8374 "column" : 8,
8375 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8376 }
8377 }
8378 ]
8379 },
8380 {
8381 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008382 "id" : 106,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008383 "runtime_data" : [],
8384 "primitives" : [
8385 {
8386 "op" : "add_header",
8387 "parameters" : [
8388 {
8389 "type" : "header",
8390 "value" : "int_egress_tx_util"
8391 }
8392 ],
8393 "source_info" : {
8394 "filename" : "include/int_transit.p4",
8395 "line" : 88,
8396 "column" : 8,
8397 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8398 }
8399 },
8400 {
8401 "op" : "assign",
8402 "parameters" : [
8403 {
8404 "type" : "field",
8405 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8406 },
8407 {
8408 "type" : "hexstr",
8409 "value" : "0x00000000"
8410 }
8411 ],
8412 "source_info" : {
8413 "filename" : "include/int_transit.p4",
8414 "line" : 89,
8415 "column" : 8,
8416 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8417 }
8418 },
8419 {
8420 "op" : "add_header",
8421 "parameters" : [
8422 {
8423 "type" : "header",
8424 "value" : "int_q_congestion"
8425 }
8426 ],
8427 "source_info" : {
8428 "filename" : "include/int_transit.p4",
8429 "line" : 78,
8430 "column" : 8,
8431 "source_fragment" : "hdr.int_q_congestion.setValid()"
8432 }
8433 },
8434 {
8435 "op" : "assign",
8436 "parameters" : [
8437 {
8438 "type" : "field",
8439 "value" : ["int_q_congestion", "q_id"]
8440 },
8441 {
8442 "type" : "hexstr",
8443 "value" : "0x00"
8444 }
8445 ],
8446 "source_info" : {
8447 "filename" : "include/int_transit.p4",
8448 "line" : 79,
8449 "column" : 8,
8450 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8451 }
8452 },
8453 {
8454 "op" : "assign",
8455 "parameters" : [
8456 {
8457 "type" : "field",
8458 "value" : ["int_q_congestion", "q_congestion"]
8459 },
8460 {
8461 "type" : "hexstr",
8462 "value" : "0x000000"
8463 }
8464 ],
8465 "source_info" : {
8466 "filename" : "include/int_transit.p4",
8467 "line" : 82,
8468 "column" : 8,
8469 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8470 }
8471 }
8472 ]
8473 },
8474 {
8475 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008476 "id" : 107,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008477 "runtime_data" : [],
8478 "primitives" : [
8479 {
8480 "op" : "add_header",
8481 "parameters" : [
8482 {
8483 "type" : "header",
8484 "value" : "int_egress_tstamp"
8485 }
8486 ],
8487 "source_info" : {
8488 "filename" : "include/int_transit.p4",
8489 "line" : 70,
8490 "column" : 8,
8491 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8492 }
8493 },
8494 {
8495 "op" : "assign",
8496 "parameters" : [
8497 {
8498 "type" : "field",
8499 "value" : ["int_egress_tstamp", "egress_tstamp"]
8500 },
8501 {
8502 "type" : "expression",
8503 "value" : {
8504 "type" : "expression",
8505 "value" : {
8506 "op" : "&",
8507 "left" : {
8508 "type" : "expression",
8509 "value" : {
8510 "op" : "+",
8511 "left" : {
8512 "type" : "field",
8513 "value" : ["standard_metadata", "enq_timestamp"]
8514 },
8515 "right" : {
8516 "type" : "field",
8517 "value" : ["standard_metadata", "deq_timedelta"]
8518 }
8519 }
8520 },
8521 "right" : {
8522 "type" : "hexstr",
8523 "value" : "0xffffffff"
8524 }
8525 }
8526 }
8527 }
8528 ],
8529 "source_info" : {
8530 "filename" : "include/int_transit.p4",
8531 "line" : 71,
8532 "column" : 8,
8533 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8534 }
8535 }
8536 ]
8537 },
8538 {
8539 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008540 "id" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008541 "runtime_data" : [],
8542 "primitives" : [
8543 {
8544 "op" : "add_header",
8545 "parameters" : [
8546 {
8547 "type" : "header",
8548 "value" : "int_egress_tx_util"
8549 }
8550 ],
8551 "source_info" : {
8552 "filename" : "include/int_transit.p4",
8553 "line" : 88,
8554 "column" : 8,
8555 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8556 }
8557 },
8558 {
8559 "op" : "assign",
8560 "parameters" : [
8561 {
8562 "type" : "field",
8563 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8564 },
8565 {
8566 "type" : "hexstr",
8567 "value" : "0x00000000"
8568 }
8569 ],
8570 "source_info" : {
8571 "filename" : "include/int_transit.p4",
8572 "line" : 89,
8573 "column" : 8,
8574 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8575 }
8576 },
8577 {
8578 "op" : "add_header",
8579 "parameters" : [
8580 {
8581 "type" : "header",
8582 "value" : "int_egress_tstamp"
8583 }
8584 ],
8585 "source_info" : {
8586 "filename" : "include/int_transit.p4",
8587 "line" : 70,
8588 "column" : 8,
8589 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8590 }
8591 },
8592 {
8593 "op" : "assign",
8594 "parameters" : [
8595 {
8596 "type" : "field",
8597 "value" : ["int_egress_tstamp", "egress_tstamp"]
8598 },
8599 {
8600 "type" : "expression",
8601 "value" : {
8602 "type" : "expression",
8603 "value" : {
8604 "op" : "&",
8605 "left" : {
8606 "type" : "expression",
8607 "value" : {
8608 "op" : "+",
8609 "left" : {
8610 "type" : "field",
8611 "value" : ["standard_metadata", "enq_timestamp"]
8612 },
8613 "right" : {
8614 "type" : "field",
8615 "value" : ["standard_metadata", "deq_timedelta"]
8616 }
8617 }
8618 },
8619 "right" : {
8620 "type" : "hexstr",
8621 "value" : "0xffffffff"
8622 }
8623 }
8624 }
8625 }
8626 ],
8627 "source_info" : {
8628 "filename" : "include/int_transit.p4",
8629 "line" : 71,
8630 "column" : 8,
8631 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8632 }
8633 }
8634 ]
8635 },
8636 {
8637 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008638 "id" : 109,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008639 "runtime_data" : [],
8640 "primitives" : [
8641 {
8642 "op" : "add_header",
8643 "parameters" : [
8644 {
8645 "type" : "header",
8646 "value" : "int_q_congestion"
8647 }
8648 ],
8649 "source_info" : {
8650 "filename" : "include/int_transit.p4",
8651 "line" : 78,
8652 "column" : 8,
8653 "source_fragment" : "hdr.int_q_congestion.setValid()"
8654 }
8655 },
8656 {
8657 "op" : "assign",
8658 "parameters" : [
8659 {
8660 "type" : "field",
8661 "value" : ["int_q_congestion", "q_id"]
8662 },
8663 {
8664 "type" : "hexstr",
8665 "value" : "0x00"
8666 }
8667 ],
8668 "source_info" : {
8669 "filename" : "include/int_transit.p4",
8670 "line" : 79,
8671 "column" : 8,
8672 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8673 }
8674 },
8675 {
8676 "op" : "assign",
8677 "parameters" : [
8678 {
8679 "type" : "field",
8680 "value" : ["int_q_congestion", "q_congestion"]
8681 },
8682 {
8683 "type" : "hexstr",
8684 "value" : "0x000000"
8685 }
8686 ],
8687 "source_info" : {
8688 "filename" : "include/int_transit.p4",
8689 "line" : 82,
8690 "column" : 8,
8691 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8692 }
8693 },
8694 {
8695 "op" : "add_header",
8696 "parameters" : [
8697 {
8698 "type" : "header",
8699 "value" : "int_egress_tstamp"
8700 }
8701 ],
8702 "source_info" : {
8703 "filename" : "include/int_transit.p4",
8704 "line" : 70,
8705 "column" : 8,
8706 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8707 }
8708 },
8709 {
8710 "op" : "assign",
8711 "parameters" : [
8712 {
8713 "type" : "field",
8714 "value" : ["int_egress_tstamp", "egress_tstamp"]
8715 },
8716 {
8717 "type" : "expression",
8718 "value" : {
8719 "type" : "expression",
8720 "value" : {
8721 "op" : "&",
8722 "left" : {
8723 "type" : "expression",
8724 "value" : {
8725 "op" : "+",
8726 "left" : {
8727 "type" : "field",
8728 "value" : ["standard_metadata", "enq_timestamp"]
8729 },
8730 "right" : {
8731 "type" : "field",
8732 "value" : ["standard_metadata", "deq_timedelta"]
8733 }
8734 }
8735 },
8736 "right" : {
8737 "type" : "hexstr",
8738 "value" : "0xffffffff"
8739 }
8740 }
8741 }
8742 }
8743 ],
8744 "source_info" : {
8745 "filename" : "include/int_transit.p4",
8746 "line" : 71,
8747 "column" : 8,
8748 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8749 }
8750 }
8751 ]
8752 },
8753 {
8754 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008755 "id" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008756 "runtime_data" : [],
8757 "primitives" : [
8758 {
8759 "op" : "add_header",
8760 "parameters" : [
8761 {
8762 "type" : "header",
8763 "value" : "int_egress_tx_util"
8764 }
8765 ],
8766 "source_info" : {
8767 "filename" : "include/int_transit.p4",
8768 "line" : 88,
8769 "column" : 8,
8770 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8771 }
8772 },
8773 {
8774 "op" : "assign",
8775 "parameters" : [
8776 {
8777 "type" : "field",
8778 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8779 },
8780 {
8781 "type" : "hexstr",
8782 "value" : "0x00000000"
8783 }
8784 ],
8785 "source_info" : {
8786 "filename" : "include/int_transit.p4",
8787 "line" : 89,
8788 "column" : 8,
8789 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8790 }
8791 },
8792 {
8793 "op" : "add_header",
8794 "parameters" : [
8795 {
8796 "type" : "header",
8797 "value" : "int_q_congestion"
8798 }
8799 ],
8800 "source_info" : {
8801 "filename" : "include/int_transit.p4",
8802 "line" : 78,
8803 "column" : 8,
8804 "source_fragment" : "hdr.int_q_congestion.setValid()"
8805 }
8806 },
8807 {
8808 "op" : "assign",
8809 "parameters" : [
8810 {
8811 "type" : "field",
8812 "value" : ["int_q_congestion", "q_id"]
8813 },
8814 {
8815 "type" : "hexstr",
8816 "value" : "0x00"
8817 }
8818 ],
8819 "source_info" : {
8820 "filename" : "include/int_transit.p4",
8821 "line" : 79,
8822 "column" : 8,
8823 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8824 }
8825 },
8826 {
8827 "op" : "assign",
8828 "parameters" : [
8829 {
8830 "type" : "field",
8831 "value" : ["int_q_congestion", "q_congestion"]
8832 },
8833 {
8834 "type" : "hexstr",
8835 "value" : "0x000000"
8836 }
8837 ],
8838 "source_info" : {
8839 "filename" : "include/int_transit.p4",
8840 "line" : 82,
8841 "column" : 8,
8842 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8843 }
8844 },
8845 {
8846 "op" : "add_header",
8847 "parameters" : [
8848 {
8849 "type" : "header",
8850 "value" : "int_egress_tstamp"
8851 }
8852 ],
8853 "source_info" : {
8854 "filename" : "include/int_transit.p4",
8855 "line" : 70,
8856 "column" : 8,
8857 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8858 }
8859 },
8860 {
8861 "op" : "assign",
8862 "parameters" : [
8863 {
8864 "type" : "field",
8865 "value" : ["int_egress_tstamp", "egress_tstamp"]
8866 },
8867 {
8868 "type" : "expression",
8869 "value" : {
8870 "type" : "expression",
8871 "value" : {
8872 "op" : "&",
8873 "left" : {
8874 "type" : "expression",
8875 "value" : {
8876 "op" : "+",
8877 "left" : {
8878 "type" : "field",
8879 "value" : ["standard_metadata", "enq_timestamp"]
8880 },
8881 "right" : {
8882 "type" : "field",
8883 "value" : ["standard_metadata", "deq_timedelta"]
8884 }
8885 }
8886 },
8887 "right" : {
8888 "type" : "hexstr",
8889 "value" : "0xffffffff"
8890 }
8891 }
8892 }
8893 }
8894 ],
8895 "source_info" : {
8896 "filename" : "include/int_transit.p4",
8897 "line" : 71,
8898 "column" : 8,
8899 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8900 }
8901 }
8902 ]
8903 },
8904 {
8905 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008906 "id" : 111,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008907 "runtime_data" : [],
8908 "primitives" : [
8909 {
8910 "op" : "add_header",
8911 "parameters" : [
8912 {
8913 "type" : "header",
8914 "value" : "int_ingress_tstamp"
8915 }
8916 ],
8917 "source_info" : {
8918 "filename" : "include/int_transit.p4",
8919 "line" : 65,
8920 "column" : 8,
8921 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8922 }
8923 },
8924 {
8925 "op" : "assign",
8926 "parameters" : [
8927 {
8928 "type" : "field",
8929 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8930 },
8931 {
8932 "type" : "field",
8933 "value" : ["standard_metadata", "enq_timestamp"]
8934 }
8935 ],
8936 "source_info" : {
8937 "filename" : "include/int_transit.p4",
8938 "line" : 66,
8939 "column" : 8,
8940 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8941 }
8942 }
8943 ]
8944 },
8945 {
8946 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008947 "id" : 112,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008948 "runtime_data" : [],
8949 "primitives" : [
8950 {
8951 "op" : "add_header",
8952 "parameters" : [
8953 {
8954 "type" : "header",
8955 "value" : "int_egress_tx_util"
8956 }
8957 ],
8958 "source_info" : {
8959 "filename" : "include/int_transit.p4",
8960 "line" : 88,
8961 "column" : 8,
8962 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8963 }
8964 },
8965 {
8966 "op" : "assign",
8967 "parameters" : [
8968 {
8969 "type" : "field",
8970 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8971 },
8972 {
8973 "type" : "hexstr",
8974 "value" : "0x00000000"
8975 }
8976 ],
8977 "source_info" : {
8978 "filename" : "include/int_transit.p4",
8979 "line" : 89,
8980 "column" : 8,
8981 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8982 }
8983 },
8984 {
8985 "op" : "add_header",
8986 "parameters" : [
8987 {
8988 "type" : "header",
8989 "value" : "int_ingress_tstamp"
8990 }
8991 ],
8992 "source_info" : {
8993 "filename" : "include/int_transit.p4",
8994 "line" : 65,
8995 "column" : 8,
8996 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8997 }
8998 },
8999 {
9000 "op" : "assign",
9001 "parameters" : [
9002 {
9003 "type" : "field",
9004 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9005 },
9006 {
9007 "type" : "field",
9008 "value" : ["standard_metadata", "enq_timestamp"]
9009 }
9010 ],
9011 "source_info" : {
9012 "filename" : "include/int_transit.p4",
9013 "line" : 66,
9014 "column" : 8,
9015 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9016 }
9017 }
9018 ]
9019 },
9020 {
9021 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009022 "id" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009023 "runtime_data" : [],
9024 "primitives" : [
9025 {
9026 "op" : "add_header",
9027 "parameters" : [
9028 {
9029 "type" : "header",
9030 "value" : "int_q_congestion"
9031 }
9032 ],
9033 "source_info" : {
9034 "filename" : "include/int_transit.p4",
9035 "line" : 78,
9036 "column" : 8,
9037 "source_fragment" : "hdr.int_q_congestion.setValid()"
9038 }
9039 },
9040 {
9041 "op" : "assign",
9042 "parameters" : [
9043 {
9044 "type" : "field",
9045 "value" : ["int_q_congestion", "q_id"]
9046 },
9047 {
9048 "type" : "hexstr",
9049 "value" : "0x00"
9050 }
9051 ],
9052 "source_info" : {
9053 "filename" : "include/int_transit.p4",
9054 "line" : 79,
9055 "column" : 8,
9056 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9057 }
9058 },
9059 {
9060 "op" : "assign",
9061 "parameters" : [
9062 {
9063 "type" : "field",
9064 "value" : ["int_q_congestion", "q_congestion"]
9065 },
9066 {
9067 "type" : "hexstr",
9068 "value" : "0x000000"
9069 }
9070 ],
9071 "source_info" : {
9072 "filename" : "include/int_transit.p4",
9073 "line" : 82,
9074 "column" : 8,
9075 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9076 }
9077 },
9078 {
9079 "op" : "add_header",
9080 "parameters" : [
9081 {
9082 "type" : "header",
9083 "value" : "int_ingress_tstamp"
9084 }
9085 ],
9086 "source_info" : {
9087 "filename" : "include/int_transit.p4",
9088 "line" : 65,
9089 "column" : 8,
9090 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9091 }
9092 },
9093 {
9094 "op" : "assign",
9095 "parameters" : [
9096 {
9097 "type" : "field",
9098 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9099 },
9100 {
9101 "type" : "field",
9102 "value" : ["standard_metadata", "enq_timestamp"]
9103 }
9104 ],
9105 "source_info" : {
9106 "filename" : "include/int_transit.p4",
9107 "line" : 66,
9108 "column" : 8,
9109 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9110 }
9111 }
9112 ]
9113 },
9114 {
9115 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009116 "id" : 114,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009117 "runtime_data" : [],
9118 "primitives" : [
9119 {
9120 "op" : "add_header",
9121 "parameters" : [
9122 {
9123 "type" : "header",
9124 "value" : "int_egress_tx_util"
9125 }
9126 ],
9127 "source_info" : {
9128 "filename" : "include/int_transit.p4",
9129 "line" : 88,
9130 "column" : 8,
9131 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9132 }
9133 },
9134 {
9135 "op" : "assign",
9136 "parameters" : [
9137 {
9138 "type" : "field",
9139 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9140 },
9141 {
9142 "type" : "hexstr",
9143 "value" : "0x00000000"
9144 }
9145 ],
9146 "source_info" : {
9147 "filename" : "include/int_transit.p4",
9148 "line" : 89,
9149 "column" : 8,
9150 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9151 }
9152 },
9153 {
9154 "op" : "add_header",
9155 "parameters" : [
9156 {
9157 "type" : "header",
9158 "value" : "int_q_congestion"
9159 }
9160 ],
9161 "source_info" : {
9162 "filename" : "include/int_transit.p4",
9163 "line" : 78,
9164 "column" : 8,
9165 "source_fragment" : "hdr.int_q_congestion.setValid()"
9166 }
9167 },
9168 {
9169 "op" : "assign",
9170 "parameters" : [
9171 {
9172 "type" : "field",
9173 "value" : ["int_q_congestion", "q_id"]
9174 },
9175 {
9176 "type" : "hexstr",
9177 "value" : "0x00"
9178 }
9179 ],
9180 "source_info" : {
9181 "filename" : "include/int_transit.p4",
9182 "line" : 79,
9183 "column" : 8,
9184 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9185 }
9186 },
9187 {
9188 "op" : "assign",
9189 "parameters" : [
9190 {
9191 "type" : "field",
9192 "value" : ["int_q_congestion", "q_congestion"]
9193 },
9194 {
9195 "type" : "hexstr",
9196 "value" : "0x000000"
9197 }
9198 ],
9199 "source_info" : {
9200 "filename" : "include/int_transit.p4",
9201 "line" : 82,
9202 "column" : 8,
9203 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9204 }
9205 },
9206 {
9207 "op" : "add_header",
9208 "parameters" : [
9209 {
9210 "type" : "header",
9211 "value" : "int_ingress_tstamp"
9212 }
9213 ],
9214 "source_info" : {
9215 "filename" : "include/int_transit.p4",
9216 "line" : 65,
9217 "column" : 8,
9218 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9219 }
9220 },
9221 {
9222 "op" : "assign",
9223 "parameters" : [
9224 {
9225 "type" : "field",
9226 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9227 },
9228 {
9229 "type" : "field",
9230 "value" : ["standard_metadata", "enq_timestamp"]
9231 }
9232 ],
9233 "source_info" : {
9234 "filename" : "include/int_transit.p4",
9235 "line" : 66,
9236 "column" : 8,
9237 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9238 }
9239 }
9240 ]
9241 },
9242 {
9243 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009244 "id" : 115,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009245 "runtime_data" : [],
9246 "primitives" : [
9247 {
9248 "op" : "add_header",
9249 "parameters" : [
9250 {
9251 "type" : "header",
9252 "value" : "int_egress_tstamp"
9253 }
9254 ],
9255 "source_info" : {
9256 "filename" : "include/int_transit.p4",
9257 "line" : 70,
9258 "column" : 8,
9259 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9260 }
9261 },
9262 {
9263 "op" : "assign",
9264 "parameters" : [
9265 {
9266 "type" : "field",
9267 "value" : ["int_egress_tstamp", "egress_tstamp"]
9268 },
9269 {
9270 "type" : "expression",
9271 "value" : {
9272 "type" : "expression",
9273 "value" : {
9274 "op" : "&",
9275 "left" : {
9276 "type" : "expression",
9277 "value" : {
9278 "op" : "+",
9279 "left" : {
9280 "type" : "field",
9281 "value" : ["standard_metadata", "enq_timestamp"]
9282 },
9283 "right" : {
9284 "type" : "field",
9285 "value" : ["standard_metadata", "deq_timedelta"]
9286 }
9287 }
9288 },
9289 "right" : {
9290 "type" : "hexstr",
9291 "value" : "0xffffffff"
9292 }
9293 }
9294 }
9295 }
9296 ],
9297 "source_info" : {
9298 "filename" : "include/int_transit.p4",
9299 "line" : 71,
9300 "column" : 8,
9301 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9302 }
9303 },
9304 {
9305 "op" : "add_header",
9306 "parameters" : [
9307 {
9308 "type" : "header",
9309 "value" : "int_ingress_tstamp"
9310 }
9311 ],
9312 "source_info" : {
9313 "filename" : "include/int_transit.p4",
9314 "line" : 65,
9315 "column" : 8,
9316 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9317 }
9318 },
9319 {
9320 "op" : "assign",
9321 "parameters" : [
9322 {
9323 "type" : "field",
9324 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9325 },
9326 {
9327 "type" : "field",
9328 "value" : ["standard_metadata", "enq_timestamp"]
9329 }
9330 ],
9331 "source_info" : {
9332 "filename" : "include/int_transit.p4",
9333 "line" : 66,
9334 "column" : 8,
9335 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9336 }
9337 }
9338 ]
9339 },
9340 {
9341 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009342 "id" : 116,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009343 "runtime_data" : [],
9344 "primitives" : [
9345 {
9346 "op" : "add_header",
9347 "parameters" : [
9348 {
9349 "type" : "header",
9350 "value" : "int_egress_tx_util"
9351 }
9352 ],
9353 "source_info" : {
9354 "filename" : "include/int_transit.p4",
9355 "line" : 88,
9356 "column" : 8,
9357 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9358 }
9359 },
9360 {
9361 "op" : "assign",
9362 "parameters" : [
9363 {
9364 "type" : "field",
9365 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9366 },
9367 {
9368 "type" : "hexstr",
9369 "value" : "0x00000000"
9370 }
9371 ],
9372 "source_info" : {
9373 "filename" : "include/int_transit.p4",
9374 "line" : 89,
9375 "column" : 8,
9376 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9377 }
9378 },
9379 {
9380 "op" : "add_header",
9381 "parameters" : [
9382 {
9383 "type" : "header",
9384 "value" : "int_egress_tstamp"
9385 }
9386 ],
9387 "source_info" : {
9388 "filename" : "include/int_transit.p4",
9389 "line" : 70,
9390 "column" : 8,
9391 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9392 }
9393 },
9394 {
9395 "op" : "assign",
9396 "parameters" : [
9397 {
9398 "type" : "field",
9399 "value" : ["int_egress_tstamp", "egress_tstamp"]
9400 },
9401 {
9402 "type" : "expression",
9403 "value" : {
9404 "type" : "expression",
9405 "value" : {
9406 "op" : "&",
9407 "left" : {
9408 "type" : "expression",
9409 "value" : {
9410 "op" : "+",
9411 "left" : {
9412 "type" : "field",
9413 "value" : ["standard_metadata", "enq_timestamp"]
9414 },
9415 "right" : {
9416 "type" : "field",
9417 "value" : ["standard_metadata", "deq_timedelta"]
9418 }
9419 }
9420 },
9421 "right" : {
9422 "type" : "hexstr",
9423 "value" : "0xffffffff"
9424 }
9425 }
9426 }
9427 }
9428 ],
9429 "source_info" : {
9430 "filename" : "include/int_transit.p4",
9431 "line" : 71,
9432 "column" : 8,
9433 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9434 }
9435 },
9436 {
9437 "op" : "add_header",
9438 "parameters" : [
9439 {
9440 "type" : "header",
9441 "value" : "int_ingress_tstamp"
9442 }
9443 ],
9444 "source_info" : {
9445 "filename" : "include/int_transit.p4",
9446 "line" : 65,
9447 "column" : 8,
9448 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9449 }
9450 },
9451 {
9452 "op" : "assign",
9453 "parameters" : [
9454 {
9455 "type" : "field",
9456 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9457 },
9458 {
9459 "type" : "field",
9460 "value" : ["standard_metadata", "enq_timestamp"]
9461 }
9462 ],
9463 "source_info" : {
9464 "filename" : "include/int_transit.p4",
9465 "line" : 66,
9466 "column" : 8,
9467 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9468 }
9469 }
9470 ]
9471 },
9472 {
9473 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009474 "id" : 117,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009475 "runtime_data" : [],
9476 "primitives" : [
9477 {
9478 "op" : "add_header",
9479 "parameters" : [
9480 {
9481 "type" : "header",
9482 "value" : "int_q_congestion"
9483 }
9484 ],
9485 "source_info" : {
9486 "filename" : "include/int_transit.p4",
9487 "line" : 78,
9488 "column" : 8,
9489 "source_fragment" : "hdr.int_q_congestion.setValid()"
9490 }
9491 },
9492 {
9493 "op" : "assign",
9494 "parameters" : [
9495 {
9496 "type" : "field",
9497 "value" : ["int_q_congestion", "q_id"]
9498 },
9499 {
9500 "type" : "hexstr",
9501 "value" : "0x00"
9502 }
9503 ],
9504 "source_info" : {
9505 "filename" : "include/int_transit.p4",
9506 "line" : 79,
9507 "column" : 8,
9508 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9509 }
9510 },
9511 {
9512 "op" : "assign",
9513 "parameters" : [
9514 {
9515 "type" : "field",
9516 "value" : ["int_q_congestion", "q_congestion"]
9517 },
9518 {
9519 "type" : "hexstr",
9520 "value" : "0x000000"
9521 }
9522 ],
9523 "source_info" : {
9524 "filename" : "include/int_transit.p4",
9525 "line" : 82,
9526 "column" : 8,
9527 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9528 }
9529 },
9530 {
9531 "op" : "add_header",
9532 "parameters" : [
9533 {
9534 "type" : "header",
9535 "value" : "int_egress_tstamp"
9536 }
9537 ],
9538 "source_info" : {
9539 "filename" : "include/int_transit.p4",
9540 "line" : 70,
9541 "column" : 8,
9542 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9543 }
9544 },
9545 {
9546 "op" : "assign",
9547 "parameters" : [
9548 {
9549 "type" : "field",
9550 "value" : ["int_egress_tstamp", "egress_tstamp"]
9551 },
9552 {
9553 "type" : "expression",
9554 "value" : {
9555 "type" : "expression",
9556 "value" : {
9557 "op" : "&",
9558 "left" : {
9559 "type" : "expression",
9560 "value" : {
9561 "op" : "+",
9562 "left" : {
9563 "type" : "field",
9564 "value" : ["standard_metadata", "enq_timestamp"]
9565 },
9566 "right" : {
9567 "type" : "field",
9568 "value" : ["standard_metadata", "deq_timedelta"]
9569 }
9570 }
9571 },
9572 "right" : {
9573 "type" : "hexstr",
9574 "value" : "0xffffffff"
9575 }
9576 }
9577 }
9578 }
9579 ],
9580 "source_info" : {
9581 "filename" : "include/int_transit.p4",
9582 "line" : 71,
9583 "column" : 8,
9584 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9585 }
9586 },
9587 {
9588 "op" : "add_header",
9589 "parameters" : [
9590 {
9591 "type" : "header",
9592 "value" : "int_ingress_tstamp"
9593 }
9594 ],
9595 "source_info" : {
9596 "filename" : "include/int_transit.p4",
9597 "line" : 65,
9598 "column" : 8,
9599 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9600 }
9601 },
9602 {
9603 "op" : "assign",
9604 "parameters" : [
9605 {
9606 "type" : "field",
9607 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9608 },
9609 {
9610 "type" : "field",
9611 "value" : ["standard_metadata", "enq_timestamp"]
9612 }
9613 ],
9614 "source_info" : {
9615 "filename" : "include/int_transit.p4",
9616 "line" : 66,
9617 "column" : 8,
9618 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9619 }
9620 }
9621 ]
9622 },
9623 {
9624 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009625 "id" : 118,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009626 "runtime_data" : [],
9627 "primitives" : [
9628 {
9629 "op" : "add_header",
9630 "parameters" : [
9631 {
9632 "type" : "header",
9633 "value" : "int_egress_tx_util"
9634 }
9635 ],
9636 "source_info" : {
9637 "filename" : "include/int_transit.p4",
9638 "line" : 88,
9639 "column" : 8,
9640 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9641 }
9642 },
9643 {
9644 "op" : "assign",
9645 "parameters" : [
9646 {
9647 "type" : "field",
9648 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9649 },
9650 {
9651 "type" : "hexstr",
9652 "value" : "0x00000000"
9653 }
9654 ],
9655 "source_info" : {
9656 "filename" : "include/int_transit.p4",
9657 "line" : 89,
9658 "column" : 8,
9659 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9660 }
9661 },
9662 {
9663 "op" : "add_header",
9664 "parameters" : [
9665 {
9666 "type" : "header",
9667 "value" : "int_q_congestion"
9668 }
9669 ],
9670 "source_info" : {
9671 "filename" : "include/int_transit.p4",
9672 "line" : 78,
9673 "column" : 8,
9674 "source_fragment" : "hdr.int_q_congestion.setValid()"
9675 }
9676 },
9677 {
9678 "op" : "assign",
9679 "parameters" : [
9680 {
9681 "type" : "field",
9682 "value" : ["int_q_congestion", "q_id"]
9683 },
9684 {
9685 "type" : "hexstr",
9686 "value" : "0x00"
9687 }
9688 ],
9689 "source_info" : {
9690 "filename" : "include/int_transit.p4",
9691 "line" : 79,
9692 "column" : 8,
9693 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9694 }
9695 },
9696 {
9697 "op" : "assign",
9698 "parameters" : [
9699 {
9700 "type" : "field",
9701 "value" : ["int_q_congestion", "q_congestion"]
9702 },
9703 {
9704 "type" : "hexstr",
9705 "value" : "0x000000"
9706 }
9707 ],
9708 "source_info" : {
9709 "filename" : "include/int_transit.p4",
9710 "line" : 82,
9711 "column" : 8,
9712 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9713 }
9714 },
9715 {
9716 "op" : "add_header",
9717 "parameters" : [
9718 {
9719 "type" : "header",
9720 "value" : "int_egress_tstamp"
9721 }
9722 ],
9723 "source_info" : {
9724 "filename" : "include/int_transit.p4",
9725 "line" : 70,
9726 "column" : 8,
9727 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9728 }
9729 },
9730 {
9731 "op" : "assign",
9732 "parameters" : [
9733 {
9734 "type" : "field",
9735 "value" : ["int_egress_tstamp", "egress_tstamp"]
9736 },
9737 {
9738 "type" : "expression",
9739 "value" : {
9740 "type" : "expression",
9741 "value" : {
9742 "op" : "&",
9743 "left" : {
9744 "type" : "expression",
9745 "value" : {
9746 "op" : "+",
9747 "left" : {
9748 "type" : "field",
9749 "value" : ["standard_metadata", "enq_timestamp"]
9750 },
9751 "right" : {
9752 "type" : "field",
9753 "value" : ["standard_metadata", "deq_timedelta"]
9754 }
9755 }
9756 },
9757 "right" : {
9758 "type" : "hexstr",
9759 "value" : "0xffffffff"
9760 }
9761 }
9762 }
9763 }
9764 ],
9765 "source_info" : {
9766 "filename" : "include/int_transit.p4",
9767 "line" : 71,
9768 "column" : 8,
9769 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9770 }
9771 },
9772 {
9773 "op" : "add_header",
9774 "parameters" : [
9775 {
9776 "type" : "header",
9777 "value" : "int_ingress_tstamp"
9778 }
9779 ],
9780 "source_info" : {
9781 "filename" : "include/int_transit.p4",
9782 "line" : 65,
9783 "column" : 8,
9784 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9785 }
9786 },
9787 {
9788 "op" : "assign",
9789 "parameters" : [
9790 {
9791 "type" : "field",
9792 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9793 },
9794 {
9795 "type" : "field",
9796 "value" : ["standard_metadata", "enq_timestamp"]
9797 }
9798 ],
9799 "source_info" : {
9800 "filename" : "include/int_transit.p4",
9801 "line" : 66,
9802 "column" : 8,
9803 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9804 }
9805 }
9806 ]
9807 },
9808 {
9809 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009810 "id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009811 "runtime_data" : [],
9812 "primitives" : [
9813 {
9814 "op" : "assign",
9815 "parameters" : [
9816 {
9817 "type" : "field",
9818 "value" : ["ipv4", "total_len"]
9819 },
9820 {
9821 "type" : "expression",
9822 "value" : {
9823 "type" : "expression",
9824 "value" : {
9825 "op" : "&",
9826 "left" : {
9827 "type" : "expression",
9828 "value" : {
9829 "op" : "+",
9830 "left" : {
9831 "type" : "field",
9832 "value" : ["ipv4", "total_len"]
9833 },
9834 "right" : {
9835 "type" : "field",
9836 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9837 }
9838 }
9839 },
9840 "right" : {
9841 "type" : "hexstr",
9842 "value" : "0xffff"
9843 }
9844 }
9845 }
9846 }
9847 ],
9848 "source_info" : {
9849 "filename" : "include/int_transit.p4",
9850 "line" : 304,
9851 "column" : 8,
9852 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
9853 }
9854 }
9855 ]
9856 },
9857 {
9858 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009859 "id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009860 "runtime_data" : [],
9861 "primitives" : [
9862 {
9863 "op" : "assign",
9864 "parameters" : [
9865 {
9866 "type" : "field",
9867 "value" : ["udp", "len"]
9868 },
9869 {
9870 "type" : "expression",
9871 "value" : {
9872 "type" : "expression",
9873 "value" : {
9874 "op" : "&",
9875 "left" : {
9876 "type" : "expression",
9877 "value" : {
9878 "op" : "+",
9879 "left" : {
9880 "type" : "field",
9881 "value" : ["udp", "len"]
9882 },
9883 "right" : {
9884 "type" : "field",
9885 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9886 }
9887 }
9888 },
9889 "right" : {
9890 "type" : "hexstr",
9891 "value" : "0xffff"
9892 }
9893 }
9894 }
9895 }
9896 ],
9897 "source_info" : {
9898 "filename" : "include/int_transit.p4",
9899 "line" : 307,
9900 "column" : 8,
9901 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
9902 }
9903 }
9904 ]
9905 },
9906 {
9907 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009908 "id" : 121,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009909 "runtime_data" : [],
9910 "primitives" : [
9911 {
9912 "op" : "assign",
9913 "parameters" : [
9914 {
9915 "type" : "field",
9916 "value" : ["intl4_shim", "len"]
9917 },
9918 {
9919 "type" : "expression",
9920 "value" : {
9921 "type" : "expression",
9922 "value" : {
9923 "op" : "&",
9924 "left" : {
9925 "type" : "expression",
9926 "value" : {
9927 "op" : "+",
9928 "left" : {
9929 "type" : "field",
9930 "value" : ["intl4_shim", "len"]
9931 },
9932 "right" : {
9933 "type" : "expression",
9934 "value" : {
9935 "op" : "&",
9936 "left" : {
9937 "type" : "field",
9938 "value" : ["int_header", "ins_cnt"]
9939 },
9940 "right" : {
9941 "type" : "hexstr",
9942 "value" : "0xff"
9943 }
9944 }
9945 }
9946 }
9947 },
9948 "right" : {
9949 "type" : "hexstr",
9950 "value" : "0xff"
9951 }
9952 }
9953 }
9954 }
9955 ],
9956 "source_info" : {
9957 "filename" : "include/int_transit.p4",
9958 "line" : 310,
9959 "column" : 8,
9960 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
9961 }
9962 }
9963 ]
9964 },
9965 {
9966 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009967 "id" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009968 "runtime_data" : [
9969 {
9970 "name" : "src_mac",
9971 "bitwidth" : 48
9972 },
9973 {
9974 "name" : "mon_mac",
9975 "bitwidth" : 48
9976 },
9977 {
9978 "name" : "src_ip",
9979 "bitwidth" : 32
9980 },
9981 {
9982 "name" : "mon_ip",
9983 "bitwidth" : 32
9984 },
9985 {
9986 "name" : "mon_port",
9987 "bitwidth" : 16
9988 }
9989 ],
9990 "primitives" : [
9991 {
9992 "op" : "add_header",
9993 "parameters" : [
9994 {
9995 "type" : "header",
9996 "value" : "report_ethernet"
9997 }
9998 ],
9999 "source_info" : {
10000 "filename" : "include/int_report.p4",
10001 "line" : 50,
10002 "column" : 8,
10003 "source_fragment" : "hdr.report_ethernet.setValid()"
10004 }
10005 },
10006 {
10007 "op" : "assign",
10008 "parameters" : [
10009 {
10010 "type" : "field",
10011 "value" : ["report_ethernet", "dst_addr"]
10012 },
10013 {
10014 "type" : "runtime_data",
10015 "value" : 1
10016 }
10017 ],
10018 "source_info" : {
10019 "filename" : "include/int_report.p4",
10020 "line" : 51,
10021 "column" : 8,
10022 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
10023 }
10024 },
10025 {
10026 "op" : "assign",
10027 "parameters" : [
10028 {
10029 "type" : "field",
10030 "value" : ["report_ethernet", "src_addr"]
10031 },
10032 {
10033 "type" : "runtime_data",
10034 "value" : 0
10035 }
10036 ],
10037 "source_info" : {
10038 "filename" : "include/int_report.p4",
10039 "line" : 52,
10040 "column" : 8,
10041 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
10042 }
10043 },
10044 {
10045 "op" : "assign",
10046 "parameters" : [
10047 {
10048 "type" : "field",
10049 "value" : ["report_ethernet", "ether_type"]
10050 },
10051 {
10052 "type" : "hexstr",
10053 "value" : "0x0800"
10054 }
10055 ],
10056 "source_info" : {
10057 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010058 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010059 "column" : 31,
10060 "source_fragment" : "0x0800; ..."
10061 }
10062 },
10063 {
10064 "op" : "add_header",
10065 "parameters" : [
10066 {
10067 "type" : "header",
10068 "value" : "report_ipv4"
10069 }
10070 ],
10071 "source_info" : {
10072 "filename" : "include/int_report.p4",
10073 "line" : 56,
10074 "column" : 8,
10075 "source_fragment" : "hdr.report_ipv4.setValid()"
10076 }
10077 },
10078 {
10079 "op" : "assign",
10080 "parameters" : [
10081 {
10082 "type" : "field",
10083 "value" : ["report_ipv4", "version"]
10084 },
10085 {
10086 "type" : "hexstr",
10087 "value" : "0x04"
10088 }
10089 ],
10090 "source_info" : {
10091 "filename" : "include/int_report.p4",
10092 "line" : 57,
10093 "column" : 8,
10094 "source_fragment" : "hdr.report_ipv4.version = 4w4"
10095 }
10096 },
10097 {
10098 "op" : "assign",
10099 "parameters" : [
10100 {
10101 "type" : "field",
10102 "value" : ["report_ipv4", "ihl"]
10103 },
10104 {
10105 "type" : "hexstr",
10106 "value" : "0x05"
10107 }
10108 ],
10109 "source_info" : {
10110 "filename" : "include/int_report.p4",
10111 "line" : 58,
10112 "column" : 8,
10113 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
10114 }
10115 },
10116 {
10117 "op" : "assign",
10118 "parameters" : [
10119 {
10120 "type" : "field",
10121 "value" : ["report_ipv4", "dscp"]
10122 },
10123 {
10124 "type" : "hexstr",
10125 "value" : "0x00"
10126 }
10127 ],
10128 "source_info" : {
10129 "filename" : "include/int_report.p4",
10130 "line" : 59,
10131 "column" : 8,
10132 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
10133 }
10134 },
10135 {
10136 "op" : "assign",
10137 "parameters" : [
10138 {
10139 "type" : "field",
10140 "value" : ["report_ipv4", "ecn"]
10141 },
10142 {
10143 "type" : "hexstr",
10144 "value" : "0x00"
10145 }
10146 ],
10147 "source_info" : {
10148 "filename" : "include/int_report.p4",
10149 "line" : 60,
10150 "column" : 8,
10151 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
10152 }
10153 },
10154 {
10155 "op" : "assign",
10156 "parameters" : [
10157 {
10158 "type" : "field",
10159 "value" : ["report_ipv4", "total_len"]
10160 },
10161 {
10162 "type" : "expression",
10163 "value" : {
10164 "type" : "expression",
10165 "value" : {
10166 "op" : "&",
10167 "left" : {
10168 "type" : "expression",
10169 "value" : {
10170 "op" : "+",
10171 "left" : {
10172 "type" : "hexstr",
10173 "value" : "0x0036"
10174 },
10175 "right" : {
10176 "type" : "field",
10177 "value" : ["ipv4", "total_len"]
10178 }
10179 }
10180 },
10181 "right" : {
10182 "type" : "hexstr",
10183 "value" : "0xffff"
10184 }
10185 }
10186 }
10187 }
10188 ],
10189 "source_info" : {
10190 "filename" : "include/int_report.p4",
10191 "line" : 62,
10192 "column" : 8,
10193 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
10194 }
10195 },
10196 {
10197 "op" : "assign",
10198 "parameters" : [
10199 {
10200 "type" : "field",
10201 "value" : ["report_ipv4", "identification"]
10202 },
10203 {
10204 "type" : "hexstr",
10205 "value" : "0x0000"
10206 }
10207 ],
10208 "source_info" : {
10209 "filename" : "include/int_report.p4",
10210 "line" : 65,
10211 "column" : 8,
10212 "source_fragment" : "hdr.report_ipv4.identification = 0"
10213 }
10214 },
10215 {
10216 "op" : "assign",
10217 "parameters" : [
10218 {
10219 "type" : "field",
10220 "value" : ["report_ipv4", "flags"]
10221 },
10222 {
10223 "type" : "hexstr",
10224 "value" : "0x00"
10225 }
10226 ],
10227 "source_info" : {
10228 "filename" : "include/int_report.p4",
10229 "line" : 66,
10230 "column" : 8,
10231 "source_fragment" : "hdr.report_ipv4.flags = 0"
10232 }
10233 },
10234 {
10235 "op" : "assign",
10236 "parameters" : [
10237 {
10238 "type" : "field",
10239 "value" : ["report_ipv4", "frag_offset"]
10240 },
10241 {
10242 "type" : "hexstr",
10243 "value" : "0x0000"
10244 }
10245 ],
10246 "source_info" : {
10247 "filename" : "include/int_report.p4",
10248 "line" : 67,
10249 "column" : 8,
10250 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
10251 }
10252 },
10253 {
10254 "op" : "assign",
10255 "parameters" : [
10256 {
10257 "type" : "field",
10258 "value" : ["report_ipv4", "ttl"]
10259 },
10260 {
10261 "type" : "hexstr",
10262 "value" : "0xff"
10263 }
10264 ],
10265 "source_info" : {
10266 "filename" : "include/int_report.p4",
10267 "line" : 68,
10268 "column" : 8,
10269 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
10270 }
10271 },
10272 {
10273 "op" : "assign",
10274 "parameters" : [
10275 {
10276 "type" : "field",
10277 "value" : ["report_ipv4", "protocol"]
10278 },
10279 {
10280 "type" : "hexstr",
10281 "value" : "0x11"
10282 }
10283 ],
10284 "source_info" : {
10285 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010286 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010287 "column" : 25,
10288 "source_fragment" : "17; ..."
10289 }
10290 },
10291 {
10292 "op" : "assign",
10293 "parameters" : [
10294 {
10295 "type" : "field",
10296 "value" : ["report_ipv4", "src_addr"]
10297 },
10298 {
10299 "type" : "runtime_data",
10300 "value" : 2
10301 }
10302 ],
10303 "source_info" : {
10304 "filename" : "include/int_report.p4",
10305 "line" : 70,
10306 "column" : 8,
10307 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
10308 }
10309 },
10310 {
10311 "op" : "assign",
10312 "parameters" : [
10313 {
10314 "type" : "field",
10315 "value" : ["report_ipv4", "dst_addr"]
10316 },
10317 {
10318 "type" : "runtime_data",
10319 "value" : 3
10320 }
10321 ],
10322 "source_info" : {
10323 "filename" : "include/int_report.p4",
10324 "line" : 71,
10325 "column" : 8,
10326 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
10327 }
10328 },
10329 {
10330 "op" : "add_header",
10331 "parameters" : [
10332 {
10333 "type" : "header",
10334 "value" : "report_udp"
10335 }
10336 ],
10337 "source_info" : {
10338 "filename" : "include/int_report.p4",
10339 "line" : 74,
10340 "column" : 8,
10341 "source_fragment" : "hdr.report_udp.setValid()"
10342 }
10343 },
10344 {
10345 "op" : "assign",
10346 "parameters" : [
10347 {
10348 "type" : "field",
10349 "value" : ["report_udp", "src_port"]
10350 },
10351 {
10352 "type" : "hexstr",
10353 "value" : "0x0000"
10354 }
10355 ],
10356 "source_info" : {
10357 "filename" : "include/int_report.p4",
10358 "line" : 75,
10359 "column" : 8,
10360 "source_fragment" : "hdr.report_udp.src_port = 0"
10361 }
10362 },
10363 {
10364 "op" : "assign",
10365 "parameters" : [
10366 {
10367 "type" : "field",
10368 "value" : ["report_udp", "dst_port"]
10369 },
10370 {
10371 "type" : "runtime_data",
10372 "value" : 4
10373 }
10374 ],
10375 "source_info" : {
10376 "filename" : "include/int_report.p4",
10377 "line" : 76,
10378 "column" : 8,
10379 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
10380 }
10381 },
10382 {
10383 "op" : "assign",
10384 "parameters" : [
10385 {
10386 "type" : "field",
10387 "value" : ["report_udp", "len"]
10388 },
10389 {
10390 "type" : "expression",
10391 "value" : {
10392 "type" : "expression",
10393 "value" : {
10394 "op" : "&",
10395 "left" : {
10396 "type" : "expression",
10397 "value" : {
10398 "op" : "+",
10399 "left" : {
10400 "type" : "hexstr",
10401 "value" : "0x0022"
10402 },
10403 "right" : {
10404 "type" : "field",
10405 "value" : ["ipv4", "total_len"]
10406 }
10407 }
10408 },
10409 "right" : {
10410 "type" : "hexstr",
10411 "value" : "0xffff"
10412 }
10413 }
10414 }
10415 }
10416 ],
10417 "source_info" : {
10418 "filename" : "include/int_report.p4",
10419 "line" : 77,
10420 "column" : 8,
10421 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
10422 }
10423 },
10424 {
10425 "op" : "assign",
10426 "parameters" : [
10427 {
10428 "type" : "field",
10429 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
10430 },
10431 {
10432 "type" : "expression",
10433 "value" : {
10434 "type" : "expression",
10435 "value" : {
10436 "op" : "b2d",
10437 "left" : null,
10438 "right" : {
10439 "type" : "bool",
10440 "value" : true
10441 }
10442 }
10443 }
10444 }
10445 ],
10446 "source_info" : {
10447 "filename" : "include/int_report.p4",
10448 "line" : 80,
10449 "column" : 8,
10450 "source_fragment" : "fabric_metadata.compute_checksum = true"
10451 }
10452 },
10453 {
10454 "op" : "add_header",
10455 "parameters" : [
10456 {
10457 "type" : "header",
10458 "value" : "report_fixed_header"
10459 }
10460 ],
10461 "source_info" : {
10462 "filename" : "include/int_report.p4",
10463 "line" : 30,
10464 "column" : 8,
10465 "source_fragment" : "hdr.report_fixed_header.setValid()"
10466 }
10467 },
10468 {
10469 "op" : "assign",
10470 "parameters" : [
10471 {
10472 "type" : "field",
10473 "value" : ["report_fixed_header", "ver"]
10474 },
10475 {
10476 "type" : "hexstr",
10477 "value" : "0x00"
10478 }
10479 ],
10480 "source_info" : {
10481 "filename" : "include/int_report.p4",
10482 "line" : 31,
10483 "column" : 8,
10484 "source_fragment" : "hdr.report_fixed_header.ver = 0"
10485 }
10486 },
10487 {
10488 "op" : "assign",
10489 "parameters" : [
10490 {
10491 "type" : "field",
10492 "value" : ["report_fixed_header", "nproto"]
10493 },
10494 {
10495 "type" : "hexstr",
10496 "value" : "0x00"
10497 }
10498 ],
10499 "source_info" : {
10500 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010501 "line" : 129,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010502 "column" : 31,
10503 "source_fragment" : "0; ..."
10504 }
10505 },
10506 {
10507 "op" : "assign",
10508 "parameters" : [
10509 {
10510 "type" : "field",
10511 "value" : ["report_fixed_header", "d"]
10512 },
10513 {
10514 "type" : "hexstr",
10515 "value" : "0x00"
10516 }
10517 ],
10518 "source_info" : {
10519 "filename" : "include/int_report.p4",
10520 "line" : 34,
10521 "column" : 8,
10522 "source_fragment" : "hdr.report_fixed_header.d = 0"
10523 }
10524 },
10525 {
10526 "op" : "assign",
10527 "parameters" : [
10528 {
10529 "type" : "field",
10530 "value" : ["report_fixed_header", "q"]
10531 },
10532 {
10533 "type" : "hexstr",
10534 "value" : "0x00"
10535 }
10536 ],
10537 "source_info" : {
10538 "filename" : "include/int_report.p4",
10539 "line" : 35,
10540 "column" : 8,
10541 "source_fragment" : "hdr.report_fixed_header.q = 0"
10542 }
10543 },
10544 {
10545 "op" : "assign",
10546 "parameters" : [
10547 {
10548 "type" : "field",
10549 "value" : ["report_fixed_header", "f"]
10550 },
10551 {
10552 "type" : "hexstr",
10553 "value" : "0x01"
10554 }
10555 ],
10556 "source_info" : {
10557 "filename" : "include/int_report.p4",
10558 "line" : 36,
10559 "column" : 8,
10560 "source_fragment" : "hdr.report_fixed_header.f = 1"
10561 }
10562 },
10563 {
10564 "op" : "assign",
10565 "parameters" : [
10566 {
10567 "type" : "field",
10568 "value" : ["report_fixed_header", "rsvd"]
10569 },
10570 {
10571 "type" : "hexstr",
10572 "value" : "0x0000"
10573 }
10574 ],
10575 "source_info" : {
10576 "filename" : "include/int_report.p4",
10577 "line" : 37,
10578 "column" : 8,
10579 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
10580 }
10581 },
10582 {
10583 "op" : "assign",
10584 "parameters" : [
10585 {
10586 "type" : "field",
10587 "value" : ["report_fixed_header", "hw_id"]
10588 },
10589 {
10590 "type" : "hexstr",
10591 "value" : "0x01"
10592 }
10593 ],
10594 "source_info" : {
10595 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010596 "line" : 133,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010597 "column" : 21,
10598 "source_fragment" : "1; ..."
10599 }
10600 },
10601 {
10602 "op" : "assign",
10603 "parameters" : [
10604 {
10605 "type" : "field",
10606 "value" : ["report_fixed_header", "seq_no"]
10607 },
10608 {
10609 "type" : "hexstr",
10610 "value" : "0x00000000"
10611 }
10612 ],
10613 "source_info" : {
10614 "filename" : "include/int_report.p4",
10615 "line" : 41,
10616 "column" : 8,
10617 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
10618 }
10619 },
10620 {
10621 "op" : "assign",
10622 "parameters" : [
10623 {
10624 "type" : "field",
10625 "value" : ["report_fixed_header", "ingress_tstamp"]
10626 },
10627 {
10628 "type" : "field",
10629 "value" : ["standard_metadata", "enq_timestamp"]
10630 }
10631 ],
10632 "source_info" : {
10633 "filename" : "include/int_report.p4",
10634 "line" : 43,
10635 "column" : 8,
10636 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
10637 }
10638 }
10639 ]
10640 },
10641 {
10642 "name" : "FabricEgress.process_int_sink.restore_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010643 "id" : 123,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010644 "runtime_data" : [],
10645 "primitives" : [
10646 {
10647 "op" : "assign",
10648 "parameters" : [
10649 {
10650 "type" : "field",
10651 "value" : ["udp", "dst_port"]
10652 },
10653 {
10654 "type" : "field",
10655 "value" : ["intl4_tail", "dest_port"]
10656 }
10657 ],
10658 "source_info" : {
10659 "filename" : "include/int_sink.p4",
10660 "line" : 26,
10661 "column" : 8,
10662 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
10663 }
10664 },
10665 {
10666 "op" : "assign",
10667 "parameters" : [
10668 {
10669 "type" : "field",
10670 "value" : ["ipv4", "dscp"]
10671 },
10672 {
10673 "type" : "expression",
10674 "value" : {
10675 "type" : "expression",
10676 "value" : {
10677 "op" : "&",
10678 "left" : {
10679 "type" : "field",
10680 "value" : ["intl4_tail", "dscp"]
10681 },
10682 "right" : {
10683 "type" : "hexstr",
10684 "value" : "0x3f"
10685 }
10686 }
10687 }
10688 }
10689 ],
10690 "source_info" : {
10691 "filename" : "include/int_sink.p4",
10692 "line" : 27,
10693 "column" : 8,
10694 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
10695 }
10696 }
10697 ]
10698 },
10699 {
10700 "name" : "FabricEgress.process_int_sink.int_sink",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010701 "id" : 124,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010702 "runtime_data" : [],
10703 "primitives" : [
10704 {
10705 "op" : "assign",
10706 "parameters" : [
10707 {
10708 "type" : "field",
10709 "value" : ["ipv4", "total_len"]
10710 },
10711 {
10712 "type" : "expression",
10713 "value" : {
10714 "type" : "expression",
10715 "value" : {
10716 "op" : "&",
10717 "left" : {
10718 "type" : "expression",
10719 "value" : {
10720 "op" : "-",
10721 "left" : {
10722 "type" : "field",
10723 "value" : ["ipv4", "total_len"]
10724 },
10725 "right" : {
10726 "type" : "expression",
10727 "value" : {
10728 "op" : "&",
10729 "left" : {
10730 "type" : "expression",
10731 "value" : {
10732 "op" : "&",
10733 "left" : {
10734 "type" : "expression",
10735 "value" : {
10736 "op" : "<<",
10737 "left" : {
10738 "type" : "field",
10739 "value" : ["intl4_shim", "len"]
10740 },
10741 "right" : {
10742 "type" : "hexstr",
10743 "value" : "0x2"
10744 }
10745 }
10746 },
10747 "right" : {
10748 "type" : "hexstr",
10749 "value" : "0xff"
10750 }
10751 }
10752 },
10753 "right" : {
10754 "type" : "hexstr",
10755 "value" : "0xffff"
10756 }
10757 }
10758 }
10759 }
10760 },
10761 "right" : {
10762 "type" : "hexstr",
10763 "value" : "0xffff"
10764 }
10765 }
10766 }
10767 }
10768 ],
10769 "source_info" : {
10770 "filename" : "include/int_sink.p4",
10771 "line" : 32,
10772 "column" : 8,
10773 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
10774 }
10775 },
10776 {
10777 "op" : "assign",
10778 "parameters" : [
10779 {
10780 "type" : "field",
10781 "value" : ["udp", "len"]
10782 },
10783 {
10784 "type" : "expression",
10785 "value" : {
10786 "type" : "expression",
10787 "value" : {
10788 "op" : "&",
10789 "left" : {
10790 "type" : "expression",
10791 "value" : {
10792 "op" : "-",
10793 "left" : {
10794 "type" : "field",
10795 "value" : ["udp", "len"]
10796 },
10797 "right" : {
10798 "type" : "expression",
10799 "value" : {
10800 "op" : "&",
10801 "left" : {
10802 "type" : "expression",
10803 "value" : {
10804 "op" : "&",
10805 "left" : {
10806 "type" : "expression",
10807 "value" : {
10808 "op" : "<<",
10809 "left" : {
10810 "type" : "field",
10811 "value" : ["intl4_shim", "len"]
10812 },
10813 "right" : {
10814 "type" : "hexstr",
10815 "value" : "0x2"
10816 }
10817 }
10818 },
10819 "right" : {
10820 "type" : "hexstr",
10821 "value" : "0xff"
10822 }
10823 }
10824 },
10825 "right" : {
10826 "type" : "hexstr",
10827 "value" : "0xffff"
10828 }
10829 }
10830 }
10831 }
10832 },
10833 "right" : {
10834 "type" : "hexstr",
10835 "value" : "0xffff"
10836 }
10837 }
10838 }
10839 }
10840 ],
10841 "source_info" : {
10842 "filename" : "include/int_sink.p4",
10843 "line" : 33,
10844 "column" : 8,
10845 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
10846 }
10847 },
10848 {
10849 "op" : "remove_header",
10850 "parameters" : [
10851 {
10852 "type" : "header",
10853 "value" : "int_header"
10854 }
10855 ],
10856 "source_info" : {
10857 "filename" : "include/int_sink.p4",
10858 "line" : 35,
10859 "column" : 8,
10860 "source_fragment" : "hdr.int_header.setInvalid()"
10861 }
10862 },
10863 {
10864 "op" : "remove_header",
10865 "parameters" : [
10866 {
10867 "type" : "header",
10868 "value" : "int_data"
10869 }
10870 ],
10871 "source_info" : {
10872 "filename" : "include/int_sink.p4",
10873 "line" : 36,
10874 "column" : 8,
10875 "source_fragment" : "hdr.int_data.setInvalid()"
10876 }
10877 },
10878 {
10879 "op" : "remove_header",
10880 "parameters" : [
10881 {
10882 "type" : "header",
10883 "value" : "intl4_shim"
10884 }
10885 ],
10886 "source_info" : {
10887 "filename" : "include/int_sink.p4",
10888 "line" : 37,
10889 "column" : 8,
10890 "source_fragment" : "hdr.intl4_shim.setInvalid()"
10891 }
10892 },
10893 {
10894 "op" : "remove_header",
10895 "parameters" : [
10896 {
10897 "type" : "header",
10898 "value" : "intl4_tail"
10899 }
10900 ],
10901 "source_info" : {
10902 "filename" : "include/int_sink.p4",
10903 "line" : 38,
10904 "column" : 8,
10905 "source_fragment" : "hdr.intl4_tail.setInvalid()"
10906 }
10907 },
10908 {
10909 "op" : "remove_header",
10910 "parameters" : [
10911 {
10912 "type" : "header",
10913 "value" : "int_switch_id"
10914 }
10915 ],
10916 "source_info" : {
10917 "filename" : "include/int_sink.p4",
10918 "line" : 39,
10919 "column" : 8,
10920 "source_fragment" : "hdr.int_switch_id.setInvalid()"
10921 }
10922 },
10923 {
10924 "op" : "remove_header",
10925 "parameters" : [
10926 {
10927 "type" : "header",
10928 "value" : "int_port_ids"
10929 }
10930 ],
10931 "source_info" : {
10932 "filename" : "include/int_sink.p4",
10933 "line" : 40,
10934 "column" : 8,
10935 "source_fragment" : "hdr.int_port_ids.setInvalid()"
10936 }
10937 },
10938 {
10939 "op" : "remove_header",
10940 "parameters" : [
10941 {
10942 "type" : "header",
10943 "value" : "int_hop_latency"
10944 }
10945 ],
10946 "source_info" : {
10947 "filename" : "include/int_sink.p4",
10948 "line" : 41,
10949 "column" : 8,
10950 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
10951 }
10952 },
10953 {
10954 "op" : "remove_header",
10955 "parameters" : [
10956 {
10957 "type" : "header",
10958 "value" : "int_q_occupancy"
10959 }
10960 ],
10961 "source_info" : {
10962 "filename" : "include/int_sink.p4",
10963 "line" : 42,
10964 "column" : 8,
10965 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
10966 }
10967 },
10968 {
10969 "op" : "remove_header",
10970 "parameters" : [
10971 {
10972 "type" : "header",
10973 "value" : "int_ingress_tstamp"
10974 }
10975 ],
10976 "source_info" : {
10977 "filename" : "include/int_sink.p4",
10978 "line" : 43,
10979 "column" : 8,
10980 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
10981 }
10982 },
10983 {
10984 "op" : "remove_header",
10985 "parameters" : [
10986 {
10987 "type" : "header",
10988 "value" : "int_egress_tstamp"
10989 }
10990 ],
10991 "source_info" : {
10992 "filename" : "include/int_sink.p4",
10993 "line" : 44,
10994 "column" : 8,
10995 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
10996 }
10997 },
10998 {
10999 "op" : "remove_header",
11000 "parameters" : [
11001 {
11002 "type" : "header",
11003 "value" : "int_q_congestion"
11004 }
11005 ],
11006 "source_info" : {
11007 "filename" : "include/int_sink.p4",
11008 "line" : 45,
11009 "column" : 8,
11010 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
11011 }
11012 },
11013 {
11014 "op" : "remove_header",
11015 "parameters" : [
11016 {
11017 "type" : "header",
11018 "value" : "int_egress_tx_util"
11019 }
11020 ],
11021 "source_info" : {
11022 "filename" : "include/int_sink.p4",
11023 "line" : 46,
11024 "column" : 8,
11025 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
11026 }
11027 }
11028 ]
11029 },
11030 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011031 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011032 "id" : 125,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011033 "runtime_data" : [],
11034 "primitives" : [
11035 {
11036 "op" : "assign",
11037 "parameters" : [
11038 {
11039 "type" : "field",
11040 "value" : ["ethernet", "ether_type"]
11041 },
11042 {
11043 "type" : "field",
11044 "value" : ["vlan_tag", "ether_type"]
11045 }
11046 ],
11047 "source_info" : {
11048 "filename" : "include/control/packetio.p4",
11049 "line" : 38,
11050 "column" : 8,
11051 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11052 }
11053 },
11054 {
11055 "op" : "remove_header",
11056 "parameters" : [
11057 {
11058 "type" : "header",
11059 "value" : "vlan_tag"
11060 }
11061 ],
11062 "source_info" : {
11063 "filename" : "include/control/packetio.p4",
11064 "line" : 39,
11065 "column" : 8,
11066 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11067 }
11068 }
11069 ]
11070 },
11071 {
11072 "name" : "FabricEgress.egress_next.pop_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011073 "id" : 126,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011074 "runtime_data" : [],
11075 "primitives" : [
11076 {
11077 "op" : "assign",
11078 "parameters" : [
11079 {
11080 "type" : "field",
11081 "value" : ["ethernet", "ether_type"]
11082 },
11083 {
11084 "type" : "field",
11085 "value" : ["vlan_tag", "ether_type"]
11086 }
11087 ],
11088 "source_info" : {
11089 "filename" : "include/control/next.p4",
11090 "line" : 253,
11091 "column" : 8,
11092 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11093 }
11094 },
11095 {
11096 "op" : "remove_header",
11097 "parameters" : [
11098 {
11099 "type" : "header",
11100 "value" : "vlan_tag"
11101 }
11102 ],
11103 "source_info" : {
11104 "filename" : "include/control/next.p4",
11105 "line" : 254,
11106 "column" : 8,
11107 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11108 }
11109 }
11110 ]
11111 },
11112 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011113 "name" : "act_28",
11114 "id" : 127,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011115 "runtime_data" : [],
11116 "primitives" : [
11117 {
11118 "op" : "add_header",
11119 "parameters" : [
11120 {
11121 "type" : "header",
11122 "value" : "packet_in"
11123 }
11124 ],
11125 "source_info" : {
11126 "filename" : "include/control/packetio.p4",
11127 "line" : 51,
11128 "column" : 12,
11129 "source_fragment" : "hdr.packet_in.setValid()"
11130 }
11131 },
11132 {
11133 "op" : "assign",
11134 "parameters" : [
11135 {
11136 "type" : "field",
11137 "value" : ["packet_in", "ingress_port"]
11138 },
11139 {
11140 "type" : "field",
11141 "value" : ["standard_metadata", "ingress_port"]
11142 }
11143 ],
11144 "source_info" : {
11145 "filename" : "include/control/packetio.p4",
11146 "line" : 52,
11147 "column" : 12,
11148 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11149 }
11150 }
11151 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011152 }
11153 ],
11154 "pipelines" : [
11155 {
11156 "name" : "ingress",
11157 "id" : 0,
11158 "source_info" : {
11159 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011160 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011161 "column" : 8,
11162 "source_fragment" : "FabricIngress"
11163 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011164 "init_table" : "tbl_act",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011165 "tables" : [
11166 {
11167 "name" : "tbl_act",
11168 "id" : 0,
11169 "key" : [],
11170 "match_type" : "exact",
11171 "type" : "simple",
11172 "max_size" : 1024,
11173 "with_counters" : false,
11174 "support_timeout" : false,
11175 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011176 "action_ids" : [47],
11177 "actions" : ["act_0"],
11178 "base_default_next" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011179 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011180 "act_0" : "node_3"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011181 },
11182 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011183 "action_id" : 47,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011184 "action_const" : true,
11185 "action_data" : [],
11186 "action_entry_const" : true
11187 }
11188 },
11189 {
11190 "name" : "tbl_act_0",
11191 "id" : 1,
11192 "key" : [],
11193 "match_type" : "exact",
11194 "type" : "simple",
11195 "max_size" : 1024,
11196 "with_counters" : false,
11197 "support_timeout" : false,
11198 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011199 "action_ids" : [46],
11200 "actions" : ["act"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011201 "base_default_next" : "node_5",
11202 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011203 "act" : "node_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011204 },
11205 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011206 "action_id" : 46,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011207 "action_const" : true,
11208 "action_data" : [],
11209 "action_entry_const" : true
11210 }
11211 },
11212 {
11213 "name" : "tbl_act_1",
11214 "id" : 2,
11215 "key" : [],
11216 "match_type" : "exact",
11217 "type" : "simple",
11218 "max_size" : 1024,
11219 "with_counters" : false,
11220 "support_timeout" : false,
11221 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011222 "action_ids" : [50],
11223 "actions" : ["act_3"],
11224 "base_default_next" : "node_7",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011225 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011226 "act_3" : "node_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011227 },
11228 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011229 "action_id" : 50,
11230 "action_const" : true,
11231 "action_data" : [],
11232 "action_entry_const" : true
11233 }
11234 },
11235 {
11236 "name" : "tbl_act_2",
11237 "id" : 3,
11238 "key" : [],
11239 "match_type" : "exact",
11240 "type" : "simple",
11241 "max_size" : 1024,
11242 "with_counters" : false,
11243 "support_timeout" : false,
11244 "direct_meters" : null,
11245 "action_ids" : [48],
11246 "actions" : ["act_1"],
11247 "base_default_next" : "node_10",
11248 "next_tables" : {
11249 "act_1" : "node_10"
11250 },
11251 "default_entry" : {
11252 "action_id" : 48,
11253 "action_const" : true,
11254 "action_data" : [],
11255 "action_entry_const" : true
11256 }
11257 },
11258 {
11259 "name" : "tbl_act_3",
11260 "id" : 4,
11261 "key" : [],
11262 "match_type" : "exact",
11263 "type" : "simple",
11264 "max_size" : 1024,
11265 "with_counters" : false,
11266 "support_timeout" : false,
11267 "direct_meters" : null,
11268 "action_ids" : [49],
11269 "actions" : ["act_2"],
11270 "base_default_next" : "node_10",
11271 "next_tables" : {
11272 "act_2" : "node_10"
11273 },
11274 "default_entry" : {
11275 "action_id" : 49,
11276 "action_const" : true,
11277 "action_data" : [],
11278 "action_entry_const" : true
11279 }
11280 },
11281 {
11282 "name" : "tbl_act_4",
11283 "id" : 5,
11284 "key" : [],
11285 "match_type" : "exact",
11286 "type" : "simple",
11287 "max_size" : 1024,
11288 "with_counters" : false,
11289 "support_timeout" : false,
11290 "direct_meters" : null,
11291 "action_ids" : [51],
11292 "actions" : ["act_4"],
11293 "base_default_next" : null,
11294 "next_tables" : {
11295 "act_4" : null
11296 },
11297 "default_entry" : {
11298 "action_id" : 51,
11299 "action_const" : true,
11300 "action_data" : [],
11301 "action_entry_const" : true
11302 }
11303 },
11304 {
11305 "name" : "tbl_act_5",
11306 "id" : 6,
11307 "key" : [],
11308 "match_type" : "exact",
11309 "type" : "simple",
11310 "max_size" : 1024,
11311 "with_counters" : false,
11312 "support_timeout" : false,
11313 "direct_meters" : null,
11314 "action_ids" : [59],
11315 "actions" : ["act_12"],
11316 "base_default_next" : "node_13",
11317 "next_tables" : {
11318 "act_12" : "node_13"
11319 },
11320 "default_entry" : {
11321 "action_id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011322 "action_const" : true,
11323 "action_data" : [],
11324 "action_entry_const" : true
11325 }
11326 },
11327 {
11328 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011329 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011330 "source_info" : {
11331 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011332 "line" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011333 "column" : 10,
11334 "source_fragment" : "s1u_filter_table"
11335 },
11336 "key" : [
11337 {
11338 "match_type" : "exact",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011339 "name" : "gtpu_ipv4.dst_addr",
11340 "target" : ["gtpu_ipv4", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011341 "mask" : null
11342 }
11343 ],
11344 "match_type" : "exact",
11345 "type" : "simple",
11346 "max_size" : 1024,
11347 "with_counters" : false,
11348 "support_timeout" : false,
11349 "direct_meters" : null,
11350 "action_ids" : [1],
11351 "actions" : ["NoAction"],
11352 "base_default_next" : null,
11353 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011354 "__HIT__" : "tbl_act_6",
11355 "__MISS__" : "tbl_act_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011356 },
11357 "default_entry" : {
11358 "action_id" : 1,
11359 "action_const" : false,
11360 "action_data" : [],
11361 "action_entry_const" : false
11362 }
11363 },
11364 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011365 "name" : "tbl_act_6",
11366 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011367 "key" : [],
11368 "match_type" : "exact",
11369 "type" : "simple",
11370 "max_size" : 1024,
11371 "with_counters" : false,
11372 "support_timeout" : false,
11373 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011374 "action_ids" : [52],
11375 "actions" : ["act_5"],
11376 "base_default_next" : "node_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011377 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011378 "act_5" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011379 },
11380 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011381 "action_id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011382 "action_const" : true,
11383 "action_data" : [],
11384 "action_entry_const" : true
11385 }
11386 },
11387 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011388 "name" : "tbl_act_7",
11389 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011390 "key" : [],
11391 "match_type" : "exact",
11392 "type" : "simple",
11393 "max_size" : 1024,
11394 "with_counters" : false,
11395 "support_timeout" : false,
11396 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011397 "action_ids" : [53],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011398 "actions" : ["act_6"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011399 "base_default_next" : "node_17",
11400 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011401 "act_6" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011402 },
11403 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011404 "action_id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011405 "action_const" : true,
11406 "action_data" : [],
11407 "action_entry_const" : true
11408 }
11409 },
11410 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011411 "name" : "tbl_drop_now",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011412 "id" : 10,
11413 "key" : [],
11414 "match_type" : "exact",
11415 "type" : "simple",
11416 "max_size" : 1024,
11417 "with_counters" : false,
11418 "support_timeout" : false,
11419 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011420 "action_ids" : [15],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011421 "actions" : ["drop_now"],
11422 "base_default_next" : "tbl_act_8",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011423 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011424 "drop_now" : "tbl_act_8"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011425 },
11426 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -070011427 "action_id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011428 "action_const" : true,
11429 "action_data" : [],
11430 "action_entry_const" : true
11431 }
11432 },
11433 {
11434 "name" : "tbl_act_8",
11435 "id" : 11,
11436 "key" : [],
11437 "match_type" : "exact",
11438 "type" : "simple",
11439 "max_size" : 1024,
11440 "with_counters" : false,
11441 "support_timeout" : false,
11442 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011443 "action_ids" : [54],
11444 "actions" : ["act_7"],
11445 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011446 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011447 "act_7" : "tbl_spgw_ingress_gtpu_decap"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011448 },
11449 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011450 "action_id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011451 "action_const" : true,
11452 "action_data" : [],
11453 "action_entry_const" : true
11454 }
11455 },
11456 {
11457 "name" : "tbl_spgw_ingress_gtpu_decap",
11458 "id" : 12,
11459 "key" : [],
11460 "match_type" : "exact",
11461 "type" : "simple",
11462 "max_size" : 1024,
11463 "with_counters" : false,
11464 "support_timeout" : false,
11465 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011466 "action_ids" : [16],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011467 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011468 "base_default_next" : "node_27",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011469 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011470 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011471 },
11472 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -070011473 "action_id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011474 "action_const" : true,
11475 "action_data" : [],
11476 "action_entry_const" : true
11477 }
11478 },
11479 {
11480 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
11481 "id" : 13,
11482 "source_info" : {
11483 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011484 "line" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011485 "column" : 10,
11486 "source_fragment" : "dl_sess_lookup"
11487 },
11488 "key" : [
11489 {
11490 "match_type" : "exact",
11491 "name" : "ipv4.dst_addr",
11492 "target" : ["ipv4", "dst_addr"],
11493 "mask" : null
11494 }
11495 ],
11496 "match_type" : "exact",
11497 "type" : "simple",
11498 "max_size" : 1024,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011499 "with_counters" : true,
11500 "support_timeout" : false,
11501 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011502 "action_ids" : [17, 0],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011503 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
11504 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011505 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011506 "__HIT__" : "tbl_act_9",
11507 "__MISS__" : "tbl_act_10"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011508 },
11509 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011510 "action_id" : 0,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011511 "action_const" : false,
11512 "action_data" : [],
11513 "action_entry_const" : false
11514 }
11515 },
11516 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011517 "name" : "tbl_act_9",
11518 "id" : 14,
11519 "key" : [],
11520 "match_type" : "exact",
11521 "type" : "simple",
11522 "max_size" : 1024,
11523 "with_counters" : false,
11524 "support_timeout" : false,
11525 "direct_meters" : null,
11526 "action_ids" : [55],
11527 "actions" : ["act_8"],
11528 "base_default_next" : "node_24",
11529 "next_tables" : {
11530 "act_8" : "node_24"
11531 },
11532 "default_entry" : {
11533 "action_id" : 55,
11534 "action_const" : true,
11535 "action_data" : [],
11536 "action_entry_const" : true
11537 }
11538 },
11539 {
11540 "name" : "tbl_act_10",
11541 "id" : 15,
11542 "key" : [],
11543 "match_type" : "exact",
11544 "type" : "simple",
11545 "max_size" : 1024,
11546 "with_counters" : false,
11547 "support_timeout" : false,
11548 "direct_meters" : null,
11549 "action_ids" : [56],
11550 "actions" : ["act_9"],
11551 "base_default_next" : "node_24",
11552 "next_tables" : {
11553 "act_9" : "node_24"
11554 },
11555 "default_entry" : {
11556 "action_id" : 56,
11557 "action_const" : true,
11558 "action_data" : [],
11559 "action_entry_const" : true
11560 }
11561 },
11562 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011563 "name" : "tbl_act_11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011564 "id" : 16,
11565 "key" : [],
11566 "match_type" : "exact",
11567 "type" : "simple",
11568 "max_size" : 1024,
11569 "with_counters" : false,
11570 "support_timeout" : false,
11571 "direct_meters" : null,
11572 "action_ids" : [57],
11573 "actions" : ["act_10"],
11574 "base_default_next" : "node_27",
11575 "next_tables" : {
11576 "act_10" : "node_27"
11577 },
11578 "default_entry" : {
11579 "action_id" : 57,
11580 "action_const" : true,
11581 "action_data" : [],
11582 "action_entry_const" : true
11583 }
11584 },
11585 {
11586 "name" : "tbl_act_12",
11587 "id" : 17,
11588 "key" : [],
11589 "match_type" : "exact",
11590 "type" : "simple",
11591 "max_size" : 1024,
11592 "with_counters" : false,
11593 "support_timeout" : false,
11594 "direct_meters" : null,
11595 "action_ids" : [58],
11596 "actions" : ["act_11"],
11597 "base_default_next" : "node_27",
11598 "next_tables" : {
11599 "act_11" : "node_27"
11600 },
11601 "default_entry" : {
11602 "action_id" : 58,
11603 "action_const" : true,
11604 "action_data" : [],
11605 "action_entry_const" : true
11606 }
11607 },
11608 {
11609 "name" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011610 "id" : 18,
11611 "key" : [],
11612 "match_type" : "exact",
11613 "type" : "simple",
11614 "max_size" : 1024,
11615 "with_counters" : false,
11616 "support_timeout" : false,
11617 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011618 "action_ids" : [60],
11619 "actions" : ["act_13"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011620 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
11621 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011622 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011623 },
11624 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011625 "action_id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011626 "action_const" : true,
11627 "action_data" : [],
11628 "action_entry_const" : true
11629 }
11630 },
11631 {
11632 "name" : "FabricIngress.filtering.ingress_port_vlan",
11633 "id" : 19,
11634 "source_info" : {
11635 "filename" : "include/control/filtering.p4",
11636 "line" : 61,
11637 "column" : 10,
11638 "source_fragment" : "ingress_port_vlan"
11639 },
11640 "key" : [
11641 {
11642 "match_type" : "exact",
11643 "name" : "standard_metadata.ingress_port",
11644 "target" : ["standard_metadata", "ingress_port"],
11645 "mask" : null
11646 },
11647 {
11648 "match_type" : "exact",
11649 "name" : "hdr.vlan_tag.is_valid",
11650 "target" : ["vlan_tag", "$valid$"],
11651 "mask" : null
11652 },
11653 {
11654 "match_type" : "ternary",
11655 "name" : "hdr.vlan_tag.vlan_id",
11656 "target" : ["vlan_tag", "vlan_id"],
11657 "mask" : null
11658 }
11659 ],
11660 "match_type" : "ternary",
11661 "type" : "simple",
11662 "max_size" : 1024,
11663 "with_counters" : true,
11664 "support_timeout" : false,
11665 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011666 "action_ids" : [22, 21, 13, 20],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011667 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "nop", "FabricIngress.filtering.drop"],
11668 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
11669 "next_tables" : {
11670 "FabricIngress.filtering.push_internal_vlan" : "FabricIngress.filtering.fwd_classifier",
11671 "FabricIngress.filtering.set_vlan" : "FabricIngress.filtering.fwd_classifier",
11672 "nop" : "FabricIngress.filtering.fwd_classifier",
11673 "FabricIngress.filtering.drop" : "FabricIngress.filtering.fwd_classifier"
11674 },
11675 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011676 "action_id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011677 "action_const" : true,
11678 "action_data" : [],
11679 "action_entry_const" : true
11680 }
11681 },
11682 {
11683 "name" : "FabricIngress.filtering.fwd_classifier",
11684 "id" : 20,
11685 "source_info" : {
11686 "filename" : "include/control/filtering.p4",
11687 "line" : 98,
11688 "column" : 10,
11689 "source_fragment" : "fwd_classifier"
11690 },
11691 "key" : [
11692 {
11693 "match_type" : "exact",
11694 "name" : "standard_metadata.ingress_port",
11695 "target" : ["standard_metadata", "ingress_port"],
11696 "mask" : null
11697 },
11698 {
11699 "match_type" : "exact",
11700 "name" : "hdr.ethernet.dst_addr",
11701 "target" : ["ethernet", "dst_addr"],
11702 "mask" : null
11703 },
11704 {
11705 "match_type" : "exact",
Yi Tseng8235a1a2018-07-24 20:57:28 +080011706 "name" : "hdr.vlan_tag.ether_type",
11707 "target" : ["vlan_tag", "ether_type"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011708 "mask" : null
11709 }
11710 ],
11711 "match_type" : "exact",
11712 "type" : "simple",
11713 "max_size" : 1024,
11714 "with_counters" : true,
11715 "support_timeout" : false,
11716 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011717 "action_ids" : [23],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011718 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011719 "base_default_next" : "node_31",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011720 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011721 "FabricIngress.filtering.set_forwarding_type" : "node_31"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011722 },
11723 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -070011724 "action_id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011725 "action_const" : true,
11726 "action_data" : ["0x0"],
11727 "action_entry_const" : true
11728 }
11729 },
11730 {
11731 "name" : "FabricIngress.forwarding.bridging",
11732 "id" : 21,
11733 "source_info" : {
11734 "filename" : "include/control/forwarding.p4",
11735 "line" : 41,
11736 "column" : 10,
11737 "source_fragment" : "bridging"
11738 },
11739 "key" : [
11740 {
11741 "match_type" : "exact",
11742 "name" : "hdr.vlan_tag.vlan_id",
11743 "target" : ["vlan_tag", "vlan_id"],
11744 "mask" : null
11745 },
11746 {
11747 "match_type" : "ternary",
11748 "name" : "hdr.ethernet.dst_addr",
11749 "target" : ["ethernet", "dst_addr"],
11750 "mask" : null
11751 }
11752 ],
11753 "match_type" : "ternary",
11754 "type" : "simple",
11755 "max_size" : 1024,
11756 "with_counters" : true,
11757 "support_timeout" : false,
11758 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011759 "action_ids" : [24, 4],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011760 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
11761 "base_default_next" : "FabricIngress.forwarding.acl",
11762 "next_tables" : {
11763 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
11764 "NoAction" : "FabricIngress.forwarding.acl"
11765 },
11766 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011767 "action_id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011768 "action_const" : false,
11769 "action_data" : [],
11770 "action_entry_const" : false
11771 }
11772 },
11773 {
11774 "name" : "FabricIngress.forwarding.mpls",
11775 "id" : 22,
11776 "source_info" : {
11777 "filename" : "include/control/forwarding.p4",
11778 "line" : 65,
11779 "column" : 10,
11780 "source_fragment" : "mpls"
11781 },
11782 "key" : [
11783 {
11784 "match_type" : "exact",
11785 "name" : "hdr.mpls.label",
11786 "target" : ["mpls", "label"],
11787 "mask" : null
11788 }
11789 ],
11790 "match_type" : "exact",
11791 "type" : "simple",
11792 "max_size" : 1024,
11793 "with_counters" : true,
11794 "support_timeout" : false,
11795 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011796 "action_ids" : [25, 5],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011797 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011798 "base_default_next" : "tbl_act_14",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011799 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011800 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_14",
11801 "NoAction" : "tbl_act_14"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011802 },
11803 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011804 "action_id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011805 "action_const" : false,
11806 "action_data" : [],
11807 "action_entry_const" : false
11808 }
11809 },
11810 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011811 "name" : "tbl_act_14",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011812 "id" : 23,
11813 "key" : [],
11814 "match_type" : "exact",
11815 "type" : "simple",
11816 "max_size" : 1024,
11817 "with_counters" : false,
11818 "support_timeout" : false,
11819 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011820 "action_ids" : [61],
11821 "actions" : ["act_14"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011822 "base_default_next" : "FabricIngress.forwarding.acl",
11823 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011824 "act_14" : "FabricIngress.forwarding.acl"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011825 },
11826 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011827 "action_id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011828 "action_const" : true,
11829 "action_data" : [],
11830 "action_entry_const" : true
11831 }
11832 },
11833 {
11834 "name" : "FabricIngress.forwarding.unicast_v4",
11835 "id" : 24,
11836 "source_info" : {
11837 "filename" : "include/control/forwarding.p4",
11838 "line" : 87,
11839 "column" : 10,
11840 "source_fragment" : "unicast_v4"
11841 },
11842 "key" : [
11843 {
11844 "match_type" : "lpm",
11845 "name" : "hdr.ipv4.dst_addr",
11846 "target" : ["ipv4", "dst_addr"],
11847 "mask" : null
11848 }
11849 ],
11850 "match_type" : "lpm",
11851 "type" : "simple",
11852 "max_size" : 1024,
11853 "with_counters" : true,
11854 "support_timeout" : false,
11855 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070011856 "action_ids" : [26, 6],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011857 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v4", "NoAction"],
11858 "base_default_next" : "FabricIngress.forwarding.acl",
11859 "next_tables" : {
11860 "FabricIngress.forwarding.set_next_id_unicast_v4" : "FabricIngress.forwarding.acl",
11861 "NoAction" : "FabricIngress.forwarding.acl"
11862 },
11863 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011864 "action_id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011865 "action_const" : false,
11866 "action_data" : [],
11867 "action_entry_const" : false
11868 }
11869 },
11870 {
11871 "name" : "FabricIngress.forwarding.multicast_v4",
11872 "id" : 25,
11873 "source_info" : {
11874 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011875 "line" : 172,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011876 "column" : 10,
11877 "source_fragment" : "multicast_v4"
11878 },
11879 "key" : [
11880 {
11881 "match_type" : "exact",
11882 "name" : "hdr.vlan_tag.vlan_id",
11883 "target" : ["vlan_tag", "vlan_id"],
11884 "mask" : null
11885 },
11886 {
11887 "match_type" : "lpm",
11888 "name" : "hdr.ipv4.dst_addr",
11889 "target" : ["ipv4", "dst_addr"],
11890 "mask" : null
11891 }
11892 ],
11893 "match_type" : "lpm",
11894 "type" : "simple",
11895 "max_size" : 1024,
11896 "with_counters" : true,
11897 "support_timeout" : false,
11898 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011899 "action_ids" : [32, 7],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011900 "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v4", "NoAction"],
11901 "base_default_next" : "FabricIngress.forwarding.acl",
11902 "next_tables" : {
11903 "FabricIngress.forwarding.set_next_id_multicast_v4" : "FabricIngress.forwarding.acl",
11904 "NoAction" : "FabricIngress.forwarding.acl"
11905 },
11906 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011907 "action_id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011908 "action_const" : false,
11909 "action_data" : [],
11910 "action_entry_const" : false
11911 }
11912 },
11913 {
11914 "name" : "FabricIngress.forwarding.unicast_v6",
11915 "id" : 26,
11916 "source_info" : {
11917 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011918 "line" : 197,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011919 "column" : 10,
11920 "source_fragment" : "unicast_v6"
11921 },
11922 "key" : [
11923 {
11924 "match_type" : "lpm",
11925 "name" : "hdr.ipv6.dst_addr",
11926 "target" : ["ipv6", "dst_addr"],
11927 "mask" : null
11928 }
11929 ],
11930 "match_type" : "lpm",
11931 "type" : "simple",
11932 "max_size" : 1024,
11933 "with_counters" : true,
11934 "support_timeout" : false,
11935 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011936 "action_ids" : [33, 8],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011937 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v6", "NoAction"],
11938 "base_default_next" : "FabricIngress.forwarding.acl",
11939 "next_tables" : {
11940 "FabricIngress.forwarding.set_next_id_unicast_v6" : "FabricIngress.forwarding.acl",
11941 "NoAction" : "FabricIngress.forwarding.acl"
11942 },
11943 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011944 "action_id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011945 "action_const" : false,
11946 "action_data" : [],
11947 "action_entry_const" : false
11948 }
11949 },
11950 {
11951 "name" : "FabricIngress.forwarding.multicast_v6",
11952 "id" : 27,
11953 "source_info" : {
11954 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011955 "line" : 220,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011956 "column" : 10,
11957 "source_fragment" : "multicast_v6"
11958 },
11959 "key" : [
11960 {
11961 "match_type" : "exact",
11962 "name" : "hdr.vlan_tag.vlan_id",
11963 "target" : ["vlan_tag", "vlan_id"],
11964 "mask" : null
11965 },
11966 {
11967 "match_type" : "lpm",
11968 "name" : "hdr.ipv6.dst_addr",
11969 "target" : ["ipv6", "dst_addr"],
11970 "mask" : null
11971 }
11972 ],
11973 "match_type" : "lpm",
11974 "type" : "simple",
11975 "max_size" : 1024,
11976 "with_counters" : true,
11977 "support_timeout" : false,
11978 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011979 "action_ids" : [34, 9],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011980 "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v6", "NoAction"],
11981 "base_default_next" : "FabricIngress.forwarding.acl",
11982 "next_tables" : {
11983 "FabricIngress.forwarding.set_next_id_multicast_v6" : "FabricIngress.forwarding.acl",
11984 "NoAction" : "FabricIngress.forwarding.acl"
11985 },
11986 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011987 "action_id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011988 "action_const" : false,
11989 "action_data" : [],
11990 "action_entry_const" : false
11991 }
11992 },
11993 {
11994 "name" : "FabricIngress.forwarding.acl",
11995 "id" : 28,
11996 "source_info" : {
11997 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011998 "line" : 131,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011999 "column" : 10,
12000 "source_fragment" : "acl"
12001 },
12002 "key" : [
12003 {
12004 "match_type" : "ternary",
12005 "name" : "standard_metadata.ingress_port",
12006 "target" : ["standard_metadata", "ingress_port"],
12007 "mask" : null
12008 },
12009 {
12010 "match_type" : "ternary",
12011 "name" : "fabric_metadata.ip_proto",
12012 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
12013 "mask" : null
12014 },
12015 {
12016 "match_type" : "ternary",
12017 "name" : "fabric_metadata.l4_src_port",
12018 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
12019 "mask" : null
12020 },
12021 {
12022 "match_type" : "ternary",
12023 "name" : "fabric_metadata.l4_dst_port",
12024 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12025 "mask" : null
12026 },
12027 {
12028 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012029 "name" : "hdr.ethernet.dst_addr",
12030 "target" : ["ethernet", "dst_addr"],
12031 "mask" : null
12032 },
12033 {
12034 "match_type" : "ternary",
12035 "name" : "hdr.ethernet.src_addr",
12036 "target" : ["ethernet", "src_addr"],
12037 "mask" : null
12038 },
12039 {
12040 "match_type" : "ternary",
12041 "name" : "hdr.vlan_tag.vlan_id",
12042 "target" : ["vlan_tag", "vlan_id"],
12043 "mask" : null
12044 },
12045 {
12046 "match_type" : "ternary",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012047 "name" : "hdr.vlan_tag.ether_type",
12048 "target" : ["vlan_tag", "ether_type"],
12049 "mask" : null
12050 },
12051 {
12052 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012053 "name" : "hdr.ipv4.src_addr",
12054 "target" : ["ipv4", "src_addr"],
12055 "mask" : null
12056 },
12057 {
12058 "match_type" : "ternary",
12059 "name" : "hdr.ipv4.dst_addr",
12060 "target" : ["ipv4", "dst_addr"],
12061 "mask" : null
12062 },
12063 {
12064 "match_type" : "ternary",
12065 "name" : "hdr.icmp.icmp_type",
12066 "target" : ["icmp", "icmp_type"],
12067 "mask" : null
12068 },
12069 {
12070 "match_type" : "ternary",
12071 "name" : "hdr.icmp.icmp_code",
12072 "target" : ["icmp", "icmp_code"],
12073 "mask" : null
12074 }
12075 ],
12076 "match_type" : "ternary",
12077 "type" : "simple",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012078 "max_size" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012079 "with_counters" : true,
12080 "support_timeout" : false,
12081 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070012082 "action_ids" : [27, 28, 29, 30, 31],
12083 "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 Cascone9b0171b2018-08-14 01:43:57 -070012084 "base_default_next" : "tbl_act_15",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012085 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012086 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_15",
12087 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_15",
12088 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_15",
12089 "FabricIngress.forwarding.drop" : "tbl_act_15",
Charles Chancf696e52018-08-16 16:25:13 -070012090 "FabricIngress.forwarding.nop_acl" : "tbl_act_15"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012091 },
12092 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -070012093 "action_id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012094 "action_const" : true,
12095 "action_data" : [],
12096 "action_entry_const" : true
12097 }
12098 },
12099 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012100 "name" : "tbl_act_15",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012101 "id" : 29,
12102 "key" : [],
12103 "match_type" : "exact",
12104 "type" : "simple",
12105 "max_size" : 1024,
12106 "with_counters" : false,
12107 "support_timeout" : false,
12108 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012109 "action_ids" : [62],
12110 "actions" : ["act_15"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012111 "base_default_next" : "FabricIngress.next.vlan_meta",
12112 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012113 "act_15" : "FabricIngress.next.vlan_meta"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012114 },
12115 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012116 "action_id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012117 "action_const" : true,
12118 "action_data" : [],
12119 "action_entry_const" : true
12120 }
12121 },
12122 {
12123 "name" : "FabricIngress.next.vlan_meta",
12124 "id" : 30,
12125 "source_info" : {
12126 "filename" : "include/control/next.p4",
12127 "line" : 65,
12128 "column" : 10,
12129 "source_fragment" : "vlan_meta"
12130 },
12131 "key" : [
12132 {
12133 "match_type" : "exact",
12134 "name" : "fabric_metadata.next_id",
12135 "target" : ["scalars", "fabric_metadata_t.next_id"],
12136 "mask" : null
12137 }
12138 ],
12139 "match_type" : "exact",
12140 "type" : "simple",
12141 "max_size" : 1024,
12142 "with_counters" : true,
12143 "support_timeout" : false,
12144 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070012145 "action_ids" : [35, 14],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012146 "actions" : ["FabricIngress.next.set_vlan", "nop"],
12147 "base_default_next" : "FabricIngress.next.simple",
12148 "next_tables" : {
12149 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
12150 "nop" : "FabricIngress.next.simple"
12151 },
12152 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -070012153 "action_id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012154 "action_const" : false,
12155 "action_data" : [],
12156 "action_entry_const" : false
12157 }
12158 },
12159 {
12160 "name" : "FabricIngress.next.simple",
12161 "id" : 31,
12162 "source_info" : {
12163 "filename" : "include/control/next.p4",
12164 "line" : 122,
12165 "column" : 10,
12166 "source_fragment" : "simple"
12167 },
12168 "key" : [
12169 {
12170 "match_type" : "exact",
12171 "name" : "fabric_metadata.next_id",
12172 "target" : ["scalars", "fabric_metadata_t.next_id"],
12173 "mask" : null
12174 }
12175 ],
12176 "match_type" : "exact",
12177 "type" : "simple",
12178 "max_size" : 1024,
12179 "with_counters" : true,
12180 "support_timeout" : false,
12181 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012182 "action_ids" : [36, 37, 38, 39, 40, 41, 10],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012183 "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"],
12184 "base_default_next" : null,
12185 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012186 "__HIT__" : "tbl_act_16",
12187 "__MISS__" : "tbl_act_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012188 },
12189 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012190 "action_id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012191 "action_const" : false,
12192 "action_data" : [],
12193 "action_entry_const" : false
12194 }
12195 },
12196 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012197 "name" : "tbl_act_16",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012198 "id" : 32,
12199 "key" : [],
12200 "match_type" : "exact",
12201 "type" : "simple",
12202 "max_size" : 1024,
12203 "with_counters" : false,
12204 "support_timeout" : false,
12205 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012206 "action_ids" : [63],
12207 "actions" : ["act_16"],
12208 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012209 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012210 "act_16" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012211 },
12212 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012213 "action_id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012214 "action_const" : true,
12215 "action_data" : [],
12216 "action_entry_const" : true
12217 }
12218 },
12219 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012220 "name" : "tbl_act_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012221 "id" : 33,
12222 "key" : [],
12223 "match_type" : "exact",
12224 "type" : "simple",
12225 "max_size" : 1024,
12226 "with_counters" : false,
12227 "support_timeout" : false,
12228 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012229 "action_ids" : [64],
12230 "actions" : ["act_17"],
12231 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012232 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012233 "act_17" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012234 },
12235 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012236 "action_id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012237 "action_const" : true,
12238 "action_data" : [],
12239 "action_entry_const" : true
12240 }
12241 },
12242 {
12243 "name" : "FabricIngress.next.hashed",
12244 "id" : 34,
12245 "source_info" : {
12246 "filename" : "include/control/next.p4",
12247 "line" : 175,
12248 "column" : 10,
12249 "source_fragment" : "hashed"
12250 },
12251 "key" : [
12252 {
12253 "match_type" : "exact",
12254 "name" : "fabric_metadata.next_id",
12255 "target" : ["scalars", "fabric_metadata_t.next_id"],
12256 "mask" : null
12257 }
12258 ],
12259 "match_type" : "exact",
12260 "type" : "indirect_ws",
12261 "action_profile" : "FabricIngress.next.ecmp_selector",
12262 "max_size" : 1024,
12263 "with_counters" : true,
12264 "support_timeout" : false,
12265 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012266 "action_ids" : [42, 43, 44, 11],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012267 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
12268 "base_default_next" : null,
12269 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012270 "__HIT__" : "tbl_act_18",
12271 "__MISS__" : "tbl_act_19"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012272 }
12273 },
12274 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012275 "name" : "tbl_act_18",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012276 "id" : 35,
12277 "key" : [],
12278 "match_type" : "exact",
12279 "type" : "simple",
12280 "max_size" : 1024,
12281 "with_counters" : false,
12282 "support_timeout" : false,
12283 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012284 "action_ids" : [65],
12285 "actions" : ["act_18"],
12286 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012287 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012288 "act_18" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012289 },
12290 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012291 "action_id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012292 "action_const" : true,
12293 "action_data" : [],
12294 "action_entry_const" : true
12295 }
12296 },
12297 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012298 "name" : "tbl_act_19",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012299 "id" : 36,
12300 "key" : [],
12301 "match_type" : "exact",
12302 "type" : "simple",
12303 "max_size" : 1024,
12304 "with_counters" : false,
12305 "support_timeout" : false,
12306 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012307 "action_ids" : [66],
12308 "actions" : ["act_19"],
12309 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012310 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012311 "act_19" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012312 },
12313 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012314 "action_id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012315 "action_const" : true,
12316 "action_data" : [],
12317 "action_entry_const" : true
12318 }
12319 },
12320 {
12321 "name" : "FabricIngress.next.multicast",
12322 "id" : 37,
12323 "source_info" : {
12324 "filename" : "include/control/next.p4",
12325 "line" : 207,
12326 "column" : 10,
12327 "source_fragment" : "multicast"
12328 },
12329 "key" : [
12330 {
12331 "match_type" : "exact",
12332 "name" : "fabric_metadata.next_id",
12333 "target" : ["scalars", "fabric_metadata_t.next_id"],
12334 "mask" : null
12335 }
12336 ],
12337 "match_type" : "exact",
12338 "type" : "simple",
12339 "max_size" : 1024,
12340 "with_counters" : true,
12341 "support_timeout" : false,
12342 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012343 "action_ids" : [45, 12],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012344 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
12345 "base_default_next" : null,
12346 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012347 "__HIT__" : "tbl_act_20",
12348 "__MISS__" : "tbl_act_21"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012349 },
12350 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012351 "action_id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012352 "action_const" : false,
12353 "action_data" : [],
12354 "action_entry_const" : false
12355 }
12356 },
12357 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012358 "name" : "tbl_act_20",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012359 "id" : 38,
12360 "key" : [],
12361 "match_type" : "exact",
12362 "type" : "simple",
12363 "max_size" : 1024,
12364 "with_counters" : false,
12365 "support_timeout" : false,
12366 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012367 "action_ids" : [67],
12368 "actions" : ["act_20"],
12369 "base_default_next" : "node_58",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012370 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012371 "act_20" : "node_58"
12372 },
12373 "default_entry" : {
12374 "action_id" : 67,
12375 "action_const" : true,
12376 "action_data" : [],
12377 "action_entry_const" : true
12378 }
12379 },
12380 {
12381 "name" : "tbl_act_21",
12382 "id" : 39,
12383 "key" : [],
12384 "match_type" : "exact",
12385 "type" : "simple",
12386 "max_size" : 1024,
12387 "with_counters" : false,
12388 "support_timeout" : false,
12389 "direct_meters" : null,
12390 "action_ids" : [68],
12391 "actions" : ["act_21"],
12392 "base_default_next" : "node_58",
12393 "next_tables" : {
12394 "act_21" : "node_58"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012395 },
12396 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012397 "action_id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012398 "action_const" : true,
12399 "action_data" : [],
12400 "action_entry_const" : true
12401 }
12402 },
12403 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012404 "name" : "tbl_act_22",
12405 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012406 "key" : [],
12407 "match_type" : "exact",
12408 "type" : "simple",
12409 "max_size" : 1024,
12410 "with_counters" : false,
12411 "support_timeout" : false,
12412 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012413 "action_ids" : [69],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012414 "actions" : ["act_22"],
12415 "base_default_next" : "node_60",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012416 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012417 "act_22" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012418 },
12419 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012420 "action_id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012421 "action_const" : true,
12422 "action_data" : [],
12423 "action_entry_const" : true
12424 }
12425 },
12426 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012427 "name" : "tbl_act_23",
12428 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012429 "key" : [],
12430 "match_type" : "exact",
12431 "type" : "simple",
12432 "max_size" : 1024,
12433 "with_counters" : false,
12434 "support_timeout" : false,
12435 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012436 "action_ids" : [70],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012437 "actions" : ["act_23"],
12438 "base_default_next" : "node_66",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012439 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012440 "act_23" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012441 },
12442 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012443 "action_id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012444 "action_const" : true,
12445 "action_data" : [],
12446 "action_entry_const" : true
12447 }
12448 },
12449 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012450 "name" : "tbl_act_24",
12451 "id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012452 "key" : [],
12453 "match_type" : "exact",
12454 "type" : "simple",
12455 "max_size" : 1024,
12456 "with_counters" : false,
12457 "support_timeout" : false,
12458 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012459 "action_ids" : [71],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012460 "actions" : ["act_24"],
12461 "base_default_next" : "node_66",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012462 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012463 "act_24" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012464 },
12465 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012466 "action_id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012467 "action_const" : true,
12468 "action_data" : [],
12469 "action_entry_const" : true
12470 }
12471 },
12472 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012473 "name" : "tbl_act_25",
12474 "id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012475 "key" : [],
12476 "match_type" : "exact",
12477 "type" : "simple",
12478 "max_size" : 1024,
12479 "with_counters" : false,
12480 "support_timeout" : false,
12481 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012482 "action_ids" : [72],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012483 "actions" : ["act_25"],
12484 "base_default_next" : "node_68",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012485 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012486 "act_25" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012487 },
12488 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012489 "action_id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012490 "action_const" : true,
12491 "action_data" : [],
12492 "action_entry_const" : true
12493 }
12494 },
12495 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012496 "name" : "tbl_act_26",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012497 "id" : 44,
12498 "key" : [],
12499 "match_type" : "exact",
12500 "type" : "simple",
12501 "max_size" : 1024,
12502 "with_counters" : false,
12503 "support_timeout" : false,
12504 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012505 "action_ids" : [73],
12506 "actions" : ["act_26"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012507 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012508 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012509 "act_26" : "FabricIngress.process_set_source_sink.tb_set_source"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012510 },
12511 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012512 "action_id" : 73,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012513 "action_const" : true,
12514 "action_data" : [],
12515 "action_entry_const" : true
12516 }
12517 },
12518 {
12519 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
12520 "id" : 45,
12521 "source_info" : {
12522 "filename" : "include/int_source.p4",
12523 "line" : 101,
12524 "column" : 10,
12525 "source_fragment" : "tb_set_source"
12526 },
12527 "key" : [
12528 {
12529 "match_type" : "exact",
12530 "name" : "standard_metadata.ingress_port",
12531 "target" : ["standard_metadata", "ingress_port"],
12532 "mask" : null
12533 }
12534 ],
12535 "match_type" : "exact",
12536 "type" : "simple",
12537 "max_size" : 256,
12538 "with_counters" : true,
12539 "support_timeout" : false,
12540 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070012541 "action_ids" : [18, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012542 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
12543 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
12544 "next_tables" : {
12545 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
12546 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
12547 },
12548 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012549 "action_id" : 2,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012550 "action_const" : false,
12551 "action_data" : [],
12552 "action_entry_const" : false
12553 }
12554 },
12555 {
12556 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
12557 "id" : 46,
12558 "source_info" : {
12559 "filename" : "include/int_source.p4",
12560 "line" : 111,
12561 "column" : 10,
12562 "source_fragment" : "tb_set_sink"
12563 },
12564 "key" : [
12565 {
12566 "match_type" : "exact",
12567 "name" : "standard_metadata.egress_spec",
12568 "target" : ["standard_metadata", "egress_spec"],
12569 "mask" : null
12570 }
12571 ],
12572 "match_type" : "exact",
12573 "type" : "simple",
12574 "max_size" : 256,
12575 "with_counters" : true,
12576 "support_timeout" : false,
12577 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070012578 "action_ids" : [19, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012579 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012580 "base_default_next" : "node_72",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012581 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012582 "FabricIngress.process_set_source_sink.int_set_sink" : "node_72",
12583 "NoAction" : "node_72"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012584 },
12585 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012586 "action_id" : 3,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012587 "action_const" : false,
12588 "action_data" : [],
12589 "action_entry_const" : false
12590 }
12591 },
12592 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012593 "name" : "tbl_act_27",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012594 "id" : 47,
12595 "key" : [],
12596 "match_type" : "exact",
12597 "type" : "simple",
12598 "max_size" : 1024,
12599 "with_counters" : false,
12600 "support_timeout" : false,
12601 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012602 "action_ids" : [74],
12603 "actions" : ["act_27"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012604 "base_default_next" : null,
12605 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012606 "act_27" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012607 },
12608 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012609 "action_id" : 74,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012610 "action_const" : true,
12611 "action_data" : [],
12612 "action_entry_const" : true
12613 }
12614 }
12615 ],
12616 "action_profiles" : [
12617 {
12618 "name" : "FabricIngress.next.ecmp_selector",
12619 "id" : 0,
12620 "max_size" : 64,
12621 "selector" : {
12622 "algo" : "crc16",
12623 "input" : [
12624 {
12625 "type" : "field",
12626 "value" : ["ipv4", "dst_addr"]
12627 },
12628 {
12629 "type" : "field",
12630 "value" : ["ipv4", "src_addr"]
12631 },
12632 {
12633 "type" : "field",
12634 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
12635 },
12636 {
12637 "type" : "field",
12638 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
12639 },
12640 {
12641 "type" : "field",
12642 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
12643 }
12644 ]
12645 }
12646 }
12647 ],
12648 "conditionals" : [
12649 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012650 "name" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012651 "id" : 0,
12652 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012653 "filename" : "include/spgw.p4",
12654 "line" : 30,
12655 "column" : 12,
12656 "source_fragment" : "! is_gtpu_encapped"
12657 },
12658 "expression" : {
12659 "type" : "expression",
12660 "value" : {
12661 "op" : "not",
12662 "left" : null,
12663 "right" : {
12664 "type" : "expression",
12665 "value" : {
12666 "op" : "d2b",
12667 "left" : null,
12668 "right" : {
12669 "type" : "field",
12670 "value" : ["gtpu", "$valid$"]
12671 }
12672 }
12673 }
12674 }
12675 },
12676 "true_next" : "tbl_act_0",
12677 "false_next" : "node_5"
12678 },
12679 {
12680 "name" : "node_5",
12681 "id" : 1,
12682 "expression" : {
12683 "type" : "expression",
12684 "value" : {
12685 "op" : "not",
12686 "left" : null,
12687 "right" : {
12688 "type" : "expression",
12689 "value" : {
12690 "op" : "d2b",
12691 "left" : null,
12692 "right" : {
12693 "type" : "field",
12694 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
12695 }
12696 }
12697 }
12698 }
12699 },
12700 "true_next" : "tbl_act_1",
12701 "false_next" : "node_10"
12702 },
12703 {
12704 "name" : "node_7",
12705 "id" : 2,
12706 "source_info" : {
12707 "filename" : "include/spgw.p4",
12708 "line" : 34,
12709 "column" : 12,
12710 "source_fragment" : "inner_udp.isValid()"
12711 },
12712 "expression" : {
12713 "type" : "expression",
12714 "value" : {
12715 "op" : "d2b",
12716 "left" : null,
12717 "right" : {
12718 "type" : "field",
12719 "value" : ["inner_udp", "$valid$"]
12720 }
12721 }
12722 },
12723 "true_next" : "tbl_act_2",
12724 "false_next" : "tbl_act_3"
12725 },
12726 {
12727 "name" : "node_10",
12728 "id" : 3,
12729 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012730 "filename" : "include/control/packetio.p4",
12731 "line" : 25,
12732 "column" : 12,
12733 "source_fragment" : "hdr.packet_out.isValid()"
12734 },
12735 "expression" : {
12736 "type" : "expression",
12737 "value" : {
12738 "op" : "d2b",
12739 "left" : null,
12740 "right" : {
12741 "type" : "field",
12742 "value" : ["packet_out", "$valid$"]
12743 }
12744 }
12745 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012746 "true_next" : "tbl_act_4",
12747 "false_next" : "tbl_act_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012748 },
12749 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012750 "name" : "node_13",
12751 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012752 "source_info" : {
12753 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012754 "line" : 139,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012755 "column" : 12,
12756 "source_fragment" : "gtpu.isValid()"
12757 },
12758 "expression" : {
12759 "type" : "expression",
12760 "value" : {
12761 "op" : "d2b",
12762 "left" : null,
12763 "right" : {
12764 "type" : "field",
12765 "value" : ["gtpu", "$valid$"]
12766 }
12767 }
12768 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012769 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
12770 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012771 },
12772 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012773 "name" : "node_17",
12774 "id" : 5,
12775 "source_info" : {
12776 "filename" : "include/spgw.p4",
12777 "line" : 143,
12778 "column" : 16,
12779 "source_fragment" : "!s1u_filter_table.apply().hit"
12780 },
12781 "expression" : {
12782 "type" : "expression",
12783 "value" : {
12784 "op" : "not",
12785 "left" : null,
12786 "right" : {
12787 "type" : "expression",
12788 "value" : {
12789 "op" : "d2b",
12790 "left" : null,
12791 "right" : {
12792 "type" : "field",
12793 "value" : ["scalars", "spgw_ingress_tmp_1"]
12794 }
12795 }
12796 }
12797 }
12798 },
12799 "true_next" : "tbl_drop_now",
12800 "false_next" : "tbl_act_8"
12801 },
12802 {
12803 "name" : "node_24",
12804 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012805 "expression" : {
12806 "type" : "expression",
12807 "value" : {
12808 "op" : "d2b",
12809 "left" : null,
12810 "right" : {
12811 "type" : "field",
12812 "value" : ["scalars", "spgw_ingress_tmp_2"]
12813 }
12814 }
12815 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012816 "true_next" : "tbl_act_11",
12817 "false_next" : "tbl_act_12"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012818 },
12819 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012820 "name" : "node_27",
12821 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012822 "expression" : {
12823 "type" : "expression",
12824 "value" : {
12825 "op" : "not",
12826 "left" : null,
12827 "right" : {
12828 "type" : "expression",
12829 "value" : {
12830 "op" : "d2b",
12831 "left" : null,
12832 "right" : {
12833 "type" : "field",
12834 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
12835 }
12836 }
12837 }
12838 }
12839 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012840 "true_next" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012841 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
12842 },
12843 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012844 "name" : "node_31",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012845 "id" : 8,
12846 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012847 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012848 "line" : 235,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012849 "column" : 11,
12850 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
12851 },
12852 "expression" : {
12853 "type" : "expression",
12854 "value" : {
12855 "op" : "==",
12856 "left" : {
12857 "type" : "field",
12858 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12859 },
12860 "right" : {
12861 "type" : "hexstr",
12862 "value" : "0x00"
12863 }
12864 }
12865 },
12866 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012867 "false_next" : "node_33"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012868 },
12869 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012870 "name" : "node_33",
12871 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012872 "source_info" : {
12873 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012874 "line" : 236,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012875 "column" : 17,
12876 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
12877 },
12878 "expression" : {
12879 "type" : "expression",
12880 "value" : {
12881 "op" : "==",
12882 "left" : {
12883 "type" : "field",
12884 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12885 },
12886 "right" : {
12887 "type" : "hexstr",
12888 "value" : "0x01"
12889 }
12890 }
12891 },
12892 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012893 "false_next" : "node_36"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012894 },
12895 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012896 "name" : "node_36",
12897 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012898 "source_info" : {
12899 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012900 "line" : 242,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012901 "column" : 17,
12902 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
12903 },
12904 "expression" : {
12905 "type" : "expression",
12906 "value" : {
12907 "op" : "==",
12908 "left" : {
12909 "type" : "field",
12910 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12911 },
12912 "right" : {
12913 "type" : "hexstr",
12914 "value" : "0x02"
12915 }
12916 }
12917 },
12918 "true_next" : "FabricIngress.forwarding.unicast_v4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012919 "false_next" : "node_38"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012920 },
12921 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012922 "name" : "node_38",
12923 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012924 "source_info" : {
12925 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012926 "line" : 244,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012927 "column" : 17,
12928 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_MULTICAST"
12929 },
12930 "expression" : {
12931 "type" : "expression",
12932 "value" : {
12933 "op" : "==",
12934 "left" : {
12935 "type" : "field",
12936 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12937 },
12938 "right" : {
12939 "type" : "hexstr",
12940 "value" : "0x03"
12941 }
12942 }
12943 },
12944 "true_next" : "FabricIngress.forwarding.multicast_v4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012945 "false_next" : "node_40"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012946 },
12947 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012948 "name" : "node_40",
12949 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012950 "source_info" : {
12951 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012952 "line" : 247,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012953 "column" : 17,
12954 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
12955 },
12956 "expression" : {
12957 "type" : "expression",
12958 "value" : {
12959 "op" : "==",
12960 "left" : {
12961 "type" : "field",
12962 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12963 },
12964 "right" : {
12965 "type" : "hexstr",
12966 "value" : "0x04"
12967 }
12968 }
12969 },
12970 "true_next" : "FabricIngress.forwarding.unicast_v6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012971 "false_next" : "node_42"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012972 },
12973 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012974 "name" : "node_42",
12975 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012976 "source_info" : {
12977 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070012978 "line" : 249,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012979 "column" : 17,
12980 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_MULTICAST"
12981 },
12982 "expression" : {
12983 "type" : "expression",
12984 "value" : {
12985 "op" : "==",
12986 "left" : {
12987 "type" : "field",
12988 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12989 },
12990 "right" : {
12991 "type" : "hexstr",
12992 "value" : "0x05"
12993 }
12994 }
12995 },
12996 "true_next" : "FabricIngress.forwarding.multicast_v6",
12997 "false_next" : "FabricIngress.forwarding.acl"
12998 },
12999 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013000 "name" : "node_50",
13001 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013002 "source_info" : {
13003 "filename" : "include/control/next.p4",
13004 "line" : 219,
13005 "column" : 12,
13006 "source_fragment" : "!simple.apply().hit"
13007 },
13008 "expression" : {
13009 "type" : "expression",
13010 "value" : {
13011 "op" : "not",
13012 "left" : null,
13013 "right" : {
13014 "type" : "expression",
13015 "value" : {
13016 "op" : "d2b",
13017 "left" : null,
13018 "right" : {
13019 "type" : "field",
13020 "value" : ["scalars", "next_tmp_4"]
13021 }
13022 }
13023 }
13024 }
13025 },
13026 "true_next" : "FabricIngress.next.hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013027 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013028 },
13029 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013030 "name" : "node_54",
13031 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013032 "source_info" : {
13033 "filename" : "include/control/next.p4",
13034 "line" : 220,
13035 "column" : 16,
13036 "source_fragment" : "!hashed.apply().hit"
13037 },
13038 "expression" : {
13039 "type" : "expression",
13040 "value" : {
13041 "op" : "not",
13042 "left" : null,
13043 "right" : {
13044 "type" : "expression",
13045 "value" : {
13046 "op" : "d2b",
13047 "left" : null,
13048 "right" : {
13049 "type" : "field",
13050 "value" : ["scalars", "next_tmp_3"]
13051 }
13052 }
13053 }
13054 }
13055 },
13056 "true_next" : "FabricIngress.next.multicast",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013057 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013058 },
13059 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013060 "name" : "node_58",
13061 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013062 "source_info" : {
13063 "filename" : "include/control/next.p4",
13064 "line" : 221,
13065 "column" : 20,
13066 "source_fragment" : "!multicast.apply().hit"
13067 },
13068 "expression" : {
13069 "type" : "expression",
13070 "value" : {
13071 "op" : "not",
13072 "left" : null,
13073 "right" : {
13074 "type" : "expression",
13075 "value" : {
13076 "op" : "d2b",
13077 "left" : null,
13078 "right" : {
13079 "type" : "field",
13080 "value" : ["scalars", "next_tmp_2"]
13081 }
13082 }
13083 }
13084 }
13085 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013086 "true_next" : "tbl_act_22",
13087 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013088 },
13089 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013090 "name" : "node_60",
13091 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013092 "expression" : {
13093 "type" : "expression",
13094 "value" : {
13095 "op" : "not",
13096 "left" : null,
13097 "right" : {
13098 "type" : "expression",
13099 "value" : {
13100 "op" : "d2b",
13101 "left" : null,
13102 "right" : {
13103 "type" : "field",
13104 "value" : ["scalars", "next_hasReturned_0"]
13105 }
13106 }
13107 }
13108 }
13109 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013110 "true_next" : "node_61",
13111 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013112 },
13113 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013114 "name" : "node_61",
13115 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013116 "source_info" : {
13117 "filename" : "include/control/next.p4",
13118 "line" : 228,
13119 "column" : 12,
13120 "source_fragment" : "!hdr.mpls.isValid()"
13121 },
13122 "expression" : {
13123 "type" : "expression",
13124 "value" : {
13125 "op" : "not",
13126 "left" : null,
13127 "right" : {
13128 "type" : "expression",
13129 "value" : {
13130 "op" : "d2b",
13131 "left" : null,
13132 "right" : {
13133 "type" : "field",
13134 "value" : ["mpls", "$valid$"]
13135 }
13136 }
13137 }
13138 }
13139 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013140 "true_next" : "node_62",
13141 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013142 },
13143 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013144 "name" : "node_62",
13145 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013146 "source_info" : {
13147 "filename" : "include/control/next.p4",
13148 "line" : 229,
13149 "column" : 15,
13150 "source_fragment" : "hdr.ipv4.isValid()"
13151 },
13152 "expression" : {
13153 "type" : "expression",
13154 "value" : {
13155 "op" : "d2b",
13156 "left" : null,
13157 "right" : {
13158 "type" : "field",
13159 "value" : ["ipv4", "$valid$"]
13160 }
13161 }
13162 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013163 "true_next" : "tbl_act_23",
13164 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013165 },
13166 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013167 "name" : "node_64",
13168 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013169 "source_info" : {
13170 "filename" : "include/control/next.p4",
13171 "line" : 233,
13172 "column" : 21,
13173 "source_fragment" : "hdr.ipv6.isValid()"
13174 },
13175 "expression" : {
13176 "type" : "expression",
13177 "value" : {
13178 "op" : "d2b",
13179 "left" : null,
13180 "right" : {
13181 "type" : "field",
13182 "value" : ["ipv6", "$valid$"]
13183 }
13184 }
13185 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013186 "true_next" : "tbl_act_24",
13187 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013188 },
13189 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013190 "name" : "node_66",
13191 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013192 "source_info" : {
13193 "filename" : "include/control/port_counter.p4",
13194 "line" : 27,
13195 "column" : 12,
13196 "source_fragment" : "standard_metadata.egress_spec < 511"
13197 },
13198 "expression" : {
13199 "type" : "expression",
13200 "value" : {
13201 "op" : "<",
13202 "left" : {
13203 "type" : "field",
13204 "value" : ["standard_metadata", "egress_spec"]
13205 },
13206 "right" : {
13207 "type" : "hexstr",
13208 "value" : "0x01ff"
13209 }
13210 }
13211 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013212 "true_next" : "tbl_act_25",
13213 "false_next" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013214 },
13215 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013216 "name" : "node_68",
13217 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013218 "source_info" : {
13219 "filename" : "include/control/port_counter.p4",
13220 "line" : 30,
13221 "column" : 12,
13222 "source_fragment" : "standard_metadata.ingress_port < 511"
13223 },
13224 "expression" : {
13225 "type" : "expression",
13226 "value" : {
13227 "op" : "<",
13228 "left" : {
13229 "type" : "field",
13230 "value" : ["standard_metadata", "ingress_port"]
13231 },
13232 "right" : {
13233 "type" : "hexstr",
13234 "value" : "0x01ff"
13235 }
13236 }
13237 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013238 "true_next" : "tbl_act_26",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013239 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
13240 },
13241 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013242 "name" : "node_72",
13243 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013244 "source_info" : {
13245 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013246 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013247 "column" : 11,
13248 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
13249 },
13250 "expression" : {
13251 "type" : "expression",
13252 "value" : {
13253 "op" : "==",
13254 "left" : {
13255 "type" : "field",
13256 "value" : ["userMetadata.int_meta", "sink"]
13257 },
13258 "right" : {
13259 "type" : "hexstr",
13260 "value" : "0x01"
13261 }
13262 }
13263 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013264 "false_next" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013265 "true_next" : "tbl_act_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013266 }
13267 ]
13268 },
13269 {
13270 "name" : "egress",
13271 "id" : 1,
13272 "source_info" : {
13273 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013274 "line" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013275 "column" : 8,
13276 "source_fragment" : "FabricEgress"
13277 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013278 "init_table" : "node_76",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013279 "tables" : [
13280 {
13281 "name" : "tbl_drop_now_0",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013282 "id" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013283 "key" : [],
13284 "match_type" : "exact",
13285 "type" : "simple",
13286 "max_size" : 1024,
13287 "with_counters" : false,
13288 "support_timeout" : false,
13289 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013290 "action_ids" : [81],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013291 "actions" : ["drop_now"],
13292 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
13293 "next_tables" : {
13294 "drop_now" : "FabricEgress.egress_next.egress_vlan"
13295 },
13296 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013297 "action_id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013298 "action_const" : true,
13299 "action_data" : [],
13300 "action_entry_const" : true
13301 }
13302 },
13303 {
13304 "name" : "FabricEgress.egress_next.egress_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013305 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013306 "source_info" : {
13307 "filename" : "include/control/next.p4",
13308 "line" : 258,
13309 "column" : 10,
13310 "source_fragment" : "egress_vlan"
13311 },
13312 "key" : [
13313 {
13314 "match_type" : "exact",
13315 "name" : "hdr.vlan_tag.vlan_id",
13316 "target" : ["vlan_tag", "vlan_id"],
13317 "mask" : null
13318 },
13319 {
13320 "match_type" : "exact",
13321 "name" : "standard_metadata.egress_port",
13322 "target" : ["standard_metadata", "egress_port"],
13323 "mask" : null
13324 }
13325 ],
13326 "match_type" : "exact",
13327 "type" : "simple",
13328 "max_size" : 1024,
13329 "with_counters" : true,
13330 "support_timeout" : false,
13331 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013332 "action_ids" : [126, 80],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013333 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013334 "base_default_next" : "node_79",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013335 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013336 "FabricEgress.egress_next.pop_vlan" : "node_79",
13337 "nop" : "node_79"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013338 },
13339 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013340 "action_id" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013341 "action_const" : false,
13342 "action_data" : [],
13343 "action_entry_const" : false
13344 }
13345 },
13346 {
13347 "name" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013348 "id" : 50,
13349 "key" : [],
13350 "match_type" : "exact",
13351 "type" : "simple",
13352 "max_size" : 1024,
13353 "with_counters" : false,
13354 "support_timeout" : false,
13355 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013356 "action_ids" : [125],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013357 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013358 "base_default_next" : "node_82",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013359 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013360 "FabricEgress.pkt_io_egress.pop_vlan" : "node_82"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013361 },
13362 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013363 "action_id" : 125,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013364 "action_const" : true,
13365 "action_data" : [],
13366 "action_entry_const" : true
13367 }
13368 },
13369 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013370 "name" : "tbl_drop_now_1",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013371 "id" : 51,
13372 "key" : [],
13373 "match_type" : "exact",
13374 "type" : "simple",
13375 "max_size" : 1024,
13376 "with_counters" : false,
13377 "support_timeout" : false,
13378 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013379 "action_ids" : [82],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013380 "actions" : ["drop_now"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013381 "base_default_next" : "tbl_act_28",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013382 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013383 "drop_now" : "tbl_act_28"
13384 },
13385 "default_entry" : {
13386 "action_id" : 82,
13387 "action_const" : true,
13388 "action_data" : [],
13389 "action_entry_const" : true
13390 }
13391 },
13392 {
13393 "name" : "tbl_act_28",
13394 "id" : 52,
13395 "key" : [],
13396 "match_type" : "exact",
13397 "type" : "simple",
13398 "max_size" : 1024,
13399 "with_counters" : false,
13400 "support_timeout" : false,
13401 "direct_meters" : null,
13402 "action_ids" : [127],
13403 "actions" : ["act_28"],
13404 "base_default_next" : "node_85",
13405 "next_tables" : {
13406 "act_28" : "node_85"
13407 },
13408 "default_entry" : {
13409 "action_id" : 127,
13410 "action_const" : true,
13411 "action_data" : [],
13412 "action_entry_const" : true
13413 }
13414 },
13415 {
13416 "name" : "tbl_spgw_egress_gtpu_encap",
13417 "id" : 53,
13418 "key" : [],
13419 "match_type" : "exact",
13420 "type" : "simple",
13421 "max_size" : 1024,
13422 "with_counters" : false,
13423 "support_timeout" : false,
13424 "direct_meters" : null,
13425 "action_ids" : [83],
13426 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
13427 "base_default_next" : "node_87",
13428 "next_tables" : {
13429 "FabricEgress.spgw_egress.gtpu_encap" : "node_87"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013430 },
13431 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013432 "action_id" : 83,
13433 "action_const" : true,
13434 "action_data" : [],
13435 "action_entry_const" : true
13436 }
13437 },
13438 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013439 "name" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013440 "id" : 54,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013441 "source_info" : {
13442 "filename" : "include/int_source.p4",
13443 "line" : 66,
13444 "column" : 10,
13445 "source_fragment" : "tb_int_source"
13446 },
13447 "key" : [
13448 {
13449 "match_type" : "ternary",
13450 "name" : "hdr.ipv4.src_addr",
13451 "target" : ["ipv4", "src_addr"],
13452 "mask" : null
13453 },
13454 {
13455 "match_type" : "ternary",
13456 "name" : "hdr.ipv4.dst_addr",
13457 "target" : ["ipv4", "dst_addr"],
13458 "mask" : null
13459 },
13460 {
13461 "match_type" : "ternary",
13462 "name" : "fabric_metadata.l4_src_port",
13463 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
13464 "mask" : null
13465 },
13466 {
13467 "match_type" : "ternary",
13468 "name" : "fabric_metadata.l4_dst_port",
13469 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
13470 "mask" : null
13471 }
13472 ],
13473 "match_type" : "ternary",
13474 "type" : "simple",
13475 "max_size" : 1024,
13476 "with_counters" : true,
13477 "support_timeout" : false,
13478 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013479 "action_ids" : [84, 75],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013480 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013481 "base_default_next" : "node_90",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013482 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013483 "FabricEgress.process_int_source.int_source_dscp" : "node_90",
13484 "NoAction" : "node_90"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013485 },
13486 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013487 "action_id" : 75,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013488 "action_const" : false,
13489 "action_data" : [],
13490 "action_entry_const" : false
13491 }
13492 },
13493 {
13494 "name" : "FabricEgress.process_int_transit.tb_int_insert",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013495 "id" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013496 "source_info" : {
13497 "filename" : "include/int_transit.p4",
13498 "line" : 227,
13499 "column" : 10,
13500 "source_fragment" : "tb_int_insert"
13501 },
13502 "key" : [],
13503 "match_type" : "exact",
13504 "type" : "simple",
13505 "max_size" : 2,
13506 "with_counters" : true,
13507 "support_timeout" : false,
13508 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013509 "action_ids" : [86, 76],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013510 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
13511 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13512 "next_tables" : {
13513 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13514 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
13515 },
13516 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013517 "action_id" : 76,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013518 "action_const" : false,
13519 "action_data" : [],
13520 "action_entry_const" : false
13521 }
13522 },
13523 {
13524 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013525 "id" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013526 "source_info" : {
13527 "filename" : "include/int_transit.p4",
13528 "line" : 237,
13529 "column" : 10,
13530 "source_fragment" : "tb_int_inst_0003"
13531 },
13532 "key" : [
13533 {
13534 "match_type" : "exact",
13535 "name" : "hdr.int_header.instruction_mask_0003",
13536 "target" : ["int_header", "instruction_mask_0003"],
13537 "mask" : null
13538 }
13539 ],
13540 "match_type" : "exact",
13541 "type" : "simple",
13542 "max_size" : 16,
13543 "with_counters" : true,
13544 "support_timeout" : false,
13545 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013546 "action_ids" : [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 77],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013547 "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"],
13548 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13549 "next_tables" : {
13550 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13551 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13552 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13553 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13554 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13555 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13556 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13557 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13558 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13559 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13560 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13561 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13562 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13563 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13564 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13565 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13566 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
13567 },
13568 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013569 "action_id" : 77,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013570 "action_const" : false,
13571 "action_data" : [],
13572 "action_entry_const" : false
13573 }
13574 },
13575 {
13576 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013577 "id" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013578 "source_info" : {
13579 "filename" : "include/int_transit.p4",
13580 "line" : 264,
13581 "column" : 10,
13582 "source_fragment" : "tb_int_inst_0407"
13583 },
13584 "key" : [
13585 {
13586 "match_type" : "exact",
13587 "name" : "hdr.int_header.instruction_mask_0407",
13588 "target" : ["int_header", "instruction_mask_0407"],
13589 "mask" : null
13590 }
13591 ],
13592 "match_type" : "exact",
13593 "type" : "simple",
13594 "max_size" : 16,
13595 "with_counters" : true,
13596 "support_timeout" : false,
13597 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013598 "action_ids" : [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 78],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013599 "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"],
13600 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
13601 "next_tables" : {
13602 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
13603 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
13604 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
13605 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
13606 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
13607 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
13608 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
13609 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
13610 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
13611 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
13612 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
13613 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
13614 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
13615 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
13616 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
13617 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
13618 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
13619 },
13620 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013621 "action_id" : 78,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013622 "action_const" : false,
13623 "action_data" : [],
13624 "action_entry_const" : false
13625 }
13626 },
13627 {
13628 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013629 "id" : 58,
13630 "key" : [],
13631 "match_type" : "exact",
13632 "type" : "simple",
13633 "max_size" : 1024,
13634 "with_counters" : false,
13635 "support_timeout" : false,
13636 "direct_meters" : null,
13637 "action_ids" : [85],
13638 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
13639 "base_default_next" : "node_95",
13640 "next_tables" : {
13641 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_95"
13642 },
13643 "default_entry" : {
13644 "action_id" : 85,
13645 "action_const" : true,
13646 "action_data" : [],
13647 "action_entry_const" : true
13648 }
13649 },
13650 {
13651 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013652 "id" : 59,
13653 "key" : [],
13654 "match_type" : "exact",
13655 "type" : "simple",
13656 "max_size" : 1024,
13657 "with_counters" : false,
13658 "support_timeout" : false,
13659 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013660 "action_ids" : [119],
13661 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013662 "base_default_next" : "node_97",
13663 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013664 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_97"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013665 },
13666 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013667 "action_id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013668 "action_const" : true,
13669 "action_data" : [],
13670 "action_entry_const" : true
13671 }
13672 },
13673 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013674 "name" : "tbl_process_int_outer_encap_int_update_udp",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013675 "id" : 60,
13676 "key" : [],
13677 "match_type" : "exact",
13678 "type" : "simple",
13679 "max_size" : 1024,
13680 "with_counters" : false,
13681 "support_timeout" : false,
13682 "direct_meters" : null,
13683 "action_ids" : [120],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013684 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013685 "base_default_next" : "node_99",
13686 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013687 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_99"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013688 },
13689 "default_entry" : {
13690 "action_id" : 120,
13691 "action_const" : true,
13692 "action_data" : [],
13693 "action_entry_const" : true
13694 }
13695 },
13696 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013697 "name" : "tbl_process_int_outer_encap_int_update_shim",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013698 "id" : 61,
13699 "key" : [],
13700 "match_type" : "exact",
13701 "type" : "simple",
13702 "max_size" : 1024,
13703 "with_counters" : false,
13704 "support_timeout" : false,
13705 "direct_meters" : null,
13706 "action_ids" : [121],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013707 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013708 "base_default_next" : "node_101",
13709 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013710 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_101"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013711 },
13712 "default_entry" : {
13713 "action_id" : 121,
13714 "action_const" : true,
13715 "action_data" : [],
13716 "action_entry_const" : true
13717 }
13718 },
13719 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013720 "name" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013721 "id" : 62,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013722 "source_info" : {
13723 "filename" : "include/int_report.p4",
13724 "line" : 87,
13725 "column" : 10,
13726 "source_fragment" : "tb_generate_report"
13727 },
13728 "key" : [],
13729 "match_type" : "exact",
13730 "type" : "simple",
13731 "max_size" : 1024,
13732 "with_counters" : false,
13733 "support_timeout" : false,
13734 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013735 "action_ids" : [122, 79],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013736 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013737 "base_default_next" : "node_103",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013738 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013739 "FabricEgress.process_int_report.do_report_encapsulation" : "node_103",
13740 "NoAction" : "node_103"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013741 },
13742 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013743 "action_id" : 79,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013744 "action_const" : false,
13745 "action_data" : [],
13746 "action_entry_const" : false
13747 }
13748 },
13749 {
13750 "name" : "tbl_process_int_sink_restore_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013751 "id" : 63,
13752 "key" : [],
13753 "match_type" : "exact",
13754 "type" : "simple",
13755 "max_size" : 1024,
13756 "with_counters" : false,
13757 "support_timeout" : false,
13758 "direct_meters" : null,
13759 "action_ids" : [123],
13760 "actions" : ["FabricEgress.process_int_sink.restore_header"],
13761 "base_default_next" : "tbl_process_int_sink_int_sink",
13762 "next_tables" : {
13763 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
13764 },
13765 "default_entry" : {
13766 "action_id" : 123,
13767 "action_const" : true,
13768 "action_data" : [],
13769 "action_entry_const" : true
13770 }
13771 },
13772 {
13773 "name" : "tbl_process_int_sink_int_sink",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013774 "id" : 64,
13775 "key" : [],
13776 "match_type" : "exact",
13777 "type" : "simple",
13778 "max_size" : 1024,
13779 "with_counters" : false,
13780 "support_timeout" : false,
13781 "direct_meters" : null,
13782 "action_ids" : [124],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013783 "actions" : ["FabricEgress.process_int_sink.int_sink"],
13784 "base_default_next" : null,
13785 "next_tables" : {
13786 "FabricEgress.process_int_sink.int_sink" : null
13787 },
13788 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013789 "action_id" : 124,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013790 "action_const" : true,
13791 "action_data" : [],
13792 "action_entry_const" : true
13793 }
13794 }
13795 ],
13796 "action_profiles" : [],
13797 "conditionals" : [
13798 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013799 "name" : "node_76",
13800 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013801 "source_info" : {
13802 "filename" : "include/control/next.p4",
13803 "line" : 272,
13804 "column" : 12,
13805 "source_fragment" : "fabric_metadata.is_multicast == true ..."
13806 },
13807 "expression" : {
13808 "type" : "expression",
13809 "value" : {
13810 "op" : "and",
13811 "left" : {
13812 "type" : "expression",
13813 "value" : {
13814 "op" : "==",
13815 "left" : {
13816 "type" : "expression",
13817 "value" : {
13818 "op" : "d2b",
13819 "left" : null,
13820 "right" : {
13821 "type" : "field",
13822 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13823 }
13824 }
13825 },
13826 "right" : {
13827 "type" : "bool",
13828 "value" : true
13829 }
13830 }
13831 },
13832 "right" : {
13833 "type" : "expression",
13834 "value" : {
13835 "op" : "==",
13836 "left" : {
13837 "type" : "field",
13838 "value" : ["standard_metadata", "ingress_port"]
13839 },
13840 "right" : {
13841 "type" : "field",
13842 "value" : ["standard_metadata", "egress_port"]
13843 }
13844 }
13845 }
13846 }
13847 },
13848 "true_next" : "tbl_drop_now_0",
13849 "false_next" : "FabricEgress.egress_next.egress_vlan"
13850 },
13851 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013852 "name" : "node_79",
13853 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013854 "source_info" : {
13855 "filename" : "include/control/packetio.p4",
13856 "line" : 42,
13857 "column" : 12,
13858 "source_fragment" : "standard_metadata.egress_port == 255"
13859 },
13860 "expression" : {
13861 "type" : "expression",
13862 "value" : {
13863 "op" : "==",
13864 "left" : {
13865 "type" : "field",
13866 "value" : ["standard_metadata", "egress_port"]
13867 },
13868 "right" : {
13869 "type" : "hexstr",
13870 "value" : "0x00ff"
13871 }
13872 }
13873 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013874 "true_next" : "node_80",
13875 "false_next" : "node_85"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013876 },
13877 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013878 "name" : "node_80",
13879 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013880 "source_info" : {
13881 "filename" : "include/control/packetio.p4",
13882 "line" : 43,
13883 "column" : 16,
13884 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
13885 },
13886 "expression" : {
13887 "type" : "expression",
13888 "value" : {
13889 "op" : "and",
13890 "left" : {
13891 "type" : "expression",
13892 "value" : {
13893 "op" : "d2b",
13894 "left" : null,
13895 "right" : {
13896 "type" : "field",
13897 "value" : ["vlan_tag", "$valid$"]
13898 }
13899 }
13900 },
13901 "right" : {
13902 "type" : "expression",
13903 "value" : {
13904 "op" : "==",
13905 "left" : {
13906 "type" : "expression",
13907 "value" : {
13908 "op" : "d2b",
13909 "left" : null,
13910 "right" : {
13911 "type" : "field",
13912 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
13913 }
13914 }
13915 },
13916 "right" : {
13917 "type" : "bool",
13918 "value" : true
13919 }
13920 }
13921 }
13922 }
13923 },
13924 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013925 "false_next" : "node_82"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013926 },
13927 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013928 "name" : "node_82",
13929 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013930 "source_info" : {
13931 "filename" : "include/control/packetio.p4",
13932 "line" : 46,
13933 "column" : 16,
13934 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
13935 },
13936 "expression" : {
13937 "type" : "expression",
13938 "value" : {
13939 "op" : "and",
13940 "left" : {
13941 "type" : "expression",
13942 "value" : {
13943 "op" : "==",
13944 "left" : {
13945 "type" : "expression",
13946 "value" : {
13947 "op" : "d2b",
13948 "left" : null,
13949 "right" : {
13950 "type" : "field",
13951 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13952 }
13953 }
13954 },
13955 "right" : {
13956 "type" : "bool",
13957 "value" : true
13958 }
13959 }
13960 },
13961 "right" : {
13962 "type" : "expression",
13963 "value" : {
13964 "op" : "==",
13965 "left" : {
13966 "type" : "expression",
13967 "value" : {
13968 "op" : "d2b",
13969 "left" : null,
13970 "right" : {
13971 "type" : "field",
13972 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
13973 }
13974 }
13975 },
13976 "right" : {
13977 "type" : "bool",
13978 "value" : false
13979 }
13980 }
13981 }
13982 }
13983 },
13984 "true_next" : "tbl_drop_now_1",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013985 "false_next" : "tbl_act_28"
13986 },
13987 {
13988 "name" : "node_85",
13989 "id" : 28,
13990 "source_info" : {
13991 "filename" : "include/spgw.p4",
Charles Chancf696e52018-08-16 16:25:13 -070013992 "line" : 221,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013993 "column" : 12,
13994 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
13995 },
13996 "expression" : {
13997 "type" : "expression",
13998 "value" : {
13999 "op" : "==",
14000 "left" : {
14001 "type" : "field",
14002 "value" : ["userMetadata.spgw", "direction"]
14003 },
14004 "right" : {
14005 "type" : "hexstr",
14006 "value" : "0x02"
14007 }
14008 }
14009 },
14010 "true_next" : "tbl_spgw_egress_gtpu_encap",
14011 "false_next" : "node_87"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014012 },
14013 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014014 "name" : "node_87",
14015 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014016 "source_info" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014017 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014018 "line" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014019 "column" : 12,
14020 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
14021 },
14022 "expression" : {
14023 "type" : "expression",
14024 "value" : {
14025 "op" : "and",
14026 "left" : {
14027 "type" : "expression",
14028 "value" : {
14029 "op" : "and",
14030 "left" : {
14031 "type" : "expression",
14032 "value" : {
14033 "op" : "!=",
14034 "left" : {
14035 "type" : "field",
14036 "value" : ["standard_metadata", "ingress_port"]
14037 },
14038 "right" : {
14039 "type" : "hexstr",
14040 "value" : "0x00ff"
14041 }
14042 }
14043 },
14044 "right" : {
14045 "type" : "expression",
14046 "value" : {
14047 "op" : "!=",
14048 "left" : {
14049 "type" : "field",
14050 "value" : ["standard_metadata", "egress_port"]
14051 },
14052 "right" : {
14053 "type" : "hexstr",
14054 "value" : "0x00ff"
14055 }
14056 }
14057 }
14058 }
14059 },
14060 "right" : {
14061 "type" : "expression",
14062 "value" : {
14063 "op" : "or",
14064 "left" : {
14065 "type" : "expression",
14066 "value" : {
14067 "op" : "d2b",
14068 "left" : null,
14069 "right" : {
14070 "type" : "field",
14071 "value" : ["udp", "$valid$"]
14072 }
14073 }
14074 },
14075 "right" : {
14076 "type" : "expression",
14077 "value" : {
14078 "op" : "d2b",
14079 "left" : null,
14080 "right" : {
14081 "type" : "field",
14082 "value" : ["tcp", "$valid$"]
14083 }
14084 }
14085 }
14086 }
14087 }
14088 }
14089 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014090 "false_next" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014091 "true_next" : "node_88"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014092 },
14093 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014094 "name" : "node_88",
14095 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014096 "source_info" : {
14097 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014098 "line" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014099 "column" : 16,
14100 "source_fragment" : "fabric_metadata.int_meta.source == 1"
14101 },
14102 "expression" : {
14103 "type" : "expression",
14104 "value" : {
14105 "op" : "==",
14106 "left" : {
14107 "type" : "field",
14108 "value" : ["userMetadata.int_meta", "source"]
14109 },
14110 "right" : {
14111 "type" : "hexstr",
14112 "value" : "0x01"
14113 }
14114 }
14115 },
14116 "true_next" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014117 "false_next" : "node_90"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014118 },
14119 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014120 "name" : "node_90",
14121 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014122 "source_info" : {
14123 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014124 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014125 "column" : 15,
14126 "source_fragment" : "hdr.int_header.isValid()"
14127 },
14128 "expression" : {
14129 "type" : "expression",
14130 "value" : {
14131 "op" : "d2b",
14132 "left" : null,
14133 "right" : {
14134 "type" : "field",
14135 "value" : ["int_header", "$valid$"]
14136 }
14137 }
14138 },
14139 "false_next" : null,
14140 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
14141 },
14142 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014143 "name" : "node_95",
14144 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014145 "source_info" : {
14146 "filename" : "include/int_transit.p4",
14147 "line" : 314,
14148 "column" : 12,
14149 "source_fragment" : "hdr.ipv4.isValid()"
14150 },
14151 "expression" : {
14152 "type" : "expression",
14153 "value" : {
14154 "op" : "d2b",
14155 "left" : null,
14156 "right" : {
14157 "type" : "field",
14158 "value" : ["ipv4", "$valid$"]
14159 }
14160 }
14161 },
14162 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014163 "false_next" : "node_97"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014164 },
14165 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014166 "name" : "node_97",
14167 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014168 "source_info" : {
14169 "filename" : "include/int_transit.p4",
14170 "line" : 317,
14171 "column" : 12,
14172 "source_fragment" : "hdr.udp.isValid()"
14173 },
14174 "expression" : {
14175 "type" : "expression",
14176 "value" : {
14177 "op" : "d2b",
14178 "left" : null,
14179 "right" : {
14180 "type" : "field",
14181 "value" : ["udp", "$valid$"]
14182 }
14183 }
14184 },
14185 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014186 "false_next" : "node_99"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014187 },
14188 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014189 "name" : "node_99",
14190 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014191 "source_info" : {
14192 "filename" : "include/int_transit.p4",
14193 "line" : 320,
14194 "column" : 12,
14195 "source_fragment" : "hdr.intl4_shim.isValid()"
14196 },
14197 "expression" : {
14198 "type" : "expression",
14199 "value" : {
14200 "op" : "d2b",
14201 "left" : null,
14202 "right" : {
14203 "type" : "field",
14204 "value" : ["intl4_shim", "$valid$"]
14205 }
14206 }
14207 },
14208 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014209 "false_next" : "node_101"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014210 },
14211 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014212 "name" : "node_101",
14213 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014214 "source_info" : {
14215 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014216 "line" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014217 "column" : 20,
14218 "source_fragment" : "standard_metadata.instance_type == 1"
14219 },
14220 "expression" : {
14221 "type" : "expression",
14222 "value" : {
14223 "op" : "==",
14224 "left" : {
14225 "type" : "field",
14226 "value" : ["standard_metadata", "instance_type"]
14227 },
14228 "right" : {
14229 "type" : "hexstr",
14230 "value" : "0x00000001"
14231 }
14232 }
14233 },
14234 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014235 "false_next" : "node_103"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014236 },
14237 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014238 "name" : "node_103",
14239 "id" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014240 "source_info" : {
14241 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070014242 "line" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014243 "column" : 20,
14244 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
14245 },
14246 "expression" : {
14247 "type" : "expression",
14248 "value" : {
14249 "op" : "==",
14250 "left" : {
14251 "type" : "field",
14252 "value" : ["userMetadata.int_meta", "sink"]
14253 },
14254 "right" : {
14255 "type" : "hexstr",
14256 "value" : "0x01"
14257 }
14258 }
14259 },
14260 "false_next" : null,
14261 "true_next" : "tbl_process_int_sink_restore_header"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014262 }
14263 ]
14264 }
14265 ],
14266 "checksums" : [
14267 {
14268 "name" : "cksum",
14269 "id" : 0,
14270 "target" : ["ipv4", "hdr_checksum"],
14271 "type" : "generic",
14272 "calculation" : "calc",
14273 "if_cond" : {
14274 "type" : "expression",
14275 "value" : {
14276 "op" : "d2b",
14277 "left" : null,
14278 "right" : {
14279 "type" : "field",
14280 "value" : ["ipv4", "$valid$"]
14281 }
14282 }
14283 }
14284 },
14285 {
14286 "name" : "cksum_0",
14287 "id" : 1,
14288 "target" : ["gtpu_ipv4", "hdr_checksum"],
14289 "type" : "generic",
14290 "calculation" : "calc_0",
14291 "if_cond" : {
14292 "type" : "expression",
14293 "value" : {
14294 "op" : "d2b",
14295 "left" : null,
14296 "right" : {
14297 "type" : "field",
14298 "value" : ["gtpu_ipv4", "$valid$"]
14299 }
14300 }
14301 }
14302 },
14303 {
14304 "name" : "cksum_1",
14305 "id" : 2,
14306 "target" : ["ipv4", "hdr_checksum"],
14307 "type" : "generic",
14308 "calculation" : "calc_1",
14309 "if_cond" : {
14310 "type" : "expression",
14311 "value" : {
14312 "op" : "d2b",
14313 "left" : null,
14314 "right" : {
14315 "type" : "field",
14316 "value" : ["ipv4", "$valid$"]
14317 }
14318 }
14319 }
14320 }
14321 ],
14322 "force_arith" : [],
14323 "extern_instances" : [],
14324 "field_aliases" : [
14325 [
14326 "queueing_metadata.enq_timestamp",
14327 ["standard_metadata", "enq_timestamp"]
14328 ],
14329 [
14330 "queueing_metadata.enq_qdepth",
14331 ["standard_metadata", "enq_qdepth"]
14332 ],
14333 [
14334 "queueing_metadata.deq_timedelta",
14335 ["standard_metadata", "deq_timedelta"]
14336 ],
14337 [
14338 "queueing_metadata.deq_qdepth",
14339 ["standard_metadata", "deq_qdepth"]
14340 ],
14341 [
14342 "intrinsic_metadata.ingress_global_timestamp",
14343 ["standard_metadata", "ingress_global_timestamp"]
14344 ],
14345 [
14346 "intrinsic_metadata.egress_global_timestamp",
14347 ["standard_metadata", "egress_global_timestamp"]
14348 ],
14349 [
14350 "intrinsic_metadata.lf_field_list",
14351 ["standard_metadata", "lf_field_list"]
14352 ],
14353 [
14354 "intrinsic_metadata.mcast_grp",
14355 ["standard_metadata", "mcast_grp"]
14356 ],
14357 [
14358 "intrinsic_metadata.resubmit_flag",
14359 ["standard_metadata", "resubmit_flag"]
14360 ],
14361 [
14362 "intrinsic_metadata.egress_rid",
14363 ["standard_metadata", "egress_rid"]
14364 ],
14365 [
14366 "intrinsic_metadata.recirculate_flag",
14367 ["standard_metadata", "recirculate_flag"]
14368 ]
14369 ],
14370 "program" : "fabric.p4",
14371 "__meta__" : {
14372 "version" : [2, 18],
14373 "compiler" : "https://github.com/p4lang/p4c"
14374 }
14375}