blob: 8c90afcbe4bc85de68c74d71ef2f7bcfaf5684a8 [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],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010 ["tmp_2", 9, false],
11 ["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],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070031 ["_padding_2", 2, 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" : {
1455 "type" : "field",
1456 "value" : ["ipv4", "dst_addr"]
1457 },
1458 "right" : {
1459 "type" : "hexstr",
1460 "value" : "0x01ff"
1461 }
1462 }
1463 }
1464 }
1465 ],
1466 "op" : "set"
1467 }
1468 ],
1469 "transitions" : [
1470 {
1471 "type" : "hexstr",
1472 "value" : "0x0000",
1473 "mask" : null,
1474 "next_state" : "do_parse_gtpu"
1475 },
1476 {
1477 "value" : "default",
1478 "mask" : null,
1479 "next_state" : null
1480 }
1481 ],
1482 "transition_key" : [
1483 {
1484 "type" : "field",
1485 "value" : ["scalars", "tmp_2"]
1486 }
1487 ]
1488 },
1489 {
1490 "name" : "do_parse_gtpu",
1491 "id" : 15,
1492 "parser_ops" : [
1493 {
1494 "parameters" : [
1495 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001496 "type" : "regular",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001497 "value" : "gtpu"
1498 }
1499 ],
1500 "op" : "extract"
1501 },
1502 {
1503 "parameters" : [
1504 {
1505 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001506 "value" : "inner_ipv4"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001507 }
1508 ],
1509 "op" : "extract"
1510 }
1511 ],
1512 "transitions" : [
1513 {
1514 "type" : "hexstr",
1515 "value" : "0x06",
1516 "mask" : null,
1517 "next_state" : "parse_tcp"
1518 },
1519 {
1520 "type" : "hexstr",
1521 "value" : "0x11",
1522 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001523 "next_state" : "parse_inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001524 },
1525 {
1526 "type" : "hexstr",
1527 "value" : "0x01",
1528 "mask" : null,
1529 "next_state" : "parse_icmp"
1530 },
1531 {
1532 "value" : "default",
1533 "mask" : null,
1534 "next_state" : null
1535 }
1536 ],
1537 "transition_key" : [
1538 {
1539 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001540 "value" : ["inner_ipv4", "protocol"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001541 }
1542 ]
1543 },
1544 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001545 "name" : "parse_inner_udp",
1546 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001547 "parser_ops" : [
1548 {
1549 "parameters" : [
1550 {
1551 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001552 "value" : "inner_udp"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001553 }
1554 ],
1555 "op" : "extract"
1556 },
1557 {
1558 "parameters" : [
1559 {
1560 "type" : "field",
1561 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1562 },
1563 {
1564 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001565 "value" : ["inner_udp", "src_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001566 }
1567 ],
1568 "op" : "set"
1569 },
1570 {
1571 "parameters" : [
1572 {
1573 "type" : "field",
1574 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1575 },
1576 {
1577 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001578 "value" : ["inner_udp", "dst_port"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001579 }
1580 ],
1581 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001582 },
1583 {
1584 "parameters" : [
1585 {
1586 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001587 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001588 },
1589 {
1590 "type" : "expression",
1591 "value" : {
1592 "type" : "expression",
1593 "value" : {
1594 "op" : "?",
1595 "left" : {
1596 "type" : "hexstr",
1597 "value" : "0x01"
1598 },
1599 "right" : {
1600 "type" : "hexstr",
1601 "value" : "0x00"
1602 },
1603 "cond" : {
1604 "type" : "expression",
1605 "value" : {
1606 "op" : "and",
1607 "left" : {
1608 "type" : "expression",
1609 "value" : {
1610 "op" : "d2b",
1611 "left" : null,
1612 "right" : {
1613 "type" : "field",
1614 "value" : ["ipv4", "$valid$"]
1615 }
1616 }
1617 },
1618 "right" : {
1619 "type" : "expression",
1620 "value" : {
1621 "op" : "==",
1622 "left" : {
1623 "type" : "expression",
1624 "value" : {
1625 "op" : "&",
1626 "left" : {
1627 "type" : "field",
1628 "value" : ["ipv4", "dscp"]
1629 },
1630 "right" : {
1631 "type" : "hexstr",
1632 "value" : "0x01"
1633 }
1634 }
1635 },
1636 "right" : {
1637 "type" : "hexstr",
1638 "value" : "0x01"
1639 }
1640 }
1641 }
1642 }
1643 }
1644 }
1645 }
1646 }
1647 ],
1648 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001649 }
1650 ],
1651 "transitions" : [
1652 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001653 "type" : "hexstr",
1654 "value" : "0x01",
1655 "mask" : null,
1656 "next_state" : "parse_intl4_shim"
1657 },
1658 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001659 "value" : "default",
1660 "mask" : null,
1661 "next_state" : null
1662 }
1663 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001664 "transition_key" : [
1665 {
1666 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001667 "value" : ["scalars", "tmp_3"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001668 }
1669 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001670 }
1671 ]
1672 }
1673 ],
1674 "parse_vsets" : [],
1675 "deparsers" : [
1676 {
1677 "name" : "deparser",
1678 "id" : 0,
1679 "source_info" : {
1680 "filename" : "include/parser.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001681 "line" : 222,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001682 "column" : 8,
1683 "source_fragment" : "FabricDeparser"
1684 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001685 "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 +02001686 }
1687 ],
1688 "meter_arrays" : [],
1689 "counter_arrays" : [
1690 {
1691 "name" : "FabricIngress.spgw_ingress.ue_counter",
1692 "id" : 0,
1693 "is_direct" : true,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001694 "binding" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001695 },
1696 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001697 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001698 "id" : 1,
1699 "is_direct" : true,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001700 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1701 },
1702 {
1703 "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
1704 "id" : 2,
1705 "is_direct" : true,
1706 "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
1707 },
1708 {
1709 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1710 "id" : 3,
1711 "is_direct" : true,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001712 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1713 },
1714 {
1715 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001716 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001717 "is_direct" : true,
1718 "binding" : "FabricIngress.filtering.fwd_classifier"
1719 },
1720 {
1721 "name" : "FabricIngress.forwarding.bridging_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001722 "id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001723 "is_direct" : true,
1724 "binding" : "FabricIngress.forwarding.bridging"
1725 },
1726 {
1727 "name" : "FabricIngress.forwarding.mpls_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001728 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001729 "is_direct" : true,
1730 "binding" : "FabricIngress.forwarding.mpls"
1731 },
1732 {
1733 "name" : "FabricIngress.forwarding.unicast_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001734 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001735 "is_direct" : true,
1736 "binding" : "FabricIngress.forwarding.unicast_v4"
1737 },
1738 {
1739 "name" : "FabricIngress.forwarding.acl_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001740 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001741 "is_direct" : true,
1742 "binding" : "FabricIngress.forwarding.acl"
1743 },
1744 {
1745 "name" : "FabricIngress.forwarding.multicast_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001746 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001747 "is_direct" : true,
1748 "binding" : "FabricIngress.forwarding.multicast_v4"
1749 },
1750 {
1751 "name" : "FabricIngress.forwarding.unicast_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001752 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001753 "is_direct" : true,
1754 "binding" : "FabricIngress.forwarding.unicast_v6"
1755 },
1756 {
1757 "name" : "FabricIngress.forwarding.multicast_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001758 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001759 "is_direct" : true,
1760 "binding" : "FabricIngress.forwarding.multicast_v6"
1761 },
1762 {
1763 "name" : "FabricIngress.next.vlan_meta_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001764 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001765 "is_direct" : true,
1766 "binding" : "FabricIngress.next.vlan_meta"
1767 },
1768 {
1769 "name" : "FabricIngress.next.simple_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001770 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001771 "is_direct" : true,
1772 "binding" : "FabricIngress.next.simple"
1773 },
1774 {
1775 "name" : "FabricIngress.next.hashed_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001776 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001777 "is_direct" : true,
1778 "binding" : "FabricIngress.next.hashed"
1779 },
1780 {
1781 "name" : "FabricIngress.next.multicast_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001782 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001783 "is_direct" : true,
1784 "binding" : "FabricIngress.next.multicast"
1785 },
1786 {
1787 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001788 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001789 "source_info" : {
1790 "filename" : "include/control/port_counter.p4",
1791 "line" : 23,
1792 "column" : 48,
1793 "source_fragment" : "egress_port_counter"
1794 },
1795 "size" : 511,
1796 "is_direct" : false
1797 },
1798 {
1799 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001800 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001801 "source_info" : {
1802 "filename" : "include/control/port_counter.p4",
1803 "line" : 24,
1804 "column" : 48,
1805 "source_fragment" : "ingress_port_counter"
1806 },
1807 "size" : 511,
1808 "is_direct" : false
1809 },
1810 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001811 "name" : "FabricEgress.process_int_source.counter_int_source",
1812 "id" : 18,
1813 "is_direct" : true,
1814 "binding" : "FabricEgress.process_int_source.tb_int_source"
1815 },
1816 {
1817 "name" : "FabricEgress.process_int_transit.counter_int_insert",
1818 "id" : 19,
1819 "is_direct" : true,
1820 "binding" : "FabricEgress.process_int_transit.tb_int_insert"
1821 },
1822 {
1823 "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
1824 "id" : 20,
1825 "is_direct" : true,
1826 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
1827 },
1828 {
1829 "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
1830 "id" : 21,
1831 "is_direct" : true,
1832 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
1833 },
1834 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001835 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001836 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001837 "is_direct" : true,
1838 "binding" : "FabricEgress.egress_next.egress_vlan"
1839 }
1840 ],
1841 "register_arrays" : [],
1842 "calculations" : [
1843 {
1844 "name" : "calc",
1845 "id" : 0,
1846 "source_info" : {
1847 "filename" : "include/checksum.p4",
1848 "line" : 28,
1849 "column" : 8,
1850 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1851 },
1852 "algo" : "csum16",
1853 "input" : [
1854 {
1855 "type" : "field",
1856 "value" : ["ipv4", "version"]
1857 },
1858 {
1859 "type" : "field",
1860 "value" : ["ipv4", "ihl"]
1861 },
1862 {
1863 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001864 "value" : ["ipv4", "dscp"]
1865 },
1866 {
1867 "type" : "field",
1868 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001869 },
1870 {
1871 "type" : "field",
1872 "value" : ["ipv4", "total_len"]
1873 },
1874 {
1875 "type" : "field",
1876 "value" : ["ipv4", "identification"]
1877 },
1878 {
1879 "type" : "field",
1880 "value" : ["ipv4", "flags"]
1881 },
1882 {
1883 "type" : "field",
1884 "value" : ["ipv4", "frag_offset"]
1885 },
1886 {
1887 "type" : "field",
1888 "value" : ["ipv4", "ttl"]
1889 },
1890 {
1891 "type" : "field",
1892 "value" : ["ipv4", "protocol"]
1893 },
1894 {
1895 "type" : "field",
1896 "value" : ["ipv4", "src_addr"]
1897 },
1898 {
1899 "type" : "field",
1900 "value" : ["ipv4", "dst_addr"]
1901 }
1902 ]
1903 },
1904 {
1905 "name" : "calc_0",
1906 "id" : 1,
1907 "source_info" : {
1908 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001909 "line" : 238,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001910 "column" : 8,
1911 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1912 },
1913 "algo" : "csum16",
1914 "input" : [
1915 {
1916 "type" : "field",
1917 "value" : ["gtpu_ipv4", "version"]
1918 },
1919 {
1920 "type" : "field",
1921 "value" : ["gtpu_ipv4", "ihl"]
1922 },
1923 {
1924 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001925 "value" : ["gtpu_ipv4", "dscp"]
1926 },
1927 {
1928 "type" : "field",
1929 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001930 },
1931 {
1932 "type" : "field",
1933 "value" : ["gtpu_ipv4", "total_len"]
1934 },
1935 {
1936 "type" : "field",
1937 "value" : ["gtpu_ipv4", "identification"]
1938 },
1939 {
1940 "type" : "field",
1941 "value" : ["gtpu_ipv4", "flags"]
1942 },
1943 {
1944 "type" : "field",
1945 "value" : ["gtpu_ipv4", "frag_offset"]
1946 },
1947 {
1948 "type" : "field",
1949 "value" : ["gtpu_ipv4", "ttl"]
1950 },
1951 {
1952 "type" : "field",
1953 "value" : ["gtpu_ipv4", "protocol"]
1954 },
1955 {
1956 "type" : "field",
1957 "value" : ["gtpu_ipv4", "src_addr"]
1958 },
1959 {
1960 "type" : "field",
1961 "value" : ["gtpu_ipv4", "dst_addr"]
1962 }
1963 ]
1964 },
1965 {
1966 "name" : "calc_1",
1967 "id" : 2,
1968 "source_info" : {
1969 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001970 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001971 "column" : 8,
1972 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1973 },
1974 "algo" : "csum16",
1975 "input" : [
1976 {
1977 "type" : "field",
1978 "value" : ["ipv4", "version"]
1979 },
1980 {
1981 "type" : "field",
1982 "value" : ["ipv4", "ihl"]
1983 },
1984 {
1985 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001986 "value" : ["ipv4", "dscp"]
1987 },
1988 {
1989 "type" : "field",
1990 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001991 },
1992 {
1993 "type" : "field",
1994 "value" : ["ipv4", "total_len"]
1995 },
1996 {
1997 "type" : "field",
1998 "value" : ["ipv4", "identification"]
1999 },
2000 {
2001 "type" : "field",
2002 "value" : ["ipv4", "flags"]
2003 },
2004 {
2005 "type" : "field",
2006 "value" : ["ipv4", "frag_offset"]
2007 },
2008 {
2009 "type" : "field",
2010 "value" : ["ipv4", "ttl"]
2011 },
2012 {
2013 "type" : "field",
2014 "value" : ["ipv4", "protocol"]
2015 },
2016 {
2017 "type" : "field",
2018 "value" : ["ipv4", "src_addr"]
2019 },
2020 {
2021 "type" : "field",
2022 "value" : ["ipv4", "dst_addr"]
2023 }
2024 ]
2025 }
2026 ],
2027 "learn_lists" : [],
2028 "actions" : [
2029 {
2030 "name" : "NoAction",
2031 "id" : 0,
2032 "runtime_data" : [],
2033 "primitives" : []
2034 },
2035 {
2036 "name" : "NoAction",
2037 "id" : 1,
2038 "runtime_data" : [],
2039 "primitives" : []
2040 },
2041 {
2042 "name" : "NoAction",
2043 "id" : 2,
2044 "runtime_data" : [],
2045 "primitives" : []
2046 },
2047 {
2048 "name" : "NoAction",
2049 "id" : 3,
2050 "runtime_data" : [],
2051 "primitives" : []
2052 },
2053 {
2054 "name" : "NoAction",
2055 "id" : 4,
2056 "runtime_data" : [],
2057 "primitives" : []
2058 },
2059 {
2060 "name" : "NoAction",
2061 "id" : 5,
2062 "runtime_data" : [],
2063 "primitives" : []
2064 },
2065 {
2066 "name" : "NoAction",
2067 "id" : 6,
2068 "runtime_data" : [],
2069 "primitives" : []
2070 },
2071 {
2072 "name" : "NoAction",
2073 "id" : 7,
2074 "runtime_data" : [],
2075 "primitives" : []
2076 },
2077 {
2078 "name" : "NoAction",
2079 "id" : 8,
2080 "runtime_data" : [],
2081 "primitives" : []
2082 },
2083 {
2084 "name" : "NoAction",
2085 "id" : 9,
2086 "runtime_data" : [],
2087 "primitives" : []
2088 },
2089 {
2090 "name" : "NoAction",
2091 "id" : 10,
2092 "runtime_data" : [],
2093 "primitives" : []
2094 },
2095 {
2096 "name" : "NoAction",
2097 "id" : 11,
2098 "runtime_data" : [],
2099 "primitives" : []
2100 },
2101 {
2102 "name" : "NoAction",
2103 "id" : 12,
2104 "runtime_data" : [],
2105 "primitives" : []
2106 },
2107 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002108 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002109 "id" : 13,
2110 "runtime_data" : [],
2111 "primitives" : []
2112 },
2113 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002114 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002115 "id" : 14,
2116 "runtime_data" : [],
2117 "primitives" : []
2118 },
2119 {
2120 "name" : "nop",
2121 "id" : 15,
2122 "runtime_data" : [],
2123 "primitives" : []
2124 },
2125 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002126 "name" : "drop_now",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002127 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002128 "runtime_data" : [],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002129 "primitives" : [
2130 {
2131 "op" : "drop",
2132 "parameters" : [],
2133 "source_info" : {
2134 "filename" : "include/control/../action.p4",
2135 "line" : 24,
2136 "column" : 4,
2137 "source_fragment" : "mark_to_drop()"
2138 }
2139 },
2140 {
2141 "op" : "exit",
2142 "parameters" : [],
2143 "source_info" : {
2144 "filename" : "include/control/../action.p4",
2145 "line" : 25,
2146 "column" : 4,
2147 "source_fragment" : "exit"
2148 }
2149 }
2150 ]
2151 },
2152 {
2153 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002154 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002155 "runtime_data" : [],
2156 "primitives" : [
2157 {
2158 "op" : "remove_header",
2159 "parameters" : [
2160 {
2161 "type" : "header",
2162 "value" : "gtpu_ipv4"
2163 }
2164 ],
2165 "source_info" : {
2166 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002167 "line" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002168 "column" : 8,
2169 "source_fragment" : "gtpu_ipv4.setInvalid()"
2170 }
2171 },
2172 {
2173 "op" : "remove_header",
2174 "parameters" : [
2175 {
2176 "type" : "header",
2177 "value" : "gtpu_udp"
2178 }
2179 ],
2180 "source_info" : {
2181 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002182 "line" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002183 "column" : 8,
2184 "source_fragment" : "gtpu_udp.setInvalid()"
2185 }
2186 },
2187 {
2188 "op" : "remove_header",
2189 "parameters" : [
2190 {
2191 "type" : "header",
2192 "value" : "gtpu"
2193 }
2194 ],
2195 "source_info" : {
2196 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002197 "line" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002198 "column" : 8,
2199 "source_fragment" : "gtpu.setInvalid()"
2200 }
2201 }
2202 ]
2203 },
2204 {
2205 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002206 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002207 "runtime_data" : [
2208 {
2209 "name" : "teid",
2210 "bitwidth" : 32
2211 },
2212 {
2213 "name" : "s1u_enb_addr",
2214 "bitwidth" : 32
2215 },
2216 {
2217 "name" : "s1u_sgw_addr",
2218 "bitwidth" : 32
2219 }
2220 ],
2221 "primitives" : [
2222 {
2223 "op" : "assign",
2224 "parameters" : [
2225 {
2226 "type" : "field",
2227 "value" : ["userMetadata.spgw", "teid"]
2228 },
2229 {
2230 "type" : "runtime_data",
2231 "value" : 0
2232 }
2233 ],
2234 "source_info" : {
2235 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002236 "line" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002237 "column" : 8,
2238 "source_fragment" : "spgw_meta.teid = teid"
2239 }
2240 },
2241 {
2242 "op" : "assign",
2243 "parameters" : [
2244 {
2245 "type" : "field",
2246 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
2247 },
2248 {
2249 "type" : "runtime_data",
2250 "value" : 1
2251 }
2252 ],
2253 "source_info" : {
2254 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002255 "line" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002256 "column" : 8,
2257 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
2258 }
2259 },
2260 {
2261 "op" : "assign",
2262 "parameters" : [
2263 {
2264 "type" : "field",
2265 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
2266 },
2267 {
2268 "type" : "runtime_data",
2269 "value" : 2
2270 }
2271 ],
2272 "source_info" : {
2273 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002274 "line" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002275 "column" : 8,
2276 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
2277 }
2278 }
2279 ]
2280 },
2281 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002282 "name" : "FabricIngress.process_set_source_sink.int_set_source",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002283 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002284 "runtime_data" : [],
2285 "primitives" : [
2286 {
2287 "op" : "assign",
2288 "parameters" : [
2289 {
2290 "type" : "field",
2291 "value" : ["userMetadata.int_meta", "source"]
2292 },
2293 {
2294 "type" : "hexstr",
2295 "value" : "0x01"
2296 }
2297 ],
2298 "source_info" : {
2299 "filename" : "include/int_source.p4",
2300 "line" : 94,
2301 "column" : 8,
2302 "source_fragment" : "fabric_metadata.int_meta.source = 1"
2303 }
2304 }
2305 ]
2306 },
2307 {
2308 "name" : "FabricIngress.process_set_source_sink.int_set_sink",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002309 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002310 "runtime_data" : [],
2311 "primitives" : [
2312 {
2313 "op" : "assign",
2314 "parameters" : [
2315 {
2316 "type" : "field",
2317 "value" : ["userMetadata.int_meta", "sink"]
2318 },
2319 {
2320 "type" : "hexstr",
2321 "value" : "0x01"
2322 }
2323 ],
2324 "source_info" : {
2325 "filename" : "include/int_source.p4",
2326 "line" : 98,
2327 "column" : 8,
2328 "source_fragment" : "fabric_metadata.int_meta.sink = 1"
2329 }
2330 }
2331 ]
2332 },
2333 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002334 "name" : "FabricIngress.filtering.drop",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002335 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002336 "runtime_data" : [],
2337 "primitives" : [
2338 {
2339 "op" : "drop",
2340 "parameters" : [],
2341 "source_info" : {
2342 "filename" : "include/control/filtering.p4",
2343 "line" : 37,
2344 "column" : 8,
2345 "source_fragment" : "mark_to_drop()"
2346 }
2347 }
2348 ]
2349 },
2350 {
2351 "name" : "FabricIngress.filtering.set_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002352 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002353 "runtime_data" : [
2354 {
2355 "name" : "new_vlan_id",
2356 "bitwidth" : 12
2357 }
2358 ],
2359 "primitives" : [
2360 {
2361 "op" : "assign",
2362 "parameters" : [
2363 {
2364 "type" : "field",
2365 "value" : ["vlan_tag", "vlan_id"]
2366 },
2367 {
2368 "type" : "runtime_data",
2369 "value" : 0
2370 }
2371 ],
2372 "source_info" : {
2373 "filename" : "include/control/filtering.p4",
2374 "line" : 42,
2375 "column" : 8,
2376 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2377 }
2378 }
2379 ]
2380 },
2381 {
2382 "name" : "FabricIngress.filtering.push_internal_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002383 "id" : 23,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002384 "runtime_data" : [
2385 {
2386 "name" : "new_vlan_id",
2387 "bitwidth" : 12
2388 }
2389 ],
2390 "primitives" : [
2391 {
2392 "op" : "add_header",
2393 "parameters" : [
2394 {
2395 "type" : "header",
2396 "value" : "vlan_tag"
2397 }
2398 ],
2399 "source_info" : {
2400 "filename" : "include/control/filtering.p4",
2401 "line" : 49,
2402 "column" : 8,
2403 "source_fragment" : "hdr.vlan_tag.setValid()"
2404 }
2405 },
2406 {
2407 "op" : "assign",
2408 "parameters" : [
2409 {
2410 "type" : "field",
2411 "value" : ["vlan_tag", "cfi"]
2412 },
2413 {
2414 "type" : "hexstr",
2415 "value" : "0x00"
2416 }
2417 ],
2418 "source_info" : {
2419 "filename" : "include/control/filtering.p4",
2420 "line" : 50,
2421 "column" : 8,
2422 "source_fragment" : "hdr.vlan_tag.cfi = 0"
2423 }
2424 },
2425 {
2426 "op" : "assign",
2427 "parameters" : [
2428 {
2429 "type" : "field",
2430 "value" : ["vlan_tag", "pri"]
2431 },
2432 {
2433 "type" : "hexstr",
2434 "value" : "0x00"
2435 }
2436 ],
2437 "source_info" : {
2438 "filename" : "include/control/filtering.p4",
2439 "line" : 51,
2440 "column" : 8,
2441 "source_fragment" : "hdr.vlan_tag.pri = 0"
2442 }
2443 },
2444 {
2445 "op" : "assign",
2446 "parameters" : [
2447 {
2448 "type" : "field",
2449 "value" : ["vlan_tag", "ether_type"]
2450 },
2451 {
2452 "type" : "field",
2453 "value" : ["ethernet", "ether_type"]
2454 }
2455 ],
2456 "source_info" : {
2457 "filename" : "include/control/filtering.p4",
2458 "line" : 52,
2459 "column" : 8,
2460 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
2461 }
2462 },
2463 {
2464 "op" : "assign",
2465 "parameters" : [
2466 {
2467 "type" : "field",
2468 "value" : ["ethernet", "ether_type"]
2469 },
2470 {
2471 "type" : "hexstr",
2472 "value" : "0x8100"
2473 }
2474 ],
2475 "source_info" : {
2476 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002477 "line" : 89,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002478 "column" : 31,
2479 "source_fragment" : "0x8100; ..."
2480 }
2481 },
2482 {
2483 "op" : "assign",
2484 "parameters" : [
2485 {
2486 "type" : "field",
2487 "value" : ["vlan_tag", "vlan_id"]
2488 },
2489 {
2490 "type" : "runtime_data",
2491 "value" : 0
2492 }
2493 ],
2494 "source_info" : {
2495 "filename" : "include/control/filtering.p4",
2496 "line" : 54,
2497 "column" : 8,
2498 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2499 }
2500 },
2501 {
2502 "op" : "assign",
2503 "parameters" : [
2504 {
2505 "type" : "field",
2506 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2507 },
2508 {
2509 "type" : "expression",
2510 "value" : {
2511 "type" : "expression",
2512 "value" : {
2513 "op" : "b2d",
2514 "left" : null,
2515 "right" : {
2516 "type" : "bool",
2517 "value" : true
2518 }
2519 }
2520 }
2521 }
2522 ],
2523 "source_info" : {
2524 "filename" : "include/control/filtering.p4",
2525 "line" : 57,
2526 "column" : 8,
2527 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2528 }
2529 }
2530 ]
2531 },
2532 {
2533 "name" : "FabricIngress.filtering.set_forwarding_type",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002534 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002535 "runtime_data" : [
2536 {
2537 "name" : "fwd_type",
2538 "bitwidth" : 3
2539 }
2540 ],
2541 "primitives" : [
2542 {
2543 "op" : "assign",
2544 "parameters" : [
2545 {
2546 "type" : "field",
2547 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2548 },
2549 {
2550 "type" : "runtime_data",
2551 "value" : 0
2552 }
2553 ],
2554 "source_info" : {
2555 "filename" : "include/control/filtering.p4",
2556 "line" : 94,
2557 "column" : 8,
2558 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2559 }
2560 }
2561 ]
2562 },
2563 {
2564 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002565 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002566 "runtime_data" : [
2567 {
2568 "name" : "next_id",
2569 "bitwidth" : 32
2570 }
2571 ],
2572 "primitives" : [
2573 {
2574 "op" : "assign",
2575 "parameters" : [
2576 {
2577 "type" : "field",
2578 "value" : ["scalars", "fabric_metadata_t.next_id"]
2579 },
2580 {
2581 "type" : "runtime_data",
2582 "value" : 0
2583 }
2584 ],
2585 "source_info" : {
2586 "filename" : "include/control/forwarding.p4",
2587 "line" : 37,
2588 "column" : 8,
2589 "source_fragment" : "fabric_metadata.next_id = next_id"
2590 }
2591 }
2592 ]
2593 },
2594 {
2595 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002596 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002597 "runtime_data" : [
2598 {
2599 "name" : "next_id",
2600 "bitwidth" : 32
2601 }
2602 ],
2603 "primitives" : [
2604 {
2605 "op" : "remove_header",
2606 "parameters" : [
2607 {
2608 "type" : "header",
2609 "value" : "mpls"
2610 }
2611 ],
2612 "source_info" : {
2613 "filename" : "include/control/forwarding.p4",
2614 "line" : 60,
2615 "column" : 8,
2616 "source_fragment" : "hdr.mpls.setInvalid()"
2617 }
2618 },
2619 {
2620 "op" : "assign",
2621 "parameters" : [
2622 {
2623 "type" : "field",
2624 "value" : ["scalars", "fabric_metadata_t.next_id"]
2625 },
2626 {
2627 "type" : "runtime_data",
2628 "value" : 0
2629 }
2630 ],
2631 "source_info" : {
2632 "filename" : "include/control/forwarding.p4",
2633 "line" : 61,
2634 "column" : 8,
2635 "source_fragment" : "fabric_metadata.next_id = next_id"
2636 }
2637 }
2638 ]
2639 },
2640 {
2641 "name" : "FabricIngress.forwarding.set_next_id_unicast_v4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002642 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002643 "runtime_data" : [
2644 {
2645 "name" : "next_id",
2646 "bitwidth" : 32
2647 }
2648 ],
2649 "primitives" : [
2650 {
2651 "op" : "assign",
2652 "parameters" : [
2653 {
2654 "type" : "field",
2655 "value" : ["scalars", "fabric_metadata_t.next_id"]
2656 },
2657 {
2658 "type" : "runtime_data",
2659 "value" : 0
2660 }
2661 ],
2662 "source_info" : {
2663 "filename" : "include/control/forwarding.p4",
2664 "line" : 83,
2665 "column" : 8,
2666 "source_fragment" : "fabric_metadata.next_id = next_id"
2667 }
2668 }
2669 ]
2670 },
2671 {
2672 "name" : "FabricIngress.forwarding.set_next_id_acl",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002673 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002674 "runtime_data" : [
2675 {
2676 "name" : "next_id",
2677 "bitwidth" : 32
2678 }
2679 ],
2680 "primitives" : [
2681 {
2682 "op" : "assign",
2683 "parameters" : [
2684 {
2685 "type" : "field",
2686 "value" : ["scalars", "fabric_metadata_t.next_id"]
2687 },
2688 {
2689 "type" : "runtime_data",
2690 "value" : 0
2691 }
2692 ],
2693 "source_info" : {
2694 "filename" : "include/control/forwarding.p4",
2695 "line" : 105,
2696 "column" : 8,
2697 "source_fragment" : "fabric_metadata.next_id = next_id"
2698 }
2699 }
2700 ]
2701 },
2702 {
2703 "name" : "FabricIngress.forwarding.punt_to_cpu",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002704 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002705 "runtime_data" : [],
2706 "primitives" : [
2707 {
2708 "op" : "assign",
2709 "parameters" : [
2710 {
2711 "type" : "field",
2712 "value" : ["standard_metadata", "egress_spec"]
2713 },
2714 {
2715 "type" : "hexstr",
2716 "value" : "0x00ff"
2717 }
2718 ],
2719 "source_info" : {
2720 "filename" : "include/control/forwarding.p4",
2721 "line" : 111,
2722 "column" : 8,
2723 "source_fragment" : "standard_metadata.egress_spec = 255"
2724 }
2725 },
2726 {
2727 "op" : "exit",
2728 "parameters" : [],
2729 "source_info" : {
2730 "filename" : "include/control/forwarding.p4",
2731 "line" : 113,
2732 "column" : 8,
2733 "source_fragment" : "exit"
2734 }
2735 }
2736 ]
2737 },
2738 {
2739 "name" : "FabricIngress.forwarding.clone_to_cpu",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002740 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002741 "runtime_data" : [],
2742 "primitives" : [
2743 {
2744 "op" : "assign",
2745 "parameters" : [
2746 {
2747 "type" : "field",
2748 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2749 },
2750 {
2751 "type" : "expression",
2752 "value" : {
2753 "type" : "expression",
2754 "value" : {
2755 "op" : "b2d",
2756 "left" : null,
2757 "right" : {
2758 "type" : "bool",
2759 "value" : true
2760 }
2761 }
2762 }
2763 }
2764 ],
2765 "source_info" : {
2766 "filename" : "include/control/forwarding.p4",
2767 "line" : 118,
2768 "column" : 8,
2769 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2770 }
2771 }
2772 ]
2773 },
2774 {
2775 "name" : "FabricIngress.forwarding.drop",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002776 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002777 "runtime_data" : [],
2778 "primitives" : [
2779 {
2780 "op" : "drop",
2781 "parameters" : [],
2782 "source_info" : {
2783 "filename" : "include/control/forwarding.p4",
2784 "line" : 123,
2785 "column" : 8,
2786 "source_fragment" : "mark_to_drop()"
2787 }
2788 }
2789 ]
2790 },
2791 {
2792 "name" : "FabricIngress.forwarding.set_next_id_multicast_v4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002793 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002794 "runtime_data" : [
2795 {
2796 "name" : "next_id",
2797 "bitwidth" : 32
2798 }
2799 ],
2800 "primitives" : [
2801 {
2802 "op" : "assign",
2803 "parameters" : [
2804 {
2805 "type" : "field",
2806 "value" : ["scalars", "fabric_metadata_t.next_id"]
2807 },
2808 {
2809 "type" : "runtime_data",
2810 "value" : 0
2811 }
2812 ],
2813 "source_info" : {
2814 "filename" : "include/control/forwarding.p4",
2815 "line" : 164,
2816 "column" : 8,
2817 "source_fragment" : "fabric_metadata.next_id = next_id"
2818 }
2819 }
2820 ]
2821 },
2822 {
2823 "name" : "FabricIngress.forwarding.set_next_id_unicast_v6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002824 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002825 "runtime_data" : [
2826 {
2827 "name" : "next_id",
2828 "bitwidth" : 32
2829 }
2830 ],
2831 "primitives" : [
2832 {
2833 "op" : "assign",
2834 "parameters" : [
2835 {
2836 "type" : "field",
2837 "value" : ["scalars", "fabric_metadata_t.next_id"]
2838 },
2839 {
2840 "type" : "runtime_data",
2841 "value" : 0
2842 }
2843 ],
2844 "source_info" : {
2845 "filename" : "include/control/forwarding.p4",
2846 "line" : 189,
2847 "column" : 8,
2848 "source_fragment" : "fabric_metadata.next_id = next_id"
2849 }
2850 }
2851 ]
2852 },
2853 {
2854 "name" : "FabricIngress.forwarding.set_next_id_multicast_v6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002855 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002856 "runtime_data" : [
2857 {
2858 "name" : "next_id",
2859 "bitwidth" : 32
2860 }
2861 ],
2862 "primitives" : [
2863 {
2864 "op" : "assign",
2865 "parameters" : [
2866 {
2867 "type" : "field",
2868 "value" : ["scalars", "fabric_metadata_t.next_id"]
2869 },
2870 {
2871 "type" : "runtime_data",
2872 "value" : 0
2873 }
2874 ],
2875 "source_info" : {
2876 "filename" : "include/control/forwarding.p4",
2877 "line" : 212,
2878 "column" : 8,
2879 "source_fragment" : "fabric_metadata.next_id = next_id"
2880 }
2881 }
2882 ]
2883 },
2884 {
2885 "name" : "FabricIngress.next.set_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002886 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002887 "runtime_data" : [
2888 {
2889 "name" : "new_vlan_id",
2890 "bitwidth" : 12
2891 }
2892 ],
2893 "primitives" : [
2894 {
2895 "op" : "assign",
2896 "parameters" : [
2897 {
2898 "type" : "field",
2899 "value" : ["vlan_tag", "vlan_id"]
2900 },
2901 {
2902 "type" : "runtime_data",
2903 "value" : 0
2904 }
2905 ],
2906 "source_info" : {
2907 "filename" : "include/control/next.p4",
2908 "line" : 61,
2909 "column" : 8,
2910 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2911 }
2912 }
2913 ]
2914 },
2915 {
2916 "name" : "FabricIngress.next.output_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002917 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002918 "runtime_data" : [
2919 {
2920 "name" : "port_num",
2921 "bitwidth" : 9
2922 }
2923 ],
2924 "primitives" : [
2925 {
2926 "op" : "assign",
2927 "parameters" : [
2928 {
2929 "type" : "field",
2930 "value" : ["standard_metadata", "egress_spec"]
2931 },
2932 {
2933 "type" : "runtime_data",
2934 "value" : 0
2935 }
2936 ],
2937 "source_info" : {
2938 "filename" : "include/control/next.p4",
2939 "line" : 85,
2940 "column" : 8,
2941 "source_fragment" : "standard_metadata.egress_spec = port_num"
2942 }
2943 }
2944 ]
2945 },
2946 {
2947 "name" : "FabricIngress.next.set_vlan_output",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002948 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002949 "runtime_data" : [
2950 {
2951 "name" : "new_vlan_id",
2952 "bitwidth" : 12
2953 },
2954 {
2955 "name" : "port_num",
2956 "bitwidth" : 9
2957 }
2958 ],
2959 "primitives" : [
2960 {
2961 "op" : "assign",
2962 "parameters" : [
2963 {
2964 "type" : "field",
2965 "value" : ["vlan_tag", "vlan_id"]
2966 },
2967 {
2968 "type" : "runtime_data",
2969 "value" : 0
2970 }
2971 ],
2972 "source_info" : {
2973 "filename" : "include/control/next.p4",
2974 "line" : 90,
2975 "column" : 8,
2976 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2977 }
2978 },
2979 {
2980 "op" : "assign",
2981 "parameters" : [
2982 {
2983 "type" : "field",
2984 "value" : ["standard_metadata", "egress_spec"]
2985 },
2986 {
2987 "type" : "runtime_data",
2988 "value" : 1
2989 }
2990 ],
2991 "source_info" : {
2992 "filename" : "include/control/next.p4",
2993 "line" : 85,
2994 "column" : 8,
2995 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2996 }
2997 }
2998 ]
2999 },
3000 {
3001 "name" : "FabricIngress.next.l3_routing_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003002 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003003 "runtime_data" : [
3004 {
3005 "name" : "port_num",
3006 "bitwidth" : 9
3007 },
3008 {
3009 "name" : "smac",
3010 "bitwidth" : 48
3011 },
3012 {
3013 "name" : "dmac",
3014 "bitwidth" : 48
3015 }
3016 ],
3017 "primitives" : [
3018 {
3019 "op" : "assign",
3020 "parameters" : [
3021 {
3022 "type" : "field",
3023 "value" : ["ethernet", "src_addr"]
3024 },
3025 {
3026 "type" : "runtime_data",
3027 "value" : 1
3028 }
3029 ],
3030 "source_info" : {
3031 "filename" : "include/control/next.p4",
3032 "line" : 37,
3033 "column" : 8,
3034 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3035 }
3036 },
3037 {
3038 "op" : "assign",
3039 "parameters" : [
3040 {
3041 "type" : "field",
3042 "value" : ["ethernet", "dst_addr"]
3043 },
3044 {
3045 "type" : "runtime_data",
3046 "value" : 2
3047 }
3048 ],
3049 "source_info" : {
3050 "filename" : "include/control/next.p4",
3051 "line" : 41,
3052 "column" : 8,
3053 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3054 }
3055 },
3056 {
3057 "op" : "assign",
3058 "parameters" : [
3059 {
3060 "type" : "field",
3061 "value" : ["standard_metadata", "egress_spec"]
3062 },
3063 {
3064 "type" : "runtime_data",
3065 "value" : 0
3066 }
3067 ],
3068 "source_info" : {
3069 "filename" : "include/control/next.p4",
3070 "line" : 85,
3071 "column" : 8,
3072 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3073 }
3074 }
3075 ]
3076 },
3077 {
3078 "name" : "FabricIngress.next.mpls_routing_v4_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003079 "id" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003080 "runtime_data" : [
3081 {
3082 "name" : "port_num",
3083 "bitwidth" : 9
3084 },
3085 {
3086 "name" : "smac",
3087 "bitwidth" : 48
3088 },
3089 {
3090 "name" : "dmac",
3091 "bitwidth" : 48
3092 },
3093 {
3094 "name" : "label",
3095 "bitwidth" : 20
3096 }
3097 ],
3098 "primitives" : [
3099 {
3100 "op" : "assign",
3101 "parameters" : [
3102 {
3103 "type" : "field",
3104 "value" : ["ethernet", "src_addr"]
3105 },
3106 {
3107 "type" : "runtime_data",
3108 "value" : 1
3109 }
3110 ],
3111 "source_info" : {
3112 "filename" : "include/control/next.p4",
3113 "line" : 37,
3114 "column" : 8,
3115 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3116 }
3117 },
3118 {
3119 "op" : "assign",
3120 "parameters" : [
3121 {
3122 "type" : "field",
3123 "value" : ["ethernet", "dst_addr"]
3124 },
3125 {
3126 "type" : "runtime_data",
3127 "value" : 2
3128 }
3129 ],
3130 "source_info" : {
3131 "filename" : "include/control/next.p4",
3132 "line" : 41,
3133 "column" : 8,
3134 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3135 }
3136 },
3137 {
3138 "op" : "assign",
3139 "parameters" : [
3140 {
3141 "type" : "field",
3142 "value" : ["standard_metadata", "egress_spec"]
3143 },
3144 {
3145 "type" : "runtime_data",
3146 "value" : 0
3147 }
3148 ],
3149 "source_info" : {
3150 "filename" : "include/control/next.p4",
3151 "line" : 85,
3152 "column" : 8,
3153 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3154 }
3155 },
3156 {
3157 "op" : "add_header",
3158 "parameters" : [
3159 {
3160 "type" : "header",
3161 "value" : "mpls"
3162 }
3163 ],
3164 "source_info" : {
3165 "filename" : "include/control/next.p4",
3166 "line" : 46,
3167 "column" : 8,
3168 "source_fragment" : "hdr.mpls.setValid()"
3169 }
3170 },
3171 {
3172 "op" : "assign",
3173 "parameters" : [
3174 {
3175 "type" : "field",
3176 "value" : ["vlan_tag", "ether_type"]
3177 },
3178 {
3179 "type" : "hexstr",
3180 "value" : "0x8847"
3181 }
3182 ],
3183 "source_info" : {
3184 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003185 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003186 "column" : 31,
3187 "source_fragment" : "0x8847; ..."
3188 }
3189 },
3190 {
3191 "op" : "assign",
3192 "parameters" : [
3193 {
3194 "type" : "field",
3195 "value" : ["mpls", "label"]
3196 },
3197 {
3198 "type" : "runtime_data",
3199 "value" : 3
3200 }
3201 ],
3202 "source_info" : {
3203 "filename" : "include/control/next.p4",
3204 "line" : 48,
3205 "column" : 8,
3206 "source_fragment" : "hdr.mpls.label = label; ..."
3207 }
3208 },
3209 {
3210 "op" : "assign",
3211 "parameters" : [
3212 {
3213 "type" : "field",
3214 "value" : ["mpls", "tc"]
3215 },
3216 {
3217 "type" : "hexstr",
3218 "value" : "0x00"
3219 }
3220 ],
3221 "source_info" : {
3222 "filename" : "include/control/next.p4",
3223 "line" : 49,
3224 "column" : 8,
3225 "source_fragment" : "hdr.mpls.tc = tc; ..."
3226 }
3227 },
3228 {
3229 "op" : "assign",
3230 "parameters" : [
3231 {
3232 "type" : "field",
3233 "value" : ["mpls", "bos"]
3234 },
3235 {
3236 "type" : "hexstr",
3237 "value" : "0x01"
3238 }
3239 ],
3240 "source_info" : {
3241 "filename" : "include/control/next.p4",
3242 "line" : 50,
3243 "column" : 8,
3244 "source_fragment" : "hdr.mpls.bos = 1w1"
3245 }
3246 },
3247 {
3248 "op" : "assign",
3249 "parameters" : [
3250 {
3251 "type" : "field",
3252 "value" : ["mpls", "ttl"]
3253 },
3254 {
3255 "type" : "hexstr",
3256 "value" : "0x40"
3257 }
3258 ],
3259 "source_info" : {
3260 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003261 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003262 "column" : 32,
3263 "source_fragment" : "64; ..."
3264 }
3265 }
3266 ]
3267 },
3268 {
3269 "name" : "FabricIngress.next.mpls_routing_v6_simple",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003270 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003271 "runtime_data" : [
3272 {
3273 "name" : "port_num",
3274 "bitwidth" : 9
3275 },
3276 {
3277 "name" : "smac",
3278 "bitwidth" : 48
3279 },
3280 {
3281 "name" : "dmac",
3282 "bitwidth" : 48
3283 },
3284 {
3285 "name" : "label",
3286 "bitwidth" : 20
3287 }
3288 ],
3289 "primitives" : [
3290 {
3291 "op" : "assign",
3292 "parameters" : [
3293 {
3294 "type" : "field",
3295 "value" : ["ethernet", "src_addr"]
3296 },
3297 {
3298 "type" : "runtime_data",
3299 "value" : 1
3300 }
3301 ],
3302 "source_info" : {
3303 "filename" : "include/control/next.p4",
3304 "line" : 37,
3305 "column" : 8,
3306 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3307 }
3308 },
3309 {
3310 "op" : "assign",
3311 "parameters" : [
3312 {
3313 "type" : "field",
3314 "value" : ["ethernet", "dst_addr"]
3315 },
3316 {
3317 "type" : "runtime_data",
3318 "value" : 2
3319 }
3320 ],
3321 "source_info" : {
3322 "filename" : "include/control/next.p4",
3323 "line" : 41,
3324 "column" : 8,
3325 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3326 }
3327 },
3328 {
3329 "op" : "assign",
3330 "parameters" : [
3331 {
3332 "type" : "field",
3333 "value" : ["standard_metadata", "egress_spec"]
3334 },
3335 {
3336 "type" : "runtime_data",
3337 "value" : 0
3338 }
3339 ],
3340 "source_info" : {
3341 "filename" : "include/control/next.p4",
3342 "line" : 85,
3343 "column" : 8,
3344 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3345 }
3346 },
3347 {
3348 "op" : "add_header",
3349 "parameters" : [
3350 {
3351 "type" : "header",
3352 "value" : "mpls"
3353 }
3354 ],
3355 "source_info" : {
3356 "filename" : "include/control/next.p4",
3357 "line" : 46,
3358 "column" : 8,
3359 "source_fragment" : "hdr.mpls.setValid()"
3360 }
3361 },
3362 {
3363 "op" : "assign",
3364 "parameters" : [
3365 {
3366 "type" : "field",
3367 "value" : ["vlan_tag", "ether_type"]
3368 },
3369 {
3370 "type" : "hexstr",
3371 "value" : "0x8847"
3372 }
3373 ],
3374 "source_info" : {
3375 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003376 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003377 "column" : 31,
3378 "source_fragment" : "0x8847; ..."
3379 }
3380 },
3381 {
3382 "op" : "assign",
3383 "parameters" : [
3384 {
3385 "type" : "field",
3386 "value" : ["mpls", "label"]
3387 },
3388 {
3389 "type" : "runtime_data",
3390 "value" : 3
3391 }
3392 ],
3393 "source_info" : {
3394 "filename" : "include/control/next.p4",
3395 "line" : 48,
3396 "column" : 8,
3397 "source_fragment" : "hdr.mpls.label = label; ..."
3398 }
3399 },
3400 {
3401 "op" : "assign",
3402 "parameters" : [
3403 {
3404 "type" : "field",
3405 "value" : ["mpls", "tc"]
3406 },
3407 {
3408 "type" : "hexstr",
3409 "value" : "0x00"
3410 }
3411 ],
3412 "source_info" : {
3413 "filename" : "include/control/next.p4",
3414 "line" : 49,
3415 "column" : 8,
3416 "source_fragment" : "hdr.mpls.tc = tc; ..."
3417 }
3418 },
3419 {
3420 "op" : "assign",
3421 "parameters" : [
3422 {
3423 "type" : "field",
3424 "value" : ["mpls", "bos"]
3425 },
3426 {
3427 "type" : "hexstr",
3428 "value" : "0x01"
3429 }
3430 ],
3431 "source_info" : {
3432 "filename" : "include/control/next.p4",
3433 "line" : 50,
3434 "column" : 8,
3435 "source_fragment" : "hdr.mpls.bos = 1w1"
3436 }
3437 },
3438 {
3439 "op" : "assign",
3440 "parameters" : [
3441 {
3442 "type" : "field",
3443 "value" : ["mpls", "ttl"]
3444 },
3445 {
3446 "type" : "hexstr",
3447 "value" : "0x40"
3448 }
3449 ],
3450 "source_info" : {
3451 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003452 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003453 "column" : 32,
3454 "source_fragment" : "64; ..."
3455 }
3456 }
3457 ]
3458 },
3459 {
3460 "name" : "FabricIngress.next.l3_routing_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003461 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003462 "runtime_data" : [
3463 {
3464 "name" : "port_num",
3465 "bitwidth" : 9
3466 },
3467 {
3468 "name" : "smac",
3469 "bitwidth" : 48
3470 },
3471 {
3472 "name" : "dmac",
3473 "bitwidth" : 48
3474 },
3475 {
3476 "name" : "new_vlan_id",
3477 "bitwidth" : 12
3478 }
3479 ],
3480 "primitives" : [
3481 {
3482 "op" : "assign",
3483 "parameters" : [
3484 {
3485 "type" : "field",
3486 "value" : ["ethernet", "src_addr"]
3487 },
3488 {
3489 "type" : "runtime_data",
3490 "value" : 1
3491 }
3492 ],
3493 "source_info" : {
3494 "filename" : "include/control/next.p4",
3495 "line" : 37,
3496 "column" : 8,
3497 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3498 }
3499 },
3500 {
3501 "op" : "assign",
3502 "parameters" : [
3503 {
3504 "type" : "field",
3505 "value" : ["ethernet", "dst_addr"]
3506 },
3507 {
3508 "type" : "runtime_data",
3509 "value" : 2
3510 }
3511 ],
3512 "source_info" : {
3513 "filename" : "include/control/next.p4",
3514 "line" : 41,
3515 "column" : 8,
3516 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3517 }
3518 },
3519 {
3520 "op" : "assign",
3521 "parameters" : [
3522 {
3523 "type" : "field",
3524 "value" : ["vlan_tag", "vlan_id"]
3525 },
3526 {
3527 "type" : "runtime_data",
3528 "value" : 3
3529 }
3530 ],
3531 "source_info" : {
3532 "filename" : "include/control/next.p4",
3533 "line" : 90,
3534 "column" : 8,
3535 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3536 }
3537 },
3538 {
3539 "op" : "assign",
3540 "parameters" : [
3541 {
3542 "type" : "field",
3543 "value" : ["standard_metadata", "egress_spec"]
3544 },
3545 {
3546 "type" : "runtime_data",
3547 "value" : 0
3548 }
3549 ],
3550 "source_info" : {
3551 "filename" : "include/control/next.p4",
3552 "line" : 85,
3553 "column" : 8,
3554 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3555 }
3556 }
3557 ]
3558 },
3559 {
3560 "name" : "FabricIngress.next.l3_routing_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003561 "id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003562 "runtime_data" : [
3563 {
3564 "name" : "port_num",
3565 "bitwidth" : 9
3566 },
3567 {
3568 "name" : "smac",
3569 "bitwidth" : 48
3570 },
3571 {
3572 "name" : "dmac",
3573 "bitwidth" : 48
3574 }
3575 ],
3576 "primitives" : [
3577 {
3578 "op" : "assign",
3579 "parameters" : [
3580 {
3581 "type" : "field",
3582 "value" : ["ethernet", "src_addr"]
3583 },
3584 {
3585 "type" : "runtime_data",
3586 "value" : 1
3587 }
3588 ],
3589 "source_info" : {
3590 "filename" : "include/control/next.p4",
3591 "line" : 37,
3592 "column" : 8,
3593 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3594 }
3595 },
3596 {
3597 "op" : "assign",
3598 "parameters" : [
3599 {
3600 "type" : "field",
3601 "value" : ["ethernet", "dst_addr"]
3602 },
3603 {
3604 "type" : "runtime_data",
3605 "value" : 2
3606 }
3607 ],
3608 "source_info" : {
3609 "filename" : "include/control/next.p4",
3610 "line" : 41,
3611 "column" : 8,
3612 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3613 }
3614 },
3615 {
3616 "op" : "assign",
3617 "parameters" : [
3618 {
3619 "type" : "field",
3620 "value" : ["standard_metadata", "egress_spec"]
3621 },
3622 {
3623 "type" : "runtime_data",
3624 "value" : 0
3625 }
3626 ],
3627 "source_info" : {
3628 "filename" : "include/control/next.p4",
3629 "line" : 149,
3630 "column" : 8,
3631 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3632 }
3633 }
3634 ]
3635 },
3636 {
3637 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003638 "id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003639 "runtime_data" : [
3640 {
3641 "name" : "port_num",
3642 "bitwidth" : 9
3643 },
3644 {
3645 "name" : "smac",
3646 "bitwidth" : 48
3647 },
3648 {
3649 "name" : "dmac",
3650 "bitwidth" : 48
3651 },
3652 {
3653 "name" : "label",
3654 "bitwidth" : 20
3655 }
3656 ],
3657 "primitives" : [
3658 {
3659 "op" : "assign",
3660 "parameters" : [
3661 {
3662 "type" : "field",
3663 "value" : ["ethernet", "src_addr"]
3664 },
3665 {
3666 "type" : "runtime_data",
3667 "value" : 1
3668 }
3669 ],
3670 "source_info" : {
3671 "filename" : "include/control/next.p4",
3672 "line" : 37,
3673 "column" : 8,
3674 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3675 }
3676 },
3677 {
3678 "op" : "assign",
3679 "parameters" : [
3680 {
3681 "type" : "field",
3682 "value" : ["ethernet", "dst_addr"]
3683 },
3684 {
3685 "type" : "runtime_data",
3686 "value" : 2
3687 }
3688 ],
3689 "source_info" : {
3690 "filename" : "include/control/next.p4",
3691 "line" : 41,
3692 "column" : 8,
3693 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3694 }
3695 },
3696 {
3697 "op" : "assign",
3698 "parameters" : [
3699 {
3700 "type" : "field",
3701 "value" : ["standard_metadata", "egress_spec"]
3702 },
3703 {
3704 "type" : "runtime_data",
3705 "value" : 0
3706 }
3707 ],
3708 "source_info" : {
3709 "filename" : "include/control/next.p4",
3710 "line" : 149,
3711 "column" : 8,
3712 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3713 }
3714 },
3715 {
3716 "op" : "add_header",
3717 "parameters" : [
3718 {
3719 "type" : "header",
3720 "value" : "mpls"
3721 }
3722 ],
3723 "source_info" : {
3724 "filename" : "include/control/next.p4",
3725 "line" : 46,
3726 "column" : 8,
3727 "source_fragment" : "hdr.mpls.setValid()"
3728 }
3729 },
3730 {
3731 "op" : "assign",
3732 "parameters" : [
3733 {
3734 "type" : "field",
3735 "value" : ["vlan_tag", "ether_type"]
3736 },
3737 {
3738 "type" : "hexstr",
3739 "value" : "0x8847"
3740 }
3741 ],
3742 "source_info" : {
3743 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003744 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003745 "column" : 31,
3746 "source_fragment" : "0x8847; ..."
3747 }
3748 },
3749 {
3750 "op" : "assign",
3751 "parameters" : [
3752 {
3753 "type" : "field",
3754 "value" : ["mpls", "label"]
3755 },
3756 {
3757 "type" : "runtime_data",
3758 "value" : 3
3759 }
3760 ],
3761 "source_info" : {
3762 "filename" : "include/control/next.p4",
3763 "line" : 48,
3764 "column" : 8,
3765 "source_fragment" : "hdr.mpls.label = label; ..."
3766 }
3767 },
3768 {
3769 "op" : "assign",
3770 "parameters" : [
3771 {
3772 "type" : "field",
3773 "value" : ["mpls", "tc"]
3774 },
3775 {
3776 "type" : "hexstr",
3777 "value" : "0x00"
3778 }
3779 ],
3780 "source_info" : {
3781 "filename" : "include/control/next.p4",
3782 "line" : 49,
3783 "column" : 8,
3784 "source_fragment" : "hdr.mpls.tc = tc; ..."
3785 }
3786 },
3787 {
3788 "op" : "assign",
3789 "parameters" : [
3790 {
3791 "type" : "field",
3792 "value" : ["mpls", "bos"]
3793 },
3794 {
3795 "type" : "hexstr",
3796 "value" : "0x01"
3797 }
3798 ],
3799 "source_info" : {
3800 "filename" : "include/control/next.p4",
3801 "line" : 50,
3802 "column" : 8,
3803 "source_fragment" : "hdr.mpls.bos = 1w1"
3804 }
3805 },
3806 {
3807 "op" : "assign",
3808 "parameters" : [
3809 {
3810 "type" : "field",
3811 "value" : ["mpls", "ttl"]
3812 },
3813 {
3814 "type" : "hexstr",
3815 "value" : "0x40"
3816 }
3817 ],
3818 "source_info" : {
3819 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003820 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003821 "column" : 32,
3822 "source_fragment" : "64; ..."
3823 }
3824 }
3825 ]
3826 },
3827 {
3828 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003829 "id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003830 "runtime_data" : [
3831 {
3832 "name" : "port_num",
3833 "bitwidth" : 9
3834 },
3835 {
3836 "name" : "smac",
3837 "bitwidth" : 48
3838 },
3839 {
3840 "name" : "dmac",
3841 "bitwidth" : 48
3842 },
3843 {
3844 "name" : "label",
3845 "bitwidth" : 20
3846 }
3847 ],
3848 "primitives" : [
3849 {
3850 "op" : "assign",
3851 "parameters" : [
3852 {
3853 "type" : "field",
3854 "value" : ["ethernet", "src_addr"]
3855 },
3856 {
3857 "type" : "runtime_data",
3858 "value" : 1
3859 }
3860 ],
3861 "source_info" : {
3862 "filename" : "include/control/next.p4",
3863 "line" : 37,
3864 "column" : 8,
3865 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3866 }
3867 },
3868 {
3869 "op" : "assign",
3870 "parameters" : [
3871 {
3872 "type" : "field",
3873 "value" : ["ethernet", "dst_addr"]
3874 },
3875 {
3876 "type" : "runtime_data",
3877 "value" : 2
3878 }
3879 ],
3880 "source_info" : {
3881 "filename" : "include/control/next.p4",
3882 "line" : 41,
3883 "column" : 8,
3884 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3885 }
3886 },
3887 {
3888 "op" : "assign",
3889 "parameters" : [
3890 {
3891 "type" : "field",
3892 "value" : ["standard_metadata", "egress_spec"]
3893 },
3894 {
3895 "type" : "runtime_data",
3896 "value" : 0
3897 }
3898 ],
3899 "source_info" : {
3900 "filename" : "include/control/next.p4",
3901 "line" : 149,
3902 "column" : 8,
3903 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3904 }
3905 },
3906 {
3907 "op" : "add_header",
3908 "parameters" : [
3909 {
3910 "type" : "header",
3911 "value" : "mpls"
3912 }
3913 ],
3914 "source_info" : {
3915 "filename" : "include/control/next.p4",
3916 "line" : 46,
3917 "column" : 8,
3918 "source_fragment" : "hdr.mpls.setValid()"
3919 }
3920 },
3921 {
3922 "op" : "assign",
3923 "parameters" : [
3924 {
3925 "type" : "field",
3926 "value" : ["vlan_tag", "ether_type"]
3927 },
3928 {
3929 "type" : "hexstr",
3930 "value" : "0x8847"
3931 }
3932 ],
3933 "source_info" : {
3934 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003935 "line" : 90,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003936 "column" : 31,
3937 "source_fragment" : "0x8847; ..."
3938 }
3939 },
3940 {
3941 "op" : "assign",
3942 "parameters" : [
3943 {
3944 "type" : "field",
3945 "value" : ["mpls", "label"]
3946 },
3947 {
3948 "type" : "runtime_data",
3949 "value" : 3
3950 }
3951 ],
3952 "source_info" : {
3953 "filename" : "include/control/next.p4",
3954 "line" : 48,
3955 "column" : 8,
3956 "source_fragment" : "hdr.mpls.label = label; ..."
3957 }
3958 },
3959 {
3960 "op" : "assign",
3961 "parameters" : [
3962 {
3963 "type" : "field",
3964 "value" : ["mpls", "tc"]
3965 },
3966 {
3967 "type" : "hexstr",
3968 "value" : "0x00"
3969 }
3970 ],
3971 "source_info" : {
3972 "filename" : "include/control/next.p4",
3973 "line" : 49,
3974 "column" : 8,
3975 "source_fragment" : "hdr.mpls.tc = tc; ..."
3976 }
3977 },
3978 {
3979 "op" : "assign",
3980 "parameters" : [
3981 {
3982 "type" : "field",
3983 "value" : ["mpls", "bos"]
3984 },
3985 {
3986 "type" : "hexstr",
3987 "value" : "0x01"
3988 }
3989 ],
3990 "source_info" : {
3991 "filename" : "include/control/next.p4",
3992 "line" : 50,
3993 "column" : 8,
3994 "source_fragment" : "hdr.mpls.bos = 1w1"
3995 }
3996 },
3997 {
3998 "op" : "assign",
3999 "parameters" : [
4000 {
4001 "type" : "field",
4002 "value" : ["mpls", "ttl"]
4003 },
4004 {
4005 "type" : "hexstr",
4006 "value" : "0x40"
4007 }
4008 ],
4009 "source_info" : {
4010 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004011 "line" : 110,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004012 "column" : 32,
4013 "source_fragment" : "64; ..."
4014 }
4015 }
4016 ]
4017 },
4018 {
4019 "name" : "FabricIngress.next.set_mcast_group",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004020 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004021 "runtime_data" : [
4022 {
4023 "name" : "gid",
4024 "bitwidth" : 16
4025 }
4026 ],
4027 "primitives" : [
4028 {
4029 "op" : "assign",
4030 "parameters" : [
4031 {
4032 "type" : "field",
4033 "value" : ["standard_metadata", "mcast_grp"]
4034 },
4035 {
4036 "type" : "runtime_data",
4037 "value" : 0
4038 }
4039 ],
4040 "source_info" : {
4041 "filename" : "include/control/next.p4",
4042 "line" : 202,
4043 "column" : 8,
4044 "source_fragment" : "standard_metadata.mcast_grp = gid"
4045 }
4046 },
4047 {
4048 "op" : "assign",
4049 "parameters" : [
4050 {
4051 "type" : "field",
4052 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
4053 },
4054 {
4055 "type" : "expression",
4056 "value" : {
4057 "type" : "expression",
4058 "value" : {
4059 "op" : "b2d",
4060 "left" : null,
4061 "right" : {
4062 "type" : "bool",
4063 "value" : true
4064 }
4065 }
4066 }
4067 }
4068 ],
4069 "source_info" : {
4070 "filename" : "include/control/next.p4",
4071 "line" : 203,
4072 "column" : 8,
4073 "source_fragment" : "fabric_metadata.is_multicast = true"
4074 }
4075 }
4076 ]
4077 },
4078 {
4079 "name" : "act",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004080 "id" : 46,
4081 "runtime_data" : [],
4082 "primitives" : [
4083 {
4084 "op" : "assign",
4085 "parameters" : [
4086 {
4087 "type" : "field",
4088 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4089 },
4090 {
4091 "type" : "expression",
4092 "value" : {
4093 "type" : "expression",
4094 "value" : {
4095 "op" : "b2d",
4096 "left" : null,
4097 "right" : {
4098 "type" : "bool",
4099 "value" : true
4100 }
4101 }
4102 }
4103 }
4104 ],
4105 "source_info" : {
4106 "filename" : "include/spgw.p4",
4107 "line" : 30,
4108 "column" : 32,
4109 "source_fragment" : "return"
4110 }
4111 }
4112 ]
4113 },
4114 {
4115 "name" : "act_0",
4116 "id" : 47,
4117 "runtime_data" : [],
4118 "primitives" : [
4119 {
4120 "op" : "remove_header",
4121 "parameters" : [
4122 {
4123 "type" : "header",
4124 "value" : "gtpu_ipv4"
4125 }
4126 ],
4127 "source_info" : {
4128 "filename" : "fabric.p4",
4129 "line" : 52,
4130 "column" : 50,
4131 "source_fragment" : "hdr.gtpu_ipv4"
4132 }
4133 },
4134 {
4135 "op" : "remove_header",
4136 "parameters" : [
4137 {
4138 "type" : "header",
4139 "value" : "gtpu_udp"
4140 }
4141 ],
4142 "source_info" : {
4143 "filename" : "fabric.p4",
4144 "line" : 52,
4145 "column" : 65,
4146 "source_fragment" : "hdr.gtpu_udp"
4147 }
4148 },
4149 {
4150 "op" : "assign",
4151 "parameters" : [
4152 {
4153 "type" : "field",
4154 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
4155 },
4156 {
4157 "type" : "expression",
4158 "value" : {
4159 "type" : "expression",
4160 "value" : {
4161 "op" : "b2d",
4162 "left" : null,
4163 "right" : {
4164 "type" : "bool",
4165 "value" : false
4166 }
4167 }
4168 }
4169 }
4170 ]
4171 }
4172 ]
4173 },
4174 {
4175 "name" : "act_1",
4176 "id" : 48,
4177 "runtime_data" : [],
4178 "primitives" : [
4179 {
4180 "op" : "assign_header",
4181 "parameters" : [
4182 {
4183 "type" : "header",
4184 "value" : "udp"
4185 },
4186 {
4187 "type" : "header",
4188 "value" : "inner_udp"
4189 }
4190 ],
4191 "source_info" : {
4192 "filename" : "include/spgw.p4",
4193 "line" : 35,
4194 "column" : 16,
4195 "source_fragment" : "= inner_udp; ..."
4196 }
4197 }
4198 ]
4199 },
4200 {
4201 "name" : "act_2",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004202 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004203 "runtime_data" : [],
4204 "primitives" : [
4205 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004206 "op" : "remove_header",
4207 "parameters" : [
4208 {
4209 "type" : "header",
4210 "value" : "udp"
4211 }
4212 ],
4213 "source_info" : {
4214 "filename" : "include/spgw.p4",
4215 "line" : 37,
4216 "column" : 12,
4217 "source_fragment" : "udp.setInvalid()"
4218 }
4219 }
4220 ]
4221 },
4222 {
4223 "name" : "act_3",
4224 "id" : 50,
4225 "runtime_data" : [],
4226 "primitives" : [
4227 {
4228 "op" : "assign_header",
4229 "parameters" : [
4230 {
4231 "type" : "header",
4232 "value" : "gtpu_ipv4"
4233 },
4234 {
4235 "type" : "header",
4236 "value" : "ipv4"
4237 }
4238 ],
4239 "source_info" : {
4240 "filename" : "include/spgw.p4",
4241 "line" : 31,
4242 "column" : 18,
4243 "source_fragment" : "= ipv4; ..."
4244 }
4245 },
4246 {
4247 "op" : "assign_header",
4248 "parameters" : [
4249 {
4250 "type" : "header",
4251 "value" : "ipv4"
4252 },
4253 {
4254 "type" : "header",
4255 "value" : "inner_ipv4"
4256 }
4257 ],
4258 "source_info" : {
4259 "filename" : "include/spgw.p4",
4260 "line" : 32,
4261 "column" : 13,
4262 "source_fragment" : "= inner_ipv4; ..."
4263 }
4264 },
4265 {
4266 "op" : "assign_header",
4267 "parameters" : [
4268 {
4269 "type" : "header",
4270 "value" : "gtpu_udp"
4271 },
4272 {
4273 "type" : "header",
4274 "value" : "udp"
4275 }
4276 ],
4277 "source_info" : {
4278 "filename" : "include/spgw.p4",
4279 "line" : 33,
4280 "column" : 17,
4281 "source_fragment" : "= udp; ..."
4282 }
4283 }
4284 ]
4285 },
4286 {
4287 "name" : "act_4",
4288 "id" : 51,
4289 "runtime_data" : [],
4290 "primitives" : [
4291 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004292 "op" : "assign",
4293 "parameters" : [
4294 {
4295 "type" : "field",
4296 "value" : ["standard_metadata", "egress_spec"]
4297 },
4298 {
4299 "type" : "field",
4300 "value" : ["packet_out", "egress_port"]
4301 }
4302 ],
4303 "source_info" : {
4304 "filename" : "include/control/packetio.p4",
4305 "line" : 26,
4306 "column" : 12,
4307 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4308 }
4309 },
4310 {
4311 "op" : "remove_header",
4312 "parameters" : [
4313 {
4314 "type" : "header",
4315 "value" : "packet_out"
4316 }
4317 ],
4318 "source_info" : {
4319 "filename" : "include/control/packetio.p4",
4320 "line" : 27,
4321 "column" : 12,
4322 "source_fragment" : "hdr.packet_out.setInvalid()"
4323 }
4324 }
4325 ]
4326 },
4327 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004328 "name" : "act_5",
4329 "id" : 52,
4330 "runtime_data" : [],
4331 "primitives" : [
4332 {
4333 "op" : "assign",
4334 "parameters" : [
4335 {
4336 "type" : "field",
4337 "value" : ["scalars", "spgw_ingress_tmp_1"]
4338 },
4339 {
4340 "type" : "expression",
4341 "value" : {
4342 "type" : "expression",
4343 "value" : {
4344 "op" : "b2d",
4345 "left" : null,
4346 "right" : {
4347 "type" : "bool",
4348 "value" : true
4349 }
4350 }
4351 }
4352 }
4353 ]
4354 }
4355 ]
4356 },
4357 {
4358 "name" : "act_6",
4359 "id" : 53,
4360 "runtime_data" : [],
4361 "primitives" : [
4362 {
4363 "op" : "assign",
4364 "parameters" : [
4365 {
4366 "type" : "field",
4367 "value" : ["scalars", "spgw_ingress_tmp_1"]
4368 },
4369 {
4370 "type" : "expression",
4371 "value" : {
4372 "type" : "expression",
4373 "value" : {
4374 "op" : "b2d",
4375 "left" : null,
4376 "right" : {
4377 "type" : "bool",
4378 "value" : false
4379 }
4380 }
4381 }
4382 }
4383 ]
4384 }
4385 ]
4386 },
4387 {
4388 "name" : "act_7",
4389 "id" : 54,
4390 "runtime_data" : [],
4391 "primitives" : [
4392 {
4393 "op" : "assign",
4394 "parameters" : [
4395 {
4396 "type" : "field",
4397 "value" : ["userMetadata.spgw", "direction"]
4398 },
4399 {
4400 "type" : "hexstr",
4401 "value" : "0x01"
4402 }
4403 ],
4404 "source_info" : {
4405 "filename" : "include/control/../define.p4",
4406 "line" : 116,
4407 "column" : 36,
4408 "source_fragment" : "2w1; ..."
4409 }
4410 }
4411 ]
4412 },
4413 {
4414 "name" : "act_8",
4415 "id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004416 "runtime_data" : [],
4417 "primitives" : [
4418 {
4419 "op" : "assign",
4420 "parameters" : [
4421 {
4422 "type" : "field",
4423 "value" : ["scalars", "spgw_ingress_tmp_2"]
4424 },
4425 {
4426 "type" : "expression",
4427 "value" : {
4428 "type" : "expression",
4429 "value" : {
4430 "op" : "b2d",
4431 "left" : null,
4432 "right" : {
4433 "type" : "bool",
4434 "value" : true
4435 }
4436 }
4437 }
4438 }
4439 ]
4440 }
4441 ]
4442 },
4443 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004444 "name" : "act_9",
4445 "id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004446 "runtime_data" : [],
4447 "primitives" : [
4448 {
4449 "op" : "assign",
4450 "parameters" : [
4451 {
4452 "type" : "field",
4453 "value" : ["scalars", "spgw_ingress_tmp_2"]
4454 },
4455 {
4456 "type" : "expression",
4457 "value" : {
4458 "type" : "expression",
4459 "value" : {
4460 "op" : "b2d",
4461 "left" : null,
4462 "right" : {
4463 "type" : "bool",
4464 "value" : false
4465 }
4466 }
4467 }
4468 }
4469 ]
4470 }
4471 ]
4472 },
4473 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004474 "name" : "act_10",
4475 "id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004476 "runtime_data" : [],
4477 "primitives" : [
4478 {
4479 "op" : "assign",
4480 "parameters" : [
4481 {
4482 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004483 "value" : ["userMetadata.spgw", "direction"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004484 },
4485 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004486 "type" : "hexstr",
4487 "value" : "0x02"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004488 }
4489 ],
4490 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004491 "filename" : "include/control/../define.p4",
4492 "line" : 117,
4493 "column" : 38,
4494 "source_fragment" : "2w2; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004495 }
4496 }
4497 ]
4498 },
4499 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004500 "name" : "act_11",
4501 "id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004502 "runtime_data" : [],
4503 "primitives" : [
4504 {
4505 "op" : "assign",
4506 "parameters" : [
4507 {
4508 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004509 "value" : ["userMetadata.spgw", "direction"]
4510 },
4511 {
4512 "type" : "hexstr",
4513 "value" : "0x00"
4514 }
4515 ],
4516 "source_info" : {
4517 "filename" : "include/control/../define.p4",
4518 "line" : 115,
4519 "column" : 37,
4520 "source_fragment" : "2w0; ..."
4521 }
4522 },
4523 {
4524 "op" : "assign",
4525 "parameters" : [
4526 {
4527 "type" : "field",
4528 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004529 },
4530 {
4531 "type" : "expression",
4532 "value" : {
4533 "type" : "expression",
4534 "value" : {
4535 "op" : "b2d",
4536 "left" : null,
4537 "right" : {
4538 "type" : "bool",
4539 "value" : true
4540 }
4541 }
4542 }
4543 }
4544 ],
4545 "source_info" : {
4546 "filename" : "include/spgw.p4",
4547 "line" : 154,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004548 "column" : 12,
4549 "source_fragment" : "return"
4550 }
4551 }
4552 ]
4553 },
4554 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004555 "name" : "act_12",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004556 "id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004557 "runtime_data" : [],
4558 "primitives" : [
4559 {
4560 "op" : "assign",
4561 "parameters" : [
4562 {
4563 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004564 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004565 },
4566 {
4567 "type" : "expression",
4568 "value" : {
4569 "type" : "expression",
4570 "value" : {
4571 "op" : "b2d",
4572 "left" : null,
4573 "right" : {
4574 "type" : "bool",
4575 "value" : false
4576 }
4577 }
4578 }
4579 }
4580 ]
4581 }
4582 ]
4583 },
4584 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004585 "name" : "act_13",
4586 "id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004587 "runtime_data" : [],
4588 "primitives" : [
4589 {
4590 "op" : "assign",
4591 "parameters" : [
4592 {
4593 "type" : "field",
4594 "value" : ["userMetadata.spgw", "ipv4_len"]
4595 },
4596 {
4597 "type" : "field",
4598 "value" : ["ipv4", "total_len"]
4599 }
4600 ],
4601 "source_info" : {
4602 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004603 "line" : 171,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004604 "column" : 8,
4605 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4606 }
4607 }
4608 ]
4609 },
4610 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004611 "name" : "act_14",
4612 "id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004613 "runtime_data" : [],
4614 "primitives" : [
4615 {
4616 "op" : "assign",
4617 "parameters" : [
4618 {
4619 "type" : "field",
4620 "value" : ["vlan_tag", "ether_type"]
4621 },
4622 {
4623 "type" : "hexstr",
4624 "value" : "0x0800"
4625 }
4626 ],
4627 "source_info" : {
4628 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004629 "line" : 92,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004630 "column" : 31,
4631 "source_fragment" : "0x0800; ..."
4632 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004633 }
4634 ]
4635 },
4636 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004637 "name" : "act_15",
4638 "id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004639 "runtime_data" : [],
4640 "primitives" : [
4641 {
4642 "op" : "assign",
4643 "parameters" : [
4644 {
4645 "type" : "field",
4646 "value" : ["scalars", "next_hasReturned_0"]
4647 },
4648 {
4649 "type" : "expression",
4650 "value" : {
4651 "type" : "expression",
4652 "value" : {
4653 "op" : "b2d",
4654 "left" : null,
4655 "right" : {
4656 "type" : "bool",
4657 "value" : false
4658 }
4659 }
4660 }
4661 }
4662 ]
4663 }
4664 ]
4665 },
4666 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004667 "name" : "act_16",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004668 "id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004669 "runtime_data" : [],
4670 "primitives" : [
4671 {
4672 "op" : "assign",
4673 "parameters" : [
4674 {
4675 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004676 "value" : ["scalars", "next_tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004677 },
4678 {
4679 "type" : "expression",
4680 "value" : {
4681 "type" : "expression",
4682 "value" : {
4683 "op" : "b2d",
4684 "left" : null,
4685 "right" : {
4686 "type" : "bool",
4687 "value" : true
4688 }
4689 }
4690 }
4691 }
4692 ]
4693 }
4694 ]
4695 },
4696 {
4697 "name" : "act_17",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004698 "id" : 64,
4699 "runtime_data" : [],
4700 "primitives" : [
4701 {
4702 "op" : "assign",
4703 "parameters" : [
4704 {
4705 "type" : "field",
4706 "value" : ["scalars", "next_tmp_4"]
4707 },
4708 {
4709 "type" : "expression",
4710 "value" : {
4711 "type" : "expression",
4712 "value" : {
4713 "op" : "b2d",
4714 "left" : null,
4715 "right" : {
4716 "type" : "bool",
4717 "value" : false
4718 }
4719 }
4720 }
4721 }
4722 ]
4723 }
4724 ]
4725 },
4726 {
4727 "name" : "act_18",
4728 "id" : 65,
4729 "runtime_data" : [],
4730 "primitives" : [
4731 {
4732 "op" : "assign",
4733 "parameters" : [
4734 {
4735 "type" : "field",
4736 "value" : ["scalars", "next_tmp_3"]
4737 },
4738 {
4739 "type" : "expression",
4740 "value" : {
4741 "type" : "expression",
4742 "value" : {
4743 "op" : "b2d",
4744 "left" : null,
4745 "right" : {
4746 "type" : "bool",
4747 "value" : true
4748 }
4749 }
4750 }
4751 }
4752 ]
4753 }
4754 ]
4755 },
4756 {
4757 "name" : "act_19",
4758 "id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004759 "runtime_data" : [],
4760 "primitives" : [
4761 {
4762 "op" : "assign",
4763 "parameters" : [
4764 {
4765 "type" : "field",
4766 "value" : ["scalars", "next_tmp_3"]
4767 },
4768 {
4769 "type" : "expression",
4770 "value" : {
4771 "type" : "expression",
4772 "value" : {
4773 "op" : "b2d",
4774 "left" : null,
4775 "right" : {
4776 "type" : "bool",
4777 "value" : false
4778 }
4779 }
4780 }
4781 }
4782 ]
4783 }
4784 ]
4785 },
4786 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004787 "name" : "act_20",
4788 "id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004789 "runtime_data" : [],
4790 "primitives" : [
4791 {
4792 "op" : "assign",
4793 "parameters" : [
4794 {
4795 "type" : "field",
4796 "value" : ["scalars", "next_tmp_2"]
4797 },
4798 {
4799 "type" : "expression",
4800 "value" : {
4801 "type" : "expression",
4802 "value" : {
4803 "op" : "b2d",
4804 "left" : null,
4805 "right" : {
4806 "type" : "bool",
4807 "value" : true
4808 }
4809 }
4810 }
4811 }
4812 ]
4813 }
4814 ]
4815 },
4816 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004817 "name" : "act_21",
4818 "id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004819 "runtime_data" : [],
4820 "primitives" : [
4821 {
4822 "op" : "assign",
4823 "parameters" : [
4824 {
4825 "type" : "field",
4826 "value" : ["scalars", "next_tmp_2"]
4827 },
4828 {
4829 "type" : "expression",
4830 "value" : {
4831 "type" : "expression",
4832 "value" : {
4833 "op" : "b2d",
4834 "left" : null,
4835 "right" : {
4836 "type" : "bool",
4837 "value" : false
4838 }
4839 }
4840 }
4841 }
4842 ]
4843 }
4844 ]
4845 },
4846 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004847 "name" : "act_22",
4848 "id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004849 "runtime_data" : [],
4850 "primitives" : [
4851 {
4852 "op" : "assign",
4853 "parameters" : [
4854 {
4855 "type" : "field",
4856 "value" : ["scalars", "next_hasReturned_0"]
4857 },
4858 {
4859 "type" : "expression",
4860 "value" : {
4861 "type" : "expression",
4862 "value" : {
4863 "op" : "b2d",
4864 "left" : null,
4865 "right" : {
4866 "type" : "bool",
4867 "value" : true
4868 }
4869 }
4870 }
4871 }
4872 ],
4873 "source_info" : {
4874 "filename" : "include/control/next.p4",
4875 "line" : 223,
4876 "column" : 20,
4877 "source_fragment" : "return"
4878 }
4879 }
4880 ]
4881 },
4882 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004883 "name" : "act_23",
4884 "id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004885 "runtime_data" : [],
4886 "primitives" : [
4887 {
4888 "op" : "assign",
4889 "parameters" : [
4890 {
4891 "type" : "field",
4892 "value" : ["ipv4", "ttl"]
4893 },
4894 {
4895 "type" : "expression",
4896 "value" : {
4897 "type" : "expression",
4898 "value" : {
4899 "op" : "&",
4900 "left" : {
4901 "type" : "expression",
4902 "value" : {
4903 "op" : "+",
4904 "left" : {
4905 "type" : "field",
4906 "value" : ["ipv4", "ttl"]
4907 },
4908 "right" : {
4909 "type" : "hexstr",
4910 "value" : "0xff"
4911 }
4912 }
4913 },
4914 "right" : {
4915 "type" : "hexstr",
4916 "value" : "0xff"
4917 }
4918 }
4919 }
4920 }
4921 ],
4922 "source_info" : {
4923 "filename" : "include/control/next.p4",
4924 "line" : 230,
4925 "column" : 16,
4926 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4927 }
4928 }
4929 ]
4930 },
4931 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004932 "name" : "act_24",
4933 "id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004934 "runtime_data" : [],
4935 "primitives" : [
4936 {
4937 "op" : "assign",
4938 "parameters" : [
4939 {
4940 "type" : "field",
4941 "value" : ["ipv6", "hop_limit"]
4942 },
4943 {
4944 "type" : "expression",
4945 "value" : {
4946 "type" : "expression",
4947 "value" : {
4948 "op" : "&",
4949 "left" : {
4950 "type" : "expression",
4951 "value" : {
4952 "op" : "+",
4953 "left" : {
4954 "type" : "field",
4955 "value" : ["ipv6", "hop_limit"]
4956 },
4957 "right" : {
4958 "type" : "hexstr",
4959 "value" : "0xff"
4960 }
4961 }
4962 },
4963 "right" : {
4964 "type" : "hexstr",
4965 "value" : "0xff"
4966 }
4967 }
4968 }
4969 }
4970 ],
4971 "source_info" : {
4972 "filename" : "include/control/next.p4",
4973 "line" : 234,
4974 "column" : 16,
4975 "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
4976 }
4977 }
4978 ]
4979 },
4980 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004981 "name" : "act_25",
4982 "id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004983 "runtime_data" : [],
4984 "primitives" : [
4985 {
4986 "op" : "assign",
4987 "parameters" : [
4988 {
4989 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004990 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004991 },
4992 {
4993 "type" : "expression",
4994 "value" : {
4995 "type" : "expression",
4996 "value" : {
4997 "op" : "&",
4998 "left" : {
4999 "type" : "field",
5000 "value" : ["standard_metadata", "egress_spec"]
5001 },
5002 "right" : {
5003 "type" : "hexstr",
5004 "value" : "0xffffffff"
5005 }
5006 }
5007 }
5008 }
5009 ],
5010 "source_info" : {
5011 "filename" : "include/control/port_counter.p4",
5012 "line" : 28,
5013 "column" : 38,
5014 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5015 }
5016 },
5017 {
5018 "op" : "count",
5019 "parameters" : [
5020 {
5021 "type" : "counter_array",
5022 "value" : "FabricIngress.port_counters_control.egress_port_counter"
5023 },
5024 {
5025 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005026 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005027 }
5028 ],
5029 "source_info" : {
5030 "filename" : "include/control/port_counter.p4",
5031 "line" : 28,
5032 "column" : 12,
5033 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5034 }
5035 }
5036 ]
5037 },
5038 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005039 "name" : "act_26",
5040 "id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005041 "runtime_data" : [],
5042 "primitives" : [
5043 {
5044 "op" : "assign",
5045 "parameters" : [
5046 {
5047 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005048 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005049 },
5050 {
5051 "type" : "expression",
5052 "value" : {
5053 "type" : "expression",
5054 "value" : {
5055 "op" : "&",
5056 "left" : {
5057 "type" : "field",
5058 "value" : ["standard_metadata", "ingress_port"]
5059 },
5060 "right" : {
5061 "type" : "hexstr",
5062 "value" : "0xffffffff"
5063 }
5064 }
5065 }
5066 }
5067 ],
5068 "source_info" : {
5069 "filename" : "include/control/port_counter.p4",
5070 "line" : 31,
5071 "column" : 39,
5072 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5073 }
5074 },
5075 {
5076 "op" : "count",
5077 "parameters" : [
5078 {
5079 "type" : "counter_array",
5080 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
5081 },
5082 {
5083 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005084 "value" : ["scalars", "tmp_5"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005085 }
5086 ],
5087 "source_info" : {
5088 "filename" : "include/control/port_counter.p4",
5089 "line" : 31,
5090 "column" : 12,
5091 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5092 }
5093 }
5094 ]
5095 },
5096 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005097 "name" : "act_27",
5098 "id" : 74,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005099 "runtime_data" : [],
5100 "primitives" : [
5101 {
5102 "op" : "clone_ingress_pkt_to_egress",
5103 "parameters" : [
5104 {
5105 "type" : "hexstr",
5106 "value" : "0x000001f4"
5107 },
5108 {
5109 "type" : "hexstr",
5110 "value" : "0x1"
5111 }
5112 ]
5113 }
5114 ]
5115 },
5116 {
5117 "name" : "NoAction",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005118 "id" : 75,
5119 "runtime_data" : [],
5120 "primitives" : []
5121 },
5122 {
5123 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005124 "id" : 76,
5125 "runtime_data" : [],
5126 "primitives" : []
5127 },
5128 {
5129 "name" : "NoAction",
5130 "id" : 77,
5131 "runtime_data" : [],
5132 "primitives" : []
5133 },
5134 {
5135 "name" : "NoAction",
5136 "id" : 78,
5137 "runtime_data" : [],
5138 "primitives" : []
5139 },
5140 {
5141 "name" : "NoAction",
5142 "id" : 79,
5143 "runtime_data" : [],
5144 "primitives" : []
5145 },
5146 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005147 "name" : "nop",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005148 "id" : 80,
5149 "runtime_data" : [],
5150 "primitives" : []
5151 },
5152 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005153 "name" : "drop_now",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005154 "id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005155 "runtime_data" : [],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005156 "primitives" : [
5157 {
5158 "op" : "drop",
5159 "parameters" : [],
5160 "source_info" : {
5161 "filename" : "include/control/../action.p4",
5162 "line" : 24,
5163 "column" : 4,
5164 "source_fragment" : "mark_to_drop()"
5165 }
5166 },
5167 {
5168 "op" : "exit",
5169 "parameters" : [],
5170 "source_info" : {
5171 "filename" : "include/control/../action.p4",
5172 "line" : 25,
5173 "column" : 4,
5174 "source_fragment" : "exit"
5175 }
5176 }
5177 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005178 },
5179 {
5180 "name" : "drop_now",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005181 "id" : 82,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005182 "runtime_data" : [],
5183 "primitives" : [
5184 {
5185 "op" : "drop",
5186 "parameters" : [],
5187 "source_info" : {
5188 "filename" : "include/control/../action.p4",
5189 "line" : 24,
5190 "column" : 4,
5191 "source_fragment" : "mark_to_drop()"
5192 }
5193 },
5194 {
5195 "op" : "exit",
5196 "parameters" : [],
5197 "source_info" : {
5198 "filename" : "include/control/../action.p4",
5199 "line" : 25,
5200 "column" : 4,
5201 "source_fragment" : "exit"
5202 }
5203 }
5204 ]
5205 },
5206 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005207 "name" : "FabricEgress.spgw_egress.gtpu_encap",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005208 "id" : 83,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005209 "runtime_data" : [],
5210 "primitives" : [
5211 {
5212 "op" : "add_header",
5213 "parameters" : [
5214 {
5215 "type" : "header",
5216 "value" : "gtpu_ipv4"
5217 }
5218 ],
5219 "source_info" : {
5220 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005221 "line" : 186,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005222 "column" : 8,
5223 "source_fragment" : "gtpu_ipv4.setValid()"
5224 }
5225 },
5226 {
5227 "op" : "assign",
5228 "parameters" : [
5229 {
5230 "type" : "field",
5231 "value" : ["gtpu_ipv4", "version"]
5232 },
5233 {
5234 "type" : "hexstr",
5235 "value" : "0x04"
5236 }
5237 ],
5238 "source_info" : {
5239 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005240 "line" : 187,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005241 "column" : 8,
5242 "source_fragment" : "gtpu_ipv4.version = 4"
5243 }
5244 },
5245 {
5246 "op" : "assign",
5247 "parameters" : [
5248 {
5249 "type" : "field",
5250 "value" : ["gtpu_ipv4", "ihl"]
5251 },
5252 {
5253 "type" : "hexstr",
5254 "value" : "0x05"
5255 }
5256 ],
5257 "source_info" : {
5258 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005259 "line" : 101,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005260 "column" : 28,
5261 "source_fragment" : "5; ..."
5262 }
5263 },
5264 {
5265 "op" : "assign",
5266 "parameters" : [
5267 {
5268 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005269 "value" : ["gtpu_ipv4", "dscp"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005270 },
5271 {
5272 "type" : "hexstr",
5273 "value" : "0x00"
5274 }
5275 ],
5276 "source_info" : {
5277 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005278 "line" : 189,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005279 "column" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005280 "source_fragment" : "gtpu_ipv4.dscp = 0"
5281 }
5282 },
5283 {
5284 "op" : "assign",
5285 "parameters" : [
5286 {
5287 "type" : "field",
5288 "value" : ["gtpu_ipv4", "ecn"]
5289 },
5290 {
5291 "type" : "hexstr",
5292 "value" : "0x00"
5293 }
5294 ],
5295 "source_info" : {
5296 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005297 "line" : 190,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005298 "column" : 8,
5299 "source_fragment" : "gtpu_ipv4.ecn = 0"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005300 }
5301 },
5302 {
5303 "op" : "assign",
5304 "parameters" : [
5305 {
5306 "type" : "field",
5307 "value" : ["gtpu_ipv4", "total_len"]
5308 },
5309 {
5310 "type" : "expression",
5311 "value" : {
5312 "type" : "expression",
5313 "value" : {
5314 "op" : "&",
5315 "left" : {
5316 "type" : "expression",
5317 "value" : {
5318 "op" : "+",
5319 "left" : {
5320 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005321 "value" : ["ipv4", "total_len"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005322 },
5323 "right" : {
5324 "type" : "hexstr",
5325 "value" : "0x0024"
5326 }
5327 }
5328 },
5329 "right" : {
5330 "type" : "hexstr",
5331 "value" : "0xffff"
5332 }
5333 }
5334 }
5335 }
5336 ],
5337 "source_info" : {
5338 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005339 "line" : 191,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005340 "column" : 8,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005341 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005342 }
5343 },
5344 {
5345 "op" : "assign",
5346 "parameters" : [
5347 {
5348 "type" : "field",
5349 "value" : ["gtpu_ipv4", "identification"]
5350 },
5351 {
5352 "type" : "hexstr",
5353 "value" : "0x1513"
5354 }
5355 ],
5356 "source_info" : {
5357 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005358 "line" : 193,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005359 "column" : 8,
5360 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
5361 }
5362 },
5363 {
5364 "op" : "assign",
5365 "parameters" : [
5366 {
5367 "type" : "field",
5368 "value" : ["gtpu_ipv4", "flags"]
5369 },
5370 {
5371 "type" : "hexstr",
5372 "value" : "0x00"
5373 }
5374 ],
5375 "source_info" : {
5376 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005377 "line" : 194,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005378 "column" : 8,
5379 "source_fragment" : "gtpu_ipv4.flags = 0"
5380 }
5381 },
5382 {
5383 "op" : "assign",
5384 "parameters" : [
5385 {
5386 "type" : "field",
5387 "value" : ["gtpu_ipv4", "frag_offset"]
5388 },
5389 {
5390 "type" : "hexstr",
5391 "value" : "0x0000"
5392 }
5393 ],
5394 "source_info" : {
5395 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005396 "line" : 195,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005397 "column" : 8,
5398 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
5399 }
5400 },
5401 {
5402 "op" : "assign",
5403 "parameters" : [
5404 {
5405 "type" : "field",
5406 "value" : ["gtpu_ipv4", "ttl"]
5407 },
5408 {
5409 "type" : "hexstr",
5410 "value" : "0x40"
5411 }
5412 ],
5413 "source_info" : {
5414 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005415 "line" : 111,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005416 "column" : 32,
5417 "source_fragment" : "64; ..."
5418 }
5419 },
5420 {
5421 "op" : "assign",
5422 "parameters" : [
5423 {
5424 "type" : "field",
5425 "value" : ["gtpu_ipv4", "protocol"]
5426 },
5427 {
5428 "type" : "hexstr",
5429 "value" : "0x11"
5430 }
5431 ],
5432 "source_info" : {
5433 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005434 "line" : 98,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005435 "column" : 25,
5436 "source_fragment" : "17; ..."
5437 }
5438 },
5439 {
5440 "op" : "assign",
5441 "parameters" : [
5442 {
5443 "type" : "field",
5444 "value" : ["gtpu_ipv4", "dst_addr"]
5445 },
5446 {
5447 "type" : "field",
5448 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5449 }
5450 ],
5451 "source_info" : {
5452 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005453 "line" : 198,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005454 "column" : 8,
5455 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5456 }
5457 },
5458 {
5459 "op" : "assign",
5460 "parameters" : [
5461 {
5462 "type" : "field",
5463 "value" : ["gtpu_ipv4", "src_addr"]
5464 },
5465 {
5466 "type" : "field",
5467 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5468 }
5469 ],
5470 "source_info" : {
5471 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005472 "line" : 199,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005473 "column" : 8,
5474 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5475 }
5476 },
5477 {
5478 "op" : "assign",
5479 "parameters" : [
5480 {
5481 "type" : "field",
5482 "value" : ["gtpu_ipv4", "hdr_checksum"]
5483 },
5484 {
5485 "type" : "hexstr",
5486 "value" : "0x0000"
5487 }
5488 ],
5489 "source_info" : {
5490 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005491 "line" : 200,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005492 "column" : 8,
5493 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5494 }
5495 },
5496 {
5497 "op" : "add_header",
5498 "parameters" : [
5499 {
5500 "type" : "header",
5501 "value" : "gtpu_udp"
5502 }
5503 ],
5504 "source_info" : {
5505 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005506 "line" : 202,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005507 "column" : 8,
5508 "source_fragment" : "gtpu_udp.setValid()"
5509 }
5510 },
5511 {
5512 "op" : "assign",
5513 "parameters" : [
5514 {
5515 "type" : "field",
5516 "value" : ["gtpu_udp", "src_port"]
5517 },
5518 {
5519 "type" : "hexstr",
5520 "value" : "0x0868"
5521 }
5522 ],
5523 "source_info" : {
5524 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005525 "line" : 203,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005526 "column" : 8,
5527 "source_fragment" : "gtpu_udp.src_port = 2152"
5528 }
5529 },
5530 {
5531 "op" : "assign",
5532 "parameters" : [
5533 {
5534 "type" : "field",
5535 "value" : ["gtpu_udp", "dst_port"]
5536 },
5537 {
5538 "type" : "hexstr",
5539 "value" : "0x0868"
5540 }
5541 ],
5542 "source_info" : {
5543 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005544 "line" : 204,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005545 "column" : 8,
5546 "source_fragment" : "gtpu_udp.dst_port = 2152"
5547 }
5548 },
5549 {
5550 "op" : "assign",
5551 "parameters" : [
5552 {
5553 "type" : "field",
5554 "value" : ["gtpu_udp", "len"]
5555 },
5556 {
5557 "type" : "expression",
5558 "value" : {
5559 "type" : "expression",
5560 "value" : {
5561 "op" : "&",
5562 "left" : {
5563 "type" : "expression",
5564 "value" : {
5565 "op" : "+",
5566 "left" : {
5567 "type" : "field",
5568 "value" : ["userMetadata.spgw", "ipv4_len"]
5569 },
5570 "right" : {
5571 "type" : "hexstr",
5572 "value" : "0x0010"
5573 }
5574 }
5575 },
5576 "right" : {
5577 "type" : "hexstr",
5578 "value" : "0xffff"
5579 }
5580 }
5581 }
5582 }
5583 ],
5584 "source_info" : {
5585 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005586 "line" : 205,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005587 "column" : 8,
5588 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5589 }
5590 },
5591 {
5592 "op" : "assign",
5593 "parameters" : [
5594 {
5595 "type" : "field",
5596 "value" : ["gtpu_udp", "checksum"]
5597 },
5598 {
5599 "type" : "hexstr",
5600 "value" : "0x0000"
5601 }
5602 ],
5603 "source_info" : {
5604 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005605 "line" : 207,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005606 "column" : 8,
5607 "source_fragment" : "gtpu_udp.checksum = 0"
5608 }
5609 },
5610 {
5611 "op" : "add_header",
5612 "parameters" : [
5613 {
5614 "type" : "header",
5615 "value" : "gtpu"
5616 }
5617 ],
5618 "source_info" : {
5619 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005620 "line" : 209,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005621 "column" : 8,
5622 "source_fragment" : "gtpu.setValid()"
5623 }
5624 },
5625 {
5626 "op" : "assign",
5627 "parameters" : [
5628 {
5629 "type" : "field",
5630 "value" : ["gtpu", "version"]
5631 },
5632 {
5633 "type" : "hexstr",
5634 "value" : "0x01"
5635 }
5636 ],
5637 "source_info" : {
5638 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005639 "line" : 210,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005640 "column" : 8,
5641 "source_fragment" : "gtpu.version = 0x01"
5642 }
5643 },
5644 {
5645 "op" : "assign",
5646 "parameters" : [
5647 {
5648 "type" : "field",
5649 "value" : ["gtpu", "pt"]
5650 },
5651 {
5652 "type" : "hexstr",
5653 "value" : "0x01"
5654 }
5655 ],
5656 "source_info" : {
5657 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005658 "line" : 211,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005659 "column" : 8,
5660 "source_fragment" : "gtpu.pt = 0x01"
5661 }
5662 },
5663 {
5664 "op" : "assign",
5665 "parameters" : [
5666 {
5667 "type" : "field",
5668 "value" : ["gtpu", "spare"]
5669 },
5670 {
5671 "type" : "hexstr",
5672 "value" : "0x00"
5673 }
5674 ],
5675 "source_info" : {
5676 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005677 "line" : 212,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005678 "column" : 8,
5679 "source_fragment" : "gtpu.spare = 0"
5680 }
5681 },
5682 {
5683 "op" : "assign",
5684 "parameters" : [
5685 {
5686 "type" : "field",
5687 "value" : ["gtpu", "ex_flag"]
5688 },
5689 {
5690 "type" : "hexstr",
5691 "value" : "0x00"
5692 }
5693 ],
5694 "source_info" : {
5695 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005696 "line" : 213,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005697 "column" : 8,
5698 "source_fragment" : "gtpu.ex_flag = 0"
5699 }
5700 },
5701 {
5702 "op" : "assign",
5703 "parameters" : [
5704 {
5705 "type" : "field",
5706 "value" : ["gtpu", "seq_flag"]
5707 },
5708 {
5709 "type" : "hexstr",
5710 "value" : "0x00"
5711 }
5712 ],
5713 "source_info" : {
5714 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005715 "line" : 214,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005716 "column" : 8,
5717 "source_fragment" : "gtpu.seq_flag = 0"
5718 }
5719 },
5720 {
5721 "op" : "assign",
5722 "parameters" : [
5723 {
5724 "type" : "field",
5725 "value" : ["gtpu", "npdu_flag"]
5726 },
5727 {
5728 "type" : "hexstr",
5729 "value" : "0x00"
5730 }
5731 ],
5732 "source_info" : {
5733 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005734 "line" : 215,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005735 "column" : 8,
5736 "source_fragment" : "gtpu.npdu_flag = 0"
5737 }
5738 },
5739 {
5740 "op" : "assign",
5741 "parameters" : [
5742 {
5743 "type" : "field",
5744 "value" : ["gtpu", "msgtype"]
5745 },
5746 {
5747 "type" : "hexstr",
5748 "value" : "0xff"
5749 }
5750 ],
5751 "source_info" : {
5752 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005753 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005754 "column" : 8,
5755 "source_fragment" : "gtpu.msgtype = 0xff"
5756 }
5757 },
5758 {
5759 "op" : "assign",
5760 "parameters" : [
5761 {
5762 "type" : "field",
5763 "value" : ["gtpu", "msglen"]
5764 },
5765 {
5766 "type" : "field",
5767 "value" : ["userMetadata.spgw", "ipv4_len"]
5768 }
5769 ],
5770 "source_info" : {
5771 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005772 "line" : 217,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005773 "column" : 8,
5774 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5775 }
5776 },
5777 {
5778 "op" : "assign",
5779 "parameters" : [
5780 {
5781 "type" : "field",
5782 "value" : ["gtpu", "teid"]
5783 },
5784 {
5785 "type" : "field",
5786 "value" : ["userMetadata.spgw", "teid"]
5787 }
5788 ],
5789 "source_info" : {
5790 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005791 "line" : 218,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005792 "column" : 8,
5793 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5794 }
5795 }
5796 ]
5797 },
5798 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005799 "name" : "FabricEgress.process_int_source.int_source_dscp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005800 "id" : 84,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005801 "runtime_data" : [
5802 {
5803 "name" : "max_hop",
5804 "bitwidth" : 8
5805 },
5806 {
5807 "name" : "ins_cnt",
5808 "bitwidth" : 5
5809 },
5810 {
5811 "name" : "ins_mask0003",
5812 "bitwidth" : 4
5813 },
5814 {
5815 "name" : "ins_mask0407",
5816 "bitwidth" : 4
5817 }
5818 ],
5819 "primitives" : [
5820 {
5821 "op" : "add_header",
5822 "parameters" : [
5823 {
5824 "type" : "header",
5825 "value" : "intl4_shim"
5826 }
5827 ],
5828 "source_info" : {
5829 "filename" : "include/int_source.p4",
5830 "line" : 31,
5831 "column" : 8,
5832 "source_fragment" : "hdr.intl4_shim.setValid()"
5833 }
5834 },
5835 {
5836 "op" : "assign",
5837 "parameters" : [
5838 {
5839 "type" : "field",
5840 "value" : ["intl4_shim", "int_type"]
5841 },
5842 {
5843 "type" : "hexstr",
5844 "value" : "0x01"
5845 }
5846 ],
5847 "source_info" : {
5848 "filename" : "include/int_source.p4",
5849 "line" : 33,
5850 "column" : 8,
5851 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5852 }
5853 },
5854 {
5855 "op" : "assign",
5856 "parameters" : [
5857 {
5858 "type" : "field",
5859 "value" : ["intl4_shim", "len"]
5860 },
5861 {
5862 "type" : "hexstr",
5863 "value" : "0x04"
5864 }
5865 ],
5866 "source_info" : {
5867 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005868 "line" : 124,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005869 "column" : 35,
5870 "source_fragment" : "4; ..."
5871 }
5872 },
5873 {
5874 "op" : "add_header",
5875 "parameters" : [
5876 {
5877 "type" : "header",
5878 "value" : "int_header"
5879 }
5880 ],
5881 "source_info" : {
5882 "filename" : "include/int_source.p4",
5883 "line" : 37,
5884 "column" : 8,
5885 "source_fragment" : "hdr.int_header.setValid()"
5886 }
5887 },
5888 {
5889 "op" : "assign",
5890 "parameters" : [
5891 {
5892 "type" : "field",
5893 "value" : ["int_header", "ver"]
5894 },
5895 {
5896 "type" : "hexstr",
5897 "value" : "0x00"
5898 }
5899 ],
5900 "source_info" : {
5901 "filename" : "include/int_source.p4",
5902 "line" : 38,
5903 "column" : 8,
5904 "source_fragment" : "hdr.int_header.ver = 0"
5905 }
5906 },
5907 {
5908 "op" : "assign",
5909 "parameters" : [
5910 {
5911 "type" : "field",
5912 "value" : ["int_header", "rep"]
5913 },
5914 {
5915 "type" : "hexstr",
5916 "value" : "0x00"
5917 }
5918 ],
5919 "source_info" : {
5920 "filename" : "include/int_source.p4",
5921 "line" : 39,
5922 "column" : 8,
5923 "source_fragment" : "hdr.int_header.rep = 0"
5924 }
5925 },
5926 {
5927 "op" : "assign",
5928 "parameters" : [
5929 {
5930 "type" : "field",
5931 "value" : ["int_header", "c"]
5932 },
5933 {
5934 "type" : "hexstr",
5935 "value" : "0x00"
5936 }
5937 ],
5938 "source_info" : {
5939 "filename" : "include/int_source.p4",
5940 "line" : 40,
5941 "column" : 8,
5942 "source_fragment" : "hdr.int_header.c = 0"
5943 }
5944 },
5945 {
5946 "op" : "assign",
5947 "parameters" : [
5948 {
5949 "type" : "field",
5950 "value" : ["int_header", "e"]
5951 },
5952 {
5953 "type" : "hexstr",
5954 "value" : "0x00"
5955 }
5956 ],
5957 "source_info" : {
5958 "filename" : "include/int_source.p4",
5959 "line" : 41,
5960 "column" : 8,
5961 "source_fragment" : "hdr.int_header.e = 0"
5962 }
5963 },
5964 {
5965 "op" : "assign",
5966 "parameters" : [
5967 {
5968 "type" : "field",
5969 "value" : ["int_header", "rsvd1"]
5970 },
5971 {
5972 "type" : "hexstr",
5973 "value" : "0x00"
5974 }
5975 ],
5976 "source_info" : {
5977 "filename" : "include/int_source.p4",
5978 "line" : 42,
5979 "column" : 8,
5980 "source_fragment" : "hdr.int_header.rsvd1 = 0"
5981 }
5982 },
5983 {
5984 "op" : "assign",
5985 "parameters" : [
5986 {
5987 "type" : "field",
5988 "value" : ["int_header", "ins_cnt"]
5989 },
5990 {
5991 "type" : "runtime_data",
5992 "value" : 1
5993 }
5994 ],
5995 "source_info" : {
5996 "filename" : "include/int_source.p4",
5997 "line" : 43,
5998 "column" : 8,
5999 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
6000 }
6001 },
6002 {
6003 "op" : "assign",
6004 "parameters" : [
6005 {
6006 "type" : "field",
6007 "value" : ["int_header", "max_hop_cnt"]
6008 },
6009 {
6010 "type" : "runtime_data",
6011 "value" : 0
6012 }
6013 ],
6014 "source_info" : {
6015 "filename" : "include/int_source.p4",
6016 "line" : 44,
6017 "column" : 8,
6018 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
6019 }
6020 },
6021 {
6022 "op" : "assign",
6023 "parameters" : [
6024 {
6025 "type" : "field",
6026 "value" : ["int_header", "total_hop_cnt"]
6027 },
6028 {
6029 "type" : "hexstr",
6030 "value" : "0x00"
6031 }
6032 ],
6033 "source_info" : {
6034 "filename" : "include/int_source.p4",
6035 "line" : 45,
6036 "column" : 8,
6037 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
6038 }
6039 },
6040 {
6041 "op" : "assign",
6042 "parameters" : [
6043 {
6044 "type" : "field",
6045 "value" : ["int_header", "instruction_mask_0003"]
6046 },
6047 {
6048 "type" : "runtime_data",
6049 "value" : 2
6050 }
6051 ],
6052 "source_info" : {
6053 "filename" : "include/int_source.p4",
6054 "line" : 46,
6055 "column" : 8,
6056 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
6057 }
6058 },
6059 {
6060 "op" : "assign",
6061 "parameters" : [
6062 {
6063 "type" : "field",
6064 "value" : ["int_header", "instruction_mask_0407"]
6065 },
6066 {
6067 "type" : "runtime_data",
6068 "value" : 3
6069 }
6070 ],
6071 "source_info" : {
6072 "filename" : "include/int_source.p4",
6073 "line" : 47,
6074 "column" : 8,
6075 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
6076 }
6077 },
6078 {
6079 "op" : "assign",
6080 "parameters" : [
6081 {
6082 "type" : "field",
6083 "value" : ["int_header", "instruction_mask_0811"]
6084 },
6085 {
6086 "type" : "hexstr",
6087 "value" : "0x00"
6088 }
6089 ],
6090 "source_info" : {
6091 "filename" : "include/int_source.p4",
6092 "line" : 48,
6093 "column" : 8,
6094 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
6095 }
6096 },
6097 {
6098 "op" : "assign",
6099 "parameters" : [
6100 {
6101 "type" : "field",
6102 "value" : ["int_header", "instruction_mask_1215"]
6103 },
6104 {
6105 "type" : "hexstr",
6106 "value" : "0x00"
6107 }
6108 ],
6109 "source_info" : {
6110 "filename" : "include/int_source.p4",
6111 "line" : 49,
6112 "column" : 8,
6113 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
6114 }
6115 },
6116 {
6117 "op" : "add_header",
6118 "parameters" : [
6119 {
6120 "type" : "header",
6121 "value" : "intl4_tail"
6122 }
6123 ],
6124 "source_info" : {
6125 "filename" : "include/int_source.p4",
6126 "line" : 52,
6127 "column" : 8,
6128 "source_fragment" : "hdr.intl4_tail.setValid()"
6129 }
6130 },
6131 {
6132 "op" : "assign",
6133 "parameters" : [
6134 {
6135 "type" : "field",
6136 "value" : ["intl4_tail", "next_proto"]
6137 },
6138 {
6139 "type" : "field",
6140 "value" : ["ipv4", "protocol"]
6141 }
6142 ],
6143 "source_info" : {
6144 "filename" : "include/int_source.p4",
6145 "line" : 53,
6146 "column" : 8,
6147 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
6148 }
6149 },
6150 {
6151 "op" : "assign",
6152 "parameters" : [
6153 {
6154 "type" : "field",
6155 "value" : ["intl4_tail", "dest_port"]
6156 },
6157 {
6158 "type" : "field",
6159 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
6160 }
6161 ],
6162 "source_info" : {
6163 "filename" : "include/int_source.p4",
6164 "line" : 54,
6165 "column" : 8,
6166 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
6167 }
6168 },
6169 {
6170 "op" : "assign",
6171 "parameters" : [
6172 {
6173 "type" : "field",
6174 "value" : ["intl4_tail", "dscp"]
6175 },
6176 {
6177 "type" : "expression",
6178 "value" : {
6179 "type" : "expression",
6180 "value" : {
6181 "op" : "&",
6182 "left" : {
6183 "type" : "field",
6184 "value" : ["ipv4", "dscp"]
6185 },
6186 "right" : {
6187 "type" : "hexstr",
6188 "value" : "0xff"
6189 }
6190 }
6191 }
6192 }
6193 ],
6194 "source_info" : {
6195 "filename" : "include/int_source.p4",
6196 "line" : 55,
6197 "column" : 8,
6198 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
6199 }
6200 },
6201 {
6202 "op" : "assign",
6203 "parameters" : [
6204 {
6205 "type" : "field",
6206 "value" : ["ipv4", "total_len"]
6207 },
6208 {
6209 "type" : "expression",
6210 "value" : {
6211 "type" : "expression",
6212 "value" : {
6213 "op" : "&",
6214 "left" : {
6215 "type" : "expression",
6216 "value" : {
6217 "op" : "+",
6218 "left" : {
6219 "type" : "field",
6220 "value" : ["ipv4", "total_len"]
6221 },
6222 "right" : {
6223 "type" : "hexstr",
6224 "value" : "0x0010"
6225 }
6226 }
6227 },
6228 "right" : {
6229 "type" : "hexstr",
6230 "value" : "0xffff"
6231 }
6232 }
6233 }
6234 }
6235 ],
6236 "source_info" : {
6237 "filename" : "include/int_source.p4",
6238 "line" : 58,
6239 "column" : 8,
6240 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
6241 }
6242 },
6243 {
6244 "op" : "assign",
6245 "parameters" : [
6246 {
6247 "type" : "field",
6248 "value" : ["udp", "len"]
6249 },
6250 {
6251 "type" : "expression",
6252 "value" : {
6253 "type" : "expression",
6254 "value" : {
6255 "op" : "&",
6256 "left" : {
6257 "type" : "expression",
6258 "value" : {
6259 "op" : "+",
6260 "left" : {
6261 "type" : "field",
6262 "value" : ["udp", "len"]
6263 },
6264 "right" : {
6265 "type" : "hexstr",
6266 "value" : "0x0010"
6267 }
6268 }
6269 },
6270 "right" : {
6271 "type" : "hexstr",
6272 "value" : "0xffff"
6273 }
6274 }
6275 }
6276 }
6277 ],
6278 "source_info" : {
6279 "filename" : "include/int_source.p4",
6280 "line" : 59,
6281 "column" : 8,
6282 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
6283 }
6284 },
6285 {
6286 "op" : "assign",
6287 "parameters" : [
6288 {
6289 "type" : "field",
6290 "value" : ["ipv4", "dscp"]
6291 },
6292 {
6293 "type" : "hexstr",
6294 "value" : "0x01"
6295 }
6296 ],
6297 "source_info" : {
6298 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006299 "line" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006300 "column" : 24,
6301 "source_fragment" : "0x1; ..."
6302 }
6303 }
6304 ]
6305 },
6306 {
6307 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006308 "id" : 85,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006309 "runtime_data" : [],
6310 "primitives" : [
6311 {
6312 "op" : "assign",
6313 "parameters" : [
6314 {
6315 "type" : "field",
6316 "value" : ["int_header", "total_hop_cnt"]
6317 },
6318 {
6319 "type" : "expression",
6320 "value" : {
6321 "type" : "expression",
6322 "value" : {
6323 "op" : "&",
6324 "left" : {
6325 "type" : "expression",
6326 "value" : {
6327 "op" : "+",
6328 "left" : {
6329 "type" : "field",
6330 "value" : ["int_header", "total_hop_cnt"]
6331 },
6332 "right" : {
6333 "type" : "hexstr",
6334 "value" : "0x01"
6335 }
6336 }
6337 },
6338 "right" : {
6339 "type" : "hexstr",
6340 "value" : "0xff"
6341 }
6342 }
6343 }
6344 }
6345 ],
6346 "source_info" : {
6347 "filename" : "include/int_transit.p4",
6348 "line" : 30,
6349 "column" : 8,
6350 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
6351 }
6352 }
6353 ]
6354 },
6355 {
6356 "name" : "FabricEgress.process_int_transit.int_transit",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006357 "id" : 86,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006358 "runtime_data" : [
6359 {
6360 "name" : "switch_id",
6361 "bitwidth" : 32
6362 }
6363 ],
6364 "primitives" : [
6365 {
6366 "op" : "assign",
6367 "parameters" : [
6368 {
6369 "type" : "field",
6370 "value" : ["userMetadata.int_meta", "switch_id"]
6371 },
6372 {
6373 "type" : "runtime_data",
6374 "value" : 0
6375 }
6376 ],
6377 "source_info" : {
6378 "filename" : "include/int_transit.p4",
6379 "line" : 34,
6380 "column" : 8,
6381 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
6382 }
6383 },
6384 {
6385 "op" : "assign",
6386 "parameters" : [
6387 {
6388 "type" : "field",
6389 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
6390 },
6391 {
6392 "type" : "expression",
6393 "value" : {
6394 "type" : "expression",
6395 "value" : {
6396 "op" : "&",
6397 "left" : {
6398 "type" : "expression",
6399 "value" : {
6400 "op" : "<<",
6401 "left" : {
6402 "type" : "expression",
6403 "value" : {
6404 "op" : "&",
6405 "left" : {
6406 "type" : "field",
6407 "value" : ["int_header", "ins_cnt"]
6408 },
6409 "right" : {
6410 "type" : "hexstr",
6411 "value" : "0xffff"
6412 }
6413 }
6414 },
6415 "right" : {
6416 "type" : "hexstr",
6417 "value" : "0x2"
6418 }
6419 }
6420 },
6421 "right" : {
6422 "type" : "hexstr",
6423 "value" : "0xffff"
6424 }
6425 }
6426 }
6427 }
6428 ],
6429 "source_info" : {
6430 "filename" : "include/int_transit.p4",
6431 "line" : 35,
6432 "column" : 8,
6433 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
6434 }
6435 }
6436 ]
6437 },
6438 {
6439 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006440 "id" : 87,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006441 "runtime_data" : [],
6442 "primitives" : []
6443 },
6444 {
6445 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006446 "id" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006447 "runtime_data" : [],
6448 "primitives" : [
6449 {
6450 "op" : "add_header",
6451 "parameters" : [
6452 {
6453 "type" : "header",
6454 "value" : "int_q_occupancy"
6455 }
6456 ],
6457 "source_info" : {
6458 "filename" : "include/int_transit.p4",
6459 "line" : 57,
6460 "column" : 8,
6461 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6462 }
6463 },
6464 {
6465 "op" : "assign",
6466 "parameters" : [
6467 {
6468 "type" : "field",
6469 "value" : ["int_q_occupancy", "q_id"]
6470 },
6471 {
6472 "type" : "hexstr",
6473 "value" : "0x00"
6474 }
6475 ],
6476 "source_info" : {
6477 "filename" : "include/int_transit.p4",
6478 "line" : 58,
6479 "column" : 8,
6480 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6481 }
6482 },
6483 {
6484 "op" : "assign",
6485 "parameters" : [
6486 {
6487 "type" : "field",
6488 "value" : ["int_q_occupancy", "q_occupancy"]
6489 },
6490 {
6491 "type" : "expression",
6492 "value" : {
6493 "type" : "expression",
6494 "value" : {
6495 "op" : "&",
6496 "left" : {
6497 "type" : "field",
6498 "value" : ["standard_metadata", "deq_qdepth"]
6499 },
6500 "right" : {
6501 "type" : "hexstr",
6502 "value" : "0xffffff"
6503 }
6504 }
6505 }
6506 }
6507 ],
6508 "source_info" : {
6509 "filename" : "include/int_transit.p4",
6510 "line" : 61,
6511 "column" : 8,
6512 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6513 }
6514 }
6515 ]
6516 },
6517 {
6518 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006519 "id" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006520 "runtime_data" : [],
6521 "primitives" : [
6522 {
6523 "op" : "add_header",
6524 "parameters" : [
6525 {
6526 "type" : "header",
6527 "value" : "int_hop_latency"
6528 }
6529 ],
6530 "source_info" : {
6531 "filename" : "include/int_transit.p4",
6532 "line" : 51,
6533 "column" : 8,
6534 "source_fragment" : "hdr.int_hop_latency.setValid()"
6535 }
6536 },
6537 {
6538 "op" : "assign",
6539 "parameters" : [
6540 {
6541 "type" : "field",
6542 "value" : ["int_hop_latency", "hop_latency"]
6543 },
6544 {
6545 "type" : "field",
6546 "value" : ["standard_metadata", "deq_timedelta"]
6547 }
6548 ],
6549 "source_info" : {
6550 "filename" : "include/int_transit.p4",
6551 "line" : 52,
6552 "column" : 8,
6553 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6554 }
6555 }
6556 ]
6557 },
6558 {
6559 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006560 "id" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006561 "runtime_data" : [],
6562 "primitives" : [
6563 {
6564 "op" : "add_header",
6565 "parameters" : [
6566 {
6567 "type" : "header",
6568 "value" : "int_q_occupancy"
6569 }
6570 ],
6571 "source_info" : {
6572 "filename" : "include/int_transit.p4",
6573 "line" : 57,
6574 "column" : 8,
6575 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6576 }
6577 },
6578 {
6579 "op" : "assign",
6580 "parameters" : [
6581 {
6582 "type" : "field",
6583 "value" : ["int_q_occupancy", "q_id"]
6584 },
6585 {
6586 "type" : "hexstr",
6587 "value" : "0x00"
6588 }
6589 ],
6590 "source_info" : {
6591 "filename" : "include/int_transit.p4",
6592 "line" : 58,
6593 "column" : 8,
6594 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6595 }
6596 },
6597 {
6598 "op" : "assign",
6599 "parameters" : [
6600 {
6601 "type" : "field",
6602 "value" : ["int_q_occupancy", "q_occupancy"]
6603 },
6604 {
6605 "type" : "expression",
6606 "value" : {
6607 "type" : "expression",
6608 "value" : {
6609 "op" : "&",
6610 "left" : {
6611 "type" : "field",
6612 "value" : ["standard_metadata", "deq_qdepth"]
6613 },
6614 "right" : {
6615 "type" : "hexstr",
6616 "value" : "0xffffff"
6617 }
6618 }
6619 }
6620 }
6621 ],
6622 "source_info" : {
6623 "filename" : "include/int_transit.p4",
6624 "line" : 61,
6625 "column" : 8,
6626 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6627 }
6628 },
6629 {
6630 "op" : "add_header",
6631 "parameters" : [
6632 {
6633 "type" : "header",
6634 "value" : "int_hop_latency"
6635 }
6636 ],
6637 "source_info" : {
6638 "filename" : "include/int_transit.p4",
6639 "line" : 51,
6640 "column" : 8,
6641 "source_fragment" : "hdr.int_hop_latency.setValid()"
6642 }
6643 },
6644 {
6645 "op" : "assign",
6646 "parameters" : [
6647 {
6648 "type" : "field",
6649 "value" : ["int_hop_latency", "hop_latency"]
6650 },
6651 {
6652 "type" : "field",
6653 "value" : ["standard_metadata", "deq_timedelta"]
6654 }
6655 ],
6656 "source_info" : {
6657 "filename" : "include/int_transit.p4",
6658 "line" : 52,
6659 "column" : 8,
6660 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6661 }
6662 }
6663 ]
6664 },
6665 {
6666 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006667 "id" : 91,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006668 "runtime_data" : [],
6669 "primitives" : [
6670 {
6671 "op" : "add_header",
6672 "parameters" : [
6673 {
6674 "type" : "header",
6675 "value" : "int_port_ids"
6676 }
6677 ],
6678 "source_info" : {
6679 "filename" : "include/int_transit.p4",
6680 "line" : 44,
6681 "column" : 8,
6682 "source_fragment" : "hdr.int_port_ids.setValid()"
6683 }
6684 },
6685 {
6686 "op" : "assign",
6687 "parameters" : [
6688 {
6689 "type" : "field",
6690 "value" : ["int_port_ids", "ingress_port_id"]
6691 },
6692 {
6693 "type" : "expression",
6694 "value" : {
6695 "type" : "expression",
6696 "value" : {
6697 "op" : "&",
6698 "left" : {
6699 "type" : "field",
6700 "value" : ["standard_metadata", "ingress_port"]
6701 },
6702 "right" : {
6703 "type" : "hexstr",
6704 "value" : "0xffff"
6705 }
6706 }
6707 }
6708 }
6709 ],
6710 "source_info" : {
6711 "filename" : "include/int_transit.p4",
6712 "line" : 45,
6713 "column" : 8,
6714 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6715 }
6716 },
6717 {
6718 "op" : "assign",
6719 "parameters" : [
6720 {
6721 "type" : "field",
6722 "value" : ["int_port_ids", "egress_port_id"]
6723 },
6724 {
6725 "type" : "expression",
6726 "value" : {
6727 "type" : "expression",
6728 "value" : {
6729 "op" : "&",
6730 "left" : {
6731 "type" : "field",
6732 "value" : ["standard_metadata", "egress_port"]
6733 },
6734 "right" : {
6735 "type" : "hexstr",
6736 "value" : "0xffff"
6737 }
6738 }
6739 }
6740 }
6741 ],
6742 "source_info" : {
6743 "filename" : "include/int_transit.p4",
6744 "line" : 47,
6745 "column" : 8,
6746 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6747 }
6748 }
6749 ]
6750 },
6751 {
6752 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006753 "id" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006754 "runtime_data" : [],
6755 "primitives" : [
6756 {
6757 "op" : "add_header",
6758 "parameters" : [
6759 {
6760 "type" : "header",
6761 "value" : "int_q_occupancy"
6762 }
6763 ],
6764 "source_info" : {
6765 "filename" : "include/int_transit.p4",
6766 "line" : 57,
6767 "column" : 8,
6768 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6769 }
6770 },
6771 {
6772 "op" : "assign",
6773 "parameters" : [
6774 {
6775 "type" : "field",
6776 "value" : ["int_q_occupancy", "q_id"]
6777 },
6778 {
6779 "type" : "hexstr",
6780 "value" : "0x00"
6781 }
6782 ],
6783 "source_info" : {
6784 "filename" : "include/int_transit.p4",
6785 "line" : 58,
6786 "column" : 8,
6787 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6788 }
6789 },
6790 {
6791 "op" : "assign",
6792 "parameters" : [
6793 {
6794 "type" : "field",
6795 "value" : ["int_q_occupancy", "q_occupancy"]
6796 },
6797 {
6798 "type" : "expression",
6799 "value" : {
6800 "type" : "expression",
6801 "value" : {
6802 "op" : "&",
6803 "left" : {
6804 "type" : "field",
6805 "value" : ["standard_metadata", "deq_qdepth"]
6806 },
6807 "right" : {
6808 "type" : "hexstr",
6809 "value" : "0xffffff"
6810 }
6811 }
6812 }
6813 }
6814 ],
6815 "source_info" : {
6816 "filename" : "include/int_transit.p4",
6817 "line" : 61,
6818 "column" : 8,
6819 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6820 }
6821 },
6822 {
6823 "op" : "add_header",
6824 "parameters" : [
6825 {
6826 "type" : "header",
6827 "value" : "int_port_ids"
6828 }
6829 ],
6830 "source_info" : {
6831 "filename" : "include/int_transit.p4",
6832 "line" : 44,
6833 "column" : 8,
6834 "source_fragment" : "hdr.int_port_ids.setValid()"
6835 }
6836 },
6837 {
6838 "op" : "assign",
6839 "parameters" : [
6840 {
6841 "type" : "field",
6842 "value" : ["int_port_ids", "ingress_port_id"]
6843 },
6844 {
6845 "type" : "expression",
6846 "value" : {
6847 "type" : "expression",
6848 "value" : {
6849 "op" : "&",
6850 "left" : {
6851 "type" : "field",
6852 "value" : ["standard_metadata", "ingress_port"]
6853 },
6854 "right" : {
6855 "type" : "hexstr",
6856 "value" : "0xffff"
6857 }
6858 }
6859 }
6860 }
6861 ],
6862 "source_info" : {
6863 "filename" : "include/int_transit.p4",
6864 "line" : 45,
6865 "column" : 8,
6866 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6867 }
6868 },
6869 {
6870 "op" : "assign",
6871 "parameters" : [
6872 {
6873 "type" : "field",
6874 "value" : ["int_port_ids", "egress_port_id"]
6875 },
6876 {
6877 "type" : "expression",
6878 "value" : {
6879 "type" : "expression",
6880 "value" : {
6881 "op" : "&",
6882 "left" : {
6883 "type" : "field",
6884 "value" : ["standard_metadata", "egress_port"]
6885 },
6886 "right" : {
6887 "type" : "hexstr",
6888 "value" : "0xffff"
6889 }
6890 }
6891 }
6892 }
6893 ],
6894 "source_info" : {
6895 "filename" : "include/int_transit.p4",
6896 "line" : 47,
6897 "column" : 8,
6898 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6899 }
6900 }
6901 ]
6902 },
6903 {
6904 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006905 "id" : 93,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006906 "runtime_data" : [],
6907 "primitives" : [
6908 {
6909 "op" : "add_header",
6910 "parameters" : [
6911 {
6912 "type" : "header",
6913 "value" : "int_hop_latency"
6914 }
6915 ],
6916 "source_info" : {
6917 "filename" : "include/int_transit.p4",
6918 "line" : 51,
6919 "column" : 8,
6920 "source_fragment" : "hdr.int_hop_latency.setValid()"
6921 }
6922 },
6923 {
6924 "op" : "assign",
6925 "parameters" : [
6926 {
6927 "type" : "field",
6928 "value" : ["int_hop_latency", "hop_latency"]
6929 },
6930 {
6931 "type" : "field",
6932 "value" : ["standard_metadata", "deq_timedelta"]
6933 }
6934 ],
6935 "source_info" : {
6936 "filename" : "include/int_transit.p4",
6937 "line" : 52,
6938 "column" : 8,
6939 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6940 }
6941 },
6942 {
6943 "op" : "add_header",
6944 "parameters" : [
6945 {
6946 "type" : "header",
6947 "value" : "int_port_ids"
6948 }
6949 ],
6950 "source_info" : {
6951 "filename" : "include/int_transit.p4",
6952 "line" : 44,
6953 "column" : 8,
6954 "source_fragment" : "hdr.int_port_ids.setValid()"
6955 }
6956 },
6957 {
6958 "op" : "assign",
6959 "parameters" : [
6960 {
6961 "type" : "field",
6962 "value" : ["int_port_ids", "ingress_port_id"]
6963 },
6964 {
6965 "type" : "expression",
6966 "value" : {
6967 "type" : "expression",
6968 "value" : {
6969 "op" : "&",
6970 "left" : {
6971 "type" : "field",
6972 "value" : ["standard_metadata", "ingress_port"]
6973 },
6974 "right" : {
6975 "type" : "hexstr",
6976 "value" : "0xffff"
6977 }
6978 }
6979 }
6980 }
6981 ],
6982 "source_info" : {
6983 "filename" : "include/int_transit.p4",
6984 "line" : 45,
6985 "column" : 8,
6986 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6987 }
6988 },
6989 {
6990 "op" : "assign",
6991 "parameters" : [
6992 {
6993 "type" : "field",
6994 "value" : ["int_port_ids", "egress_port_id"]
6995 },
6996 {
6997 "type" : "expression",
6998 "value" : {
6999 "type" : "expression",
7000 "value" : {
7001 "op" : "&",
7002 "left" : {
7003 "type" : "field",
7004 "value" : ["standard_metadata", "egress_port"]
7005 },
7006 "right" : {
7007 "type" : "hexstr",
7008 "value" : "0xffff"
7009 }
7010 }
7011 }
7012 }
7013 ],
7014 "source_info" : {
7015 "filename" : "include/int_transit.p4",
7016 "line" : 47,
7017 "column" : 8,
7018 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7019 }
7020 }
7021 ]
7022 },
7023 {
7024 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007025 "id" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007026 "runtime_data" : [],
7027 "primitives" : [
7028 {
7029 "op" : "add_header",
7030 "parameters" : [
7031 {
7032 "type" : "header",
7033 "value" : "int_q_occupancy"
7034 }
7035 ],
7036 "source_info" : {
7037 "filename" : "include/int_transit.p4",
7038 "line" : 57,
7039 "column" : 8,
7040 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7041 }
7042 },
7043 {
7044 "op" : "assign",
7045 "parameters" : [
7046 {
7047 "type" : "field",
7048 "value" : ["int_q_occupancy", "q_id"]
7049 },
7050 {
7051 "type" : "hexstr",
7052 "value" : "0x00"
7053 }
7054 ],
7055 "source_info" : {
7056 "filename" : "include/int_transit.p4",
7057 "line" : 58,
7058 "column" : 8,
7059 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7060 }
7061 },
7062 {
7063 "op" : "assign",
7064 "parameters" : [
7065 {
7066 "type" : "field",
7067 "value" : ["int_q_occupancy", "q_occupancy"]
7068 },
7069 {
7070 "type" : "expression",
7071 "value" : {
7072 "type" : "expression",
7073 "value" : {
7074 "op" : "&",
7075 "left" : {
7076 "type" : "field",
7077 "value" : ["standard_metadata", "deq_qdepth"]
7078 },
7079 "right" : {
7080 "type" : "hexstr",
7081 "value" : "0xffffff"
7082 }
7083 }
7084 }
7085 }
7086 ],
7087 "source_info" : {
7088 "filename" : "include/int_transit.p4",
7089 "line" : 61,
7090 "column" : 8,
7091 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7092 }
7093 },
7094 {
7095 "op" : "add_header",
7096 "parameters" : [
7097 {
7098 "type" : "header",
7099 "value" : "int_hop_latency"
7100 }
7101 ],
7102 "source_info" : {
7103 "filename" : "include/int_transit.p4",
7104 "line" : 51,
7105 "column" : 8,
7106 "source_fragment" : "hdr.int_hop_latency.setValid()"
7107 }
7108 },
7109 {
7110 "op" : "assign",
7111 "parameters" : [
7112 {
7113 "type" : "field",
7114 "value" : ["int_hop_latency", "hop_latency"]
7115 },
7116 {
7117 "type" : "field",
7118 "value" : ["standard_metadata", "deq_timedelta"]
7119 }
7120 ],
7121 "source_info" : {
7122 "filename" : "include/int_transit.p4",
7123 "line" : 52,
7124 "column" : 8,
7125 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7126 }
7127 },
7128 {
7129 "op" : "add_header",
7130 "parameters" : [
7131 {
7132 "type" : "header",
7133 "value" : "int_port_ids"
7134 }
7135 ],
7136 "source_info" : {
7137 "filename" : "include/int_transit.p4",
7138 "line" : 44,
7139 "column" : 8,
7140 "source_fragment" : "hdr.int_port_ids.setValid()"
7141 }
7142 },
7143 {
7144 "op" : "assign",
7145 "parameters" : [
7146 {
7147 "type" : "field",
7148 "value" : ["int_port_ids", "ingress_port_id"]
7149 },
7150 {
7151 "type" : "expression",
7152 "value" : {
7153 "type" : "expression",
7154 "value" : {
7155 "op" : "&",
7156 "left" : {
7157 "type" : "field",
7158 "value" : ["standard_metadata", "ingress_port"]
7159 },
7160 "right" : {
7161 "type" : "hexstr",
7162 "value" : "0xffff"
7163 }
7164 }
7165 }
7166 }
7167 ],
7168 "source_info" : {
7169 "filename" : "include/int_transit.p4",
7170 "line" : 45,
7171 "column" : 8,
7172 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7173 }
7174 },
7175 {
7176 "op" : "assign",
7177 "parameters" : [
7178 {
7179 "type" : "field",
7180 "value" : ["int_port_ids", "egress_port_id"]
7181 },
7182 {
7183 "type" : "expression",
7184 "value" : {
7185 "type" : "expression",
7186 "value" : {
7187 "op" : "&",
7188 "left" : {
7189 "type" : "field",
7190 "value" : ["standard_metadata", "egress_port"]
7191 },
7192 "right" : {
7193 "type" : "hexstr",
7194 "value" : "0xffff"
7195 }
7196 }
7197 }
7198 }
7199 ],
7200 "source_info" : {
7201 "filename" : "include/int_transit.p4",
7202 "line" : 47,
7203 "column" : 8,
7204 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7205 }
7206 }
7207 ]
7208 },
7209 {
7210 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007211 "id" : 95,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007212 "runtime_data" : [],
7213 "primitives" : [
7214 {
7215 "op" : "add_header",
7216 "parameters" : [
7217 {
7218 "type" : "header",
7219 "value" : "int_switch_id"
7220 }
7221 ],
7222 "source_info" : {
7223 "filename" : "include/int_transit.p4",
7224 "line" : 40,
7225 "column" : 8,
7226 "source_fragment" : "hdr.int_switch_id.setValid()"
7227 }
7228 },
7229 {
7230 "op" : "assign",
7231 "parameters" : [
7232 {
7233 "type" : "field",
7234 "value" : ["int_switch_id", "switch_id"]
7235 },
7236 {
7237 "type" : "field",
7238 "value" : ["userMetadata.int_meta", "switch_id"]
7239 }
7240 ],
7241 "source_info" : {
7242 "filename" : "include/int_transit.p4",
7243 "line" : 41,
7244 "column" : 8,
7245 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7246 }
7247 }
7248 ]
7249 },
7250 {
7251 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007252 "id" : 96,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007253 "runtime_data" : [],
7254 "primitives" : [
7255 {
7256 "op" : "add_header",
7257 "parameters" : [
7258 {
7259 "type" : "header",
7260 "value" : "int_q_occupancy"
7261 }
7262 ],
7263 "source_info" : {
7264 "filename" : "include/int_transit.p4",
7265 "line" : 57,
7266 "column" : 8,
7267 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7268 }
7269 },
7270 {
7271 "op" : "assign",
7272 "parameters" : [
7273 {
7274 "type" : "field",
7275 "value" : ["int_q_occupancy", "q_id"]
7276 },
7277 {
7278 "type" : "hexstr",
7279 "value" : "0x00"
7280 }
7281 ],
7282 "source_info" : {
7283 "filename" : "include/int_transit.p4",
7284 "line" : 58,
7285 "column" : 8,
7286 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7287 }
7288 },
7289 {
7290 "op" : "assign",
7291 "parameters" : [
7292 {
7293 "type" : "field",
7294 "value" : ["int_q_occupancy", "q_occupancy"]
7295 },
7296 {
7297 "type" : "expression",
7298 "value" : {
7299 "type" : "expression",
7300 "value" : {
7301 "op" : "&",
7302 "left" : {
7303 "type" : "field",
7304 "value" : ["standard_metadata", "deq_qdepth"]
7305 },
7306 "right" : {
7307 "type" : "hexstr",
7308 "value" : "0xffffff"
7309 }
7310 }
7311 }
7312 }
7313 ],
7314 "source_info" : {
7315 "filename" : "include/int_transit.p4",
7316 "line" : 61,
7317 "column" : 8,
7318 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7319 }
7320 },
7321 {
7322 "op" : "add_header",
7323 "parameters" : [
7324 {
7325 "type" : "header",
7326 "value" : "int_switch_id"
7327 }
7328 ],
7329 "source_info" : {
7330 "filename" : "include/int_transit.p4",
7331 "line" : 40,
7332 "column" : 8,
7333 "source_fragment" : "hdr.int_switch_id.setValid()"
7334 }
7335 },
7336 {
7337 "op" : "assign",
7338 "parameters" : [
7339 {
7340 "type" : "field",
7341 "value" : ["int_switch_id", "switch_id"]
7342 },
7343 {
7344 "type" : "field",
7345 "value" : ["userMetadata.int_meta", "switch_id"]
7346 }
7347 ],
7348 "source_info" : {
7349 "filename" : "include/int_transit.p4",
7350 "line" : 41,
7351 "column" : 8,
7352 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7353 }
7354 }
7355 ]
7356 },
7357 {
7358 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007359 "id" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007360 "runtime_data" : [],
7361 "primitives" : [
7362 {
7363 "op" : "add_header",
7364 "parameters" : [
7365 {
7366 "type" : "header",
7367 "value" : "int_hop_latency"
7368 }
7369 ],
7370 "source_info" : {
7371 "filename" : "include/int_transit.p4",
7372 "line" : 51,
7373 "column" : 8,
7374 "source_fragment" : "hdr.int_hop_latency.setValid()"
7375 }
7376 },
7377 {
7378 "op" : "assign",
7379 "parameters" : [
7380 {
7381 "type" : "field",
7382 "value" : ["int_hop_latency", "hop_latency"]
7383 },
7384 {
7385 "type" : "field",
7386 "value" : ["standard_metadata", "deq_timedelta"]
7387 }
7388 ],
7389 "source_info" : {
7390 "filename" : "include/int_transit.p4",
7391 "line" : 52,
7392 "column" : 8,
7393 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7394 }
7395 },
7396 {
7397 "op" : "add_header",
7398 "parameters" : [
7399 {
7400 "type" : "header",
7401 "value" : "int_switch_id"
7402 }
7403 ],
7404 "source_info" : {
7405 "filename" : "include/int_transit.p4",
7406 "line" : 40,
7407 "column" : 8,
7408 "source_fragment" : "hdr.int_switch_id.setValid()"
7409 }
7410 },
7411 {
7412 "op" : "assign",
7413 "parameters" : [
7414 {
7415 "type" : "field",
7416 "value" : ["int_switch_id", "switch_id"]
7417 },
7418 {
7419 "type" : "field",
7420 "value" : ["userMetadata.int_meta", "switch_id"]
7421 }
7422 ],
7423 "source_info" : {
7424 "filename" : "include/int_transit.p4",
7425 "line" : 41,
7426 "column" : 8,
7427 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7428 }
7429 }
7430 ]
7431 },
7432 {
7433 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007434 "id" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007435 "runtime_data" : [],
7436 "primitives" : [
7437 {
7438 "op" : "add_header",
7439 "parameters" : [
7440 {
7441 "type" : "header",
7442 "value" : "int_q_occupancy"
7443 }
7444 ],
7445 "source_info" : {
7446 "filename" : "include/int_transit.p4",
7447 "line" : 57,
7448 "column" : 8,
7449 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7450 }
7451 },
7452 {
7453 "op" : "assign",
7454 "parameters" : [
7455 {
7456 "type" : "field",
7457 "value" : ["int_q_occupancy", "q_id"]
7458 },
7459 {
7460 "type" : "hexstr",
7461 "value" : "0x00"
7462 }
7463 ],
7464 "source_info" : {
7465 "filename" : "include/int_transit.p4",
7466 "line" : 58,
7467 "column" : 8,
7468 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7469 }
7470 },
7471 {
7472 "op" : "assign",
7473 "parameters" : [
7474 {
7475 "type" : "field",
7476 "value" : ["int_q_occupancy", "q_occupancy"]
7477 },
7478 {
7479 "type" : "expression",
7480 "value" : {
7481 "type" : "expression",
7482 "value" : {
7483 "op" : "&",
7484 "left" : {
7485 "type" : "field",
7486 "value" : ["standard_metadata", "deq_qdepth"]
7487 },
7488 "right" : {
7489 "type" : "hexstr",
7490 "value" : "0xffffff"
7491 }
7492 }
7493 }
7494 }
7495 ],
7496 "source_info" : {
7497 "filename" : "include/int_transit.p4",
7498 "line" : 61,
7499 "column" : 8,
7500 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7501 }
7502 },
7503 {
7504 "op" : "add_header",
7505 "parameters" : [
7506 {
7507 "type" : "header",
7508 "value" : "int_hop_latency"
7509 }
7510 ],
7511 "source_info" : {
7512 "filename" : "include/int_transit.p4",
7513 "line" : 51,
7514 "column" : 8,
7515 "source_fragment" : "hdr.int_hop_latency.setValid()"
7516 }
7517 },
7518 {
7519 "op" : "assign",
7520 "parameters" : [
7521 {
7522 "type" : "field",
7523 "value" : ["int_hop_latency", "hop_latency"]
7524 },
7525 {
7526 "type" : "field",
7527 "value" : ["standard_metadata", "deq_timedelta"]
7528 }
7529 ],
7530 "source_info" : {
7531 "filename" : "include/int_transit.p4",
7532 "line" : 52,
7533 "column" : 8,
7534 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7535 }
7536 },
7537 {
7538 "op" : "add_header",
7539 "parameters" : [
7540 {
7541 "type" : "header",
7542 "value" : "int_switch_id"
7543 }
7544 ],
7545 "source_info" : {
7546 "filename" : "include/int_transit.p4",
7547 "line" : 40,
7548 "column" : 8,
7549 "source_fragment" : "hdr.int_switch_id.setValid()"
7550 }
7551 },
7552 {
7553 "op" : "assign",
7554 "parameters" : [
7555 {
7556 "type" : "field",
7557 "value" : ["int_switch_id", "switch_id"]
7558 },
7559 {
7560 "type" : "field",
7561 "value" : ["userMetadata.int_meta", "switch_id"]
7562 }
7563 ],
7564 "source_info" : {
7565 "filename" : "include/int_transit.p4",
7566 "line" : 41,
7567 "column" : 8,
7568 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7569 }
7570 }
7571 ]
7572 },
7573 {
7574 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007575 "id" : 99,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007576 "runtime_data" : [],
7577 "primitives" : [
7578 {
7579 "op" : "add_header",
7580 "parameters" : [
7581 {
7582 "type" : "header",
7583 "value" : "int_port_ids"
7584 }
7585 ],
7586 "source_info" : {
7587 "filename" : "include/int_transit.p4",
7588 "line" : 44,
7589 "column" : 8,
7590 "source_fragment" : "hdr.int_port_ids.setValid()"
7591 }
7592 },
7593 {
7594 "op" : "assign",
7595 "parameters" : [
7596 {
7597 "type" : "field",
7598 "value" : ["int_port_ids", "ingress_port_id"]
7599 },
7600 {
7601 "type" : "expression",
7602 "value" : {
7603 "type" : "expression",
7604 "value" : {
7605 "op" : "&",
7606 "left" : {
7607 "type" : "field",
7608 "value" : ["standard_metadata", "ingress_port"]
7609 },
7610 "right" : {
7611 "type" : "hexstr",
7612 "value" : "0xffff"
7613 }
7614 }
7615 }
7616 }
7617 ],
7618 "source_info" : {
7619 "filename" : "include/int_transit.p4",
7620 "line" : 45,
7621 "column" : 8,
7622 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7623 }
7624 },
7625 {
7626 "op" : "assign",
7627 "parameters" : [
7628 {
7629 "type" : "field",
7630 "value" : ["int_port_ids", "egress_port_id"]
7631 },
7632 {
7633 "type" : "expression",
7634 "value" : {
7635 "type" : "expression",
7636 "value" : {
7637 "op" : "&",
7638 "left" : {
7639 "type" : "field",
7640 "value" : ["standard_metadata", "egress_port"]
7641 },
7642 "right" : {
7643 "type" : "hexstr",
7644 "value" : "0xffff"
7645 }
7646 }
7647 }
7648 }
7649 ],
7650 "source_info" : {
7651 "filename" : "include/int_transit.p4",
7652 "line" : 47,
7653 "column" : 8,
7654 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7655 }
7656 },
7657 {
7658 "op" : "add_header",
7659 "parameters" : [
7660 {
7661 "type" : "header",
7662 "value" : "int_switch_id"
7663 }
7664 ],
7665 "source_info" : {
7666 "filename" : "include/int_transit.p4",
7667 "line" : 40,
7668 "column" : 8,
7669 "source_fragment" : "hdr.int_switch_id.setValid()"
7670 }
7671 },
7672 {
7673 "op" : "assign",
7674 "parameters" : [
7675 {
7676 "type" : "field",
7677 "value" : ["int_switch_id", "switch_id"]
7678 },
7679 {
7680 "type" : "field",
7681 "value" : ["userMetadata.int_meta", "switch_id"]
7682 }
7683 ],
7684 "source_info" : {
7685 "filename" : "include/int_transit.p4",
7686 "line" : 41,
7687 "column" : 8,
7688 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7689 }
7690 }
7691 ]
7692 },
7693 {
7694 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007695 "id" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007696 "runtime_data" : [],
7697 "primitives" : [
7698 {
7699 "op" : "add_header",
7700 "parameters" : [
7701 {
7702 "type" : "header",
7703 "value" : "int_q_occupancy"
7704 }
7705 ],
7706 "source_info" : {
7707 "filename" : "include/int_transit.p4",
7708 "line" : 57,
7709 "column" : 8,
7710 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7711 }
7712 },
7713 {
7714 "op" : "assign",
7715 "parameters" : [
7716 {
7717 "type" : "field",
7718 "value" : ["int_q_occupancy", "q_id"]
7719 },
7720 {
7721 "type" : "hexstr",
7722 "value" : "0x00"
7723 }
7724 ],
7725 "source_info" : {
7726 "filename" : "include/int_transit.p4",
7727 "line" : 58,
7728 "column" : 8,
7729 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7730 }
7731 },
7732 {
7733 "op" : "assign",
7734 "parameters" : [
7735 {
7736 "type" : "field",
7737 "value" : ["int_q_occupancy", "q_occupancy"]
7738 },
7739 {
7740 "type" : "expression",
7741 "value" : {
7742 "type" : "expression",
7743 "value" : {
7744 "op" : "&",
7745 "left" : {
7746 "type" : "field",
7747 "value" : ["standard_metadata", "deq_qdepth"]
7748 },
7749 "right" : {
7750 "type" : "hexstr",
7751 "value" : "0xffffff"
7752 }
7753 }
7754 }
7755 }
7756 ],
7757 "source_info" : {
7758 "filename" : "include/int_transit.p4",
7759 "line" : 61,
7760 "column" : 8,
7761 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7762 }
7763 },
7764 {
7765 "op" : "add_header",
7766 "parameters" : [
7767 {
7768 "type" : "header",
7769 "value" : "int_port_ids"
7770 }
7771 ],
7772 "source_info" : {
7773 "filename" : "include/int_transit.p4",
7774 "line" : 44,
7775 "column" : 8,
7776 "source_fragment" : "hdr.int_port_ids.setValid()"
7777 }
7778 },
7779 {
7780 "op" : "assign",
7781 "parameters" : [
7782 {
7783 "type" : "field",
7784 "value" : ["int_port_ids", "ingress_port_id"]
7785 },
7786 {
7787 "type" : "expression",
7788 "value" : {
7789 "type" : "expression",
7790 "value" : {
7791 "op" : "&",
7792 "left" : {
7793 "type" : "field",
7794 "value" : ["standard_metadata", "ingress_port"]
7795 },
7796 "right" : {
7797 "type" : "hexstr",
7798 "value" : "0xffff"
7799 }
7800 }
7801 }
7802 }
7803 ],
7804 "source_info" : {
7805 "filename" : "include/int_transit.p4",
7806 "line" : 45,
7807 "column" : 8,
7808 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7809 }
7810 },
7811 {
7812 "op" : "assign",
7813 "parameters" : [
7814 {
7815 "type" : "field",
7816 "value" : ["int_port_ids", "egress_port_id"]
7817 },
7818 {
7819 "type" : "expression",
7820 "value" : {
7821 "type" : "expression",
7822 "value" : {
7823 "op" : "&",
7824 "left" : {
7825 "type" : "field",
7826 "value" : ["standard_metadata", "egress_port"]
7827 },
7828 "right" : {
7829 "type" : "hexstr",
7830 "value" : "0xffff"
7831 }
7832 }
7833 }
7834 }
7835 ],
7836 "source_info" : {
7837 "filename" : "include/int_transit.p4",
7838 "line" : 47,
7839 "column" : 8,
7840 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7841 }
7842 },
7843 {
7844 "op" : "add_header",
7845 "parameters" : [
7846 {
7847 "type" : "header",
7848 "value" : "int_switch_id"
7849 }
7850 ],
7851 "source_info" : {
7852 "filename" : "include/int_transit.p4",
7853 "line" : 40,
7854 "column" : 8,
7855 "source_fragment" : "hdr.int_switch_id.setValid()"
7856 }
7857 },
7858 {
7859 "op" : "assign",
7860 "parameters" : [
7861 {
7862 "type" : "field",
7863 "value" : ["int_switch_id", "switch_id"]
7864 },
7865 {
7866 "type" : "field",
7867 "value" : ["userMetadata.int_meta", "switch_id"]
7868 }
7869 ],
7870 "source_info" : {
7871 "filename" : "include/int_transit.p4",
7872 "line" : 41,
7873 "column" : 8,
7874 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7875 }
7876 }
7877 ]
7878 },
7879 {
7880 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007881 "id" : 101,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007882 "runtime_data" : [],
7883 "primitives" : [
7884 {
7885 "op" : "add_header",
7886 "parameters" : [
7887 {
7888 "type" : "header",
7889 "value" : "int_hop_latency"
7890 }
7891 ],
7892 "source_info" : {
7893 "filename" : "include/int_transit.p4",
7894 "line" : 51,
7895 "column" : 8,
7896 "source_fragment" : "hdr.int_hop_latency.setValid()"
7897 }
7898 },
7899 {
7900 "op" : "assign",
7901 "parameters" : [
7902 {
7903 "type" : "field",
7904 "value" : ["int_hop_latency", "hop_latency"]
7905 },
7906 {
7907 "type" : "field",
7908 "value" : ["standard_metadata", "deq_timedelta"]
7909 }
7910 ],
7911 "source_info" : {
7912 "filename" : "include/int_transit.p4",
7913 "line" : 52,
7914 "column" : 8,
7915 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7916 }
7917 },
7918 {
7919 "op" : "add_header",
7920 "parameters" : [
7921 {
7922 "type" : "header",
7923 "value" : "int_port_ids"
7924 }
7925 ],
7926 "source_info" : {
7927 "filename" : "include/int_transit.p4",
7928 "line" : 44,
7929 "column" : 8,
7930 "source_fragment" : "hdr.int_port_ids.setValid()"
7931 }
7932 },
7933 {
7934 "op" : "assign",
7935 "parameters" : [
7936 {
7937 "type" : "field",
7938 "value" : ["int_port_ids", "ingress_port_id"]
7939 },
7940 {
7941 "type" : "expression",
7942 "value" : {
7943 "type" : "expression",
7944 "value" : {
7945 "op" : "&",
7946 "left" : {
7947 "type" : "field",
7948 "value" : ["standard_metadata", "ingress_port"]
7949 },
7950 "right" : {
7951 "type" : "hexstr",
7952 "value" : "0xffff"
7953 }
7954 }
7955 }
7956 }
7957 ],
7958 "source_info" : {
7959 "filename" : "include/int_transit.p4",
7960 "line" : 45,
7961 "column" : 8,
7962 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7963 }
7964 },
7965 {
7966 "op" : "assign",
7967 "parameters" : [
7968 {
7969 "type" : "field",
7970 "value" : ["int_port_ids", "egress_port_id"]
7971 },
7972 {
7973 "type" : "expression",
7974 "value" : {
7975 "type" : "expression",
7976 "value" : {
7977 "op" : "&",
7978 "left" : {
7979 "type" : "field",
7980 "value" : ["standard_metadata", "egress_port"]
7981 },
7982 "right" : {
7983 "type" : "hexstr",
7984 "value" : "0xffff"
7985 }
7986 }
7987 }
7988 }
7989 ],
7990 "source_info" : {
7991 "filename" : "include/int_transit.p4",
7992 "line" : 47,
7993 "column" : 8,
7994 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7995 }
7996 },
7997 {
7998 "op" : "add_header",
7999 "parameters" : [
8000 {
8001 "type" : "header",
8002 "value" : "int_switch_id"
8003 }
8004 ],
8005 "source_info" : {
8006 "filename" : "include/int_transit.p4",
8007 "line" : 40,
8008 "column" : 8,
8009 "source_fragment" : "hdr.int_switch_id.setValid()"
8010 }
8011 },
8012 {
8013 "op" : "assign",
8014 "parameters" : [
8015 {
8016 "type" : "field",
8017 "value" : ["int_switch_id", "switch_id"]
8018 },
8019 {
8020 "type" : "field",
8021 "value" : ["userMetadata.int_meta", "switch_id"]
8022 }
8023 ],
8024 "source_info" : {
8025 "filename" : "include/int_transit.p4",
8026 "line" : 41,
8027 "column" : 8,
8028 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8029 }
8030 }
8031 ]
8032 },
8033 {
8034 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008035 "id" : 102,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008036 "runtime_data" : [],
8037 "primitives" : [
8038 {
8039 "op" : "add_header",
8040 "parameters" : [
8041 {
8042 "type" : "header",
8043 "value" : "int_q_occupancy"
8044 }
8045 ],
8046 "source_info" : {
8047 "filename" : "include/int_transit.p4",
8048 "line" : 57,
8049 "column" : 8,
8050 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8051 }
8052 },
8053 {
8054 "op" : "assign",
8055 "parameters" : [
8056 {
8057 "type" : "field",
8058 "value" : ["int_q_occupancy", "q_id"]
8059 },
8060 {
8061 "type" : "hexstr",
8062 "value" : "0x00"
8063 }
8064 ],
8065 "source_info" : {
8066 "filename" : "include/int_transit.p4",
8067 "line" : 58,
8068 "column" : 8,
8069 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
8070 }
8071 },
8072 {
8073 "op" : "assign",
8074 "parameters" : [
8075 {
8076 "type" : "field",
8077 "value" : ["int_q_occupancy", "q_occupancy"]
8078 },
8079 {
8080 "type" : "expression",
8081 "value" : {
8082 "type" : "expression",
8083 "value" : {
8084 "op" : "&",
8085 "left" : {
8086 "type" : "field",
8087 "value" : ["standard_metadata", "deq_qdepth"]
8088 },
8089 "right" : {
8090 "type" : "hexstr",
8091 "value" : "0xffffff"
8092 }
8093 }
8094 }
8095 }
8096 ],
8097 "source_info" : {
8098 "filename" : "include/int_transit.p4",
8099 "line" : 61,
8100 "column" : 8,
8101 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
8102 }
8103 },
8104 {
8105 "op" : "add_header",
8106 "parameters" : [
8107 {
8108 "type" : "header",
8109 "value" : "int_hop_latency"
8110 }
8111 ],
8112 "source_info" : {
8113 "filename" : "include/int_transit.p4",
8114 "line" : 51,
8115 "column" : 8,
8116 "source_fragment" : "hdr.int_hop_latency.setValid()"
8117 }
8118 },
8119 {
8120 "op" : "assign",
8121 "parameters" : [
8122 {
8123 "type" : "field",
8124 "value" : ["int_hop_latency", "hop_latency"]
8125 },
8126 {
8127 "type" : "field",
8128 "value" : ["standard_metadata", "deq_timedelta"]
8129 }
8130 ],
8131 "source_info" : {
8132 "filename" : "include/int_transit.p4",
8133 "line" : 52,
8134 "column" : 8,
8135 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
8136 }
8137 },
8138 {
8139 "op" : "add_header",
8140 "parameters" : [
8141 {
8142 "type" : "header",
8143 "value" : "int_port_ids"
8144 }
8145 ],
8146 "source_info" : {
8147 "filename" : "include/int_transit.p4",
8148 "line" : 44,
8149 "column" : 8,
8150 "source_fragment" : "hdr.int_port_ids.setValid()"
8151 }
8152 },
8153 {
8154 "op" : "assign",
8155 "parameters" : [
8156 {
8157 "type" : "field",
8158 "value" : ["int_port_ids", "ingress_port_id"]
8159 },
8160 {
8161 "type" : "expression",
8162 "value" : {
8163 "type" : "expression",
8164 "value" : {
8165 "op" : "&",
8166 "left" : {
8167 "type" : "field",
8168 "value" : ["standard_metadata", "ingress_port"]
8169 },
8170 "right" : {
8171 "type" : "hexstr",
8172 "value" : "0xffff"
8173 }
8174 }
8175 }
8176 }
8177 ],
8178 "source_info" : {
8179 "filename" : "include/int_transit.p4",
8180 "line" : 45,
8181 "column" : 8,
8182 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8183 }
8184 },
8185 {
8186 "op" : "assign",
8187 "parameters" : [
8188 {
8189 "type" : "field",
8190 "value" : ["int_port_ids", "egress_port_id"]
8191 },
8192 {
8193 "type" : "expression",
8194 "value" : {
8195 "type" : "expression",
8196 "value" : {
8197 "op" : "&",
8198 "left" : {
8199 "type" : "field",
8200 "value" : ["standard_metadata", "egress_port"]
8201 },
8202 "right" : {
8203 "type" : "hexstr",
8204 "value" : "0xffff"
8205 }
8206 }
8207 }
8208 }
8209 ],
8210 "source_info" : {
8211 "filename" : "include/int_transit.p4",
8212 "line" : 47,
8213 "column" : 8,
8214 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8215 }
8216 },
8217 {
8218 "op" : "add_header",
8219 "parameters" : [
8220 {
8221 "type" : "header",
8222 "value" : "int_switch_id"
8223 }
8224 ],
8225 "source_info" : {
8226 "filename" : "include/int_transit.p4",
8227 "line" : 40,
8228 "column" : 8,
8229 "source_fragment" : "hdr.int_switch_id.setValid()"
8230 }
8231 },
8232 {
8233 "op" : "assign",
8234 "parameters" : [
8235 {
8236 "type" : "field",
8237 "value" : ["int_switch_id", "switch_id"]
8238 },
8239 {
8240 "type" : "field",
8241 "value" : ["userMetadata.int_meta", "switch_id"]
8242 }
8243 ],
8244 "source_info" : {
8245 "filename" : "include/int_transit.p4",
8246 "line" : 41,
8247 "column" : 8,
8248 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8249 }
8250 }
8251 ]
8252 },
8253 {
8254 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008255 "id" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008256 "runtime_data" : [],
8257 "primitives" : []
8258 },
8259 {
8260 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008261 "id" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008262 "runtime_data" : [],
8263 "primitives" : [
8264 {
8265 "op" : "add_header",
8266 "parameters" : [
8267 {
8268 "type" : "header",
8269 "value" : "int_egress_tx_util"
8270 }
8271 ],
8272 "source_info" : {
8273 "filename" : "include/int_transit.p4",
8274 "line" : 88,
8275 "column" : 8,
8276 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8277 }
8278 },
8279 {
8280 "op" : "assign",
8281 "parameters" : [
8282 {
8283 "type" : "field",
8284 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8285 },
8286 {
8287 "type" : "hexstr",
8288 "value" : "0x00000000"
8289 }
8290 ],
8291 "source_info" : {
8292 "filename" : "include/int_transit.p4",
8293 "line" : 89,
8294 "column" : 8,
8295 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8296 }
8297 }
8298 ]
8299 },
8300 {
8301 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008302 "id" : 105,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008303 "runtime_data" : [],
8304 "primitives" : [
8305 {
8306 "op" : "add_header",
8307 "parameters" : [
8308 {
8309 "type" : "header",
8310 "value" : "int_q_congestion"
8311 }
8312 ],
8313 "source_info" : {
8314 "filename" : "include/int_transit.p4",
8315 "line" : 78,
8316 "column" : 8,
8317 "source_fragment" : "hdr.int_q_congestion.setValid()"
8318 }
8319 },
8320 {
8321 "op" : "assign",
8322 "parameters" : [
8323 {
8324 "type" : "field",
8325 "value" : ["int_q_congestion", "q_id"]
8326 },
8327 {
8328 "type" : "hexstr",
8329 "value" : "0x00"
8330 }
8331 ],
8332 "source_info" : {
8333 "filename" : "include/int_transit.p4",
8334 "line" : 79,
8335 "column" : 8,
8336 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8337 }
8338 },
8339 {
8340 "op" : "assign",
8341 "parameters" : [
8342 {
8343 "type" : "field",
8344 "value" : ["int_q_congestion", "q_congestion"]
8345 },
8346 {
8347 "type" : "hexstr",
8348 "value" : "0x000000"
8349 }
8350 ],
8351 "source_info" : {
8352 "filename" : "include/int_transit.p4",
8353 "line" : 82,
8354 "column" : 8,
8355 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8356 }
8357 }
8358 ]
8359 },
8360 {
8361 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008362 "id" : 106,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008363 "runtime_data" : [],
8364 "primitives" : [
8365 {
8366 "op" : "add_header",
8367 "parameters" : [
8368 {
8369 "type" : "header",
8370 "value" : "int_egress_tx_util"
8371 }
8372 ],
8373 "source_info" : {
8374 "filename" : "include/int_transit.p4",
8375 "line" : 88,
8376 "column" : 8,
8377 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8378 }
8379 },
8380 {
8381 "op" : "assign",
8382 "parameters" : [
8383 {
8384 "type" : "field",
8385 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8386 },
8387 {
8388 "type" : "hexstr",
8389 "value" : "0x00000000"
8390 }
8391 ],
8392 "source_info" : {
8393 "filename" : "include/int_transit.p4",
8394 "line" : 89,
8395 "column" : 8,
8396 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8397 }
8398 },
8399 {
8400 "op" : "add_header",
8401 "parameters" : [
8402 {
8403 "type" : "header",
8404 "value" : "int_q_congestion"
8405 }
8406 ],
8407 "source_info" : {
8408 "filename" : "include/int_transit.p4",
8409 "line" : 78,
8410 "column" : 8,
8411 "source_fragment" : "hdr.int_q_congestion.setValid()"
8412 }
8413 },
8414 {
8415 "op" : "assign",
8416 "parameters" : [
8417 {
8418 "type" : "field",
8419 "value" : ["int_q_congestion", "q_id"]
8420 },
8421 {
8422 "type" : "hexstr",
8423 "value" : "0x00"
8424 }
8425 ],
8426 "source_info" : {
8427 "filename" : "include/int_transit.p4",
8428 "line" : 79,
8429 "column" : 8,
8430 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8431 }
8432 },
8433 {
8434 "op" : "assign",
8435 "parameters" : [
8436 {
8437 "type" : "field",
8438 "value" : ["int_q_congestion", "q_congestion"]
8439 },
8440 {
8441 "type" : "hexstr",
8442 "value" : "0x000000"
8443 }
8444 ],
8445 "source_info" : {
8446 "filename" : "include/int_transit.p4",
8447 "line" : 82,
8448 "column" : 8,
8449 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8450 }
8451 }
8452 ]
8453 },
8454 {
8455 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008456 "id" : 107,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008457 "runtime_data" : [],
8458 "primitives" : [
8459 {
8460 "op" : "add_header",
8461 "parameters" : [
8462 {
8463 "type" : "header",
8464 "value" : "int_egress_tstamp"
8465 }
8466 ],
8467 "source_info" : {
8468 "filename" : "include/int_transit.p4",
8469 "line" : 70,
8470 "column" : 8,
8471 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8472 }
8473 },
8474 {
8475 "op" : "assign",
8476 "parameters" : [
8477 {
8478 "type" : "field",
8479 "value" : ["int_egress_tstamp", "egress_tstamp"]
8480 },
8481 {
8482 "type" : "expression",
8483 "value" : {
8484 "type" : "expression",
8485 "value" : {
8486 "op" : "&",
8487 "left" : {
8488 "type" : "expression",
8489 "value" : {
8490 "op" : "+",
8491 "left" : {
8492 "type" : "field",
8493 "value" : ["standard_metadata", "enq_timestamp"]
8494 },
8495 "right" : {
8496 "type" : "field",
8497 "value" : ["standard_metadata", "deq_timedelta"]
8498 }
8499 }
8500 },
8501 "right" : {
8502 "type" : "hexstr",
8503 "value" : "0xffffffff"
8504 }
8505 }
8506 }
8507 }
8508 ],
8509 "source_info" : {
8510 "filename" : "include/int_transit.p4",
8511 "line" : 71,
8512 "column" : 8,
8513 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8514 }
8515 }
8516 ]
8517 },
8518 {
8519 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008520 "id" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008521 "runtime_data" : [],
8522 "primitives" : [
8523 {
8524 "op" : "add_header",
8525 "parameters" : [
8526 {
8527 "type" : "header",
8528 "value" : "int_egress_tx_util"
8529 }
8530 ],
8531 "source_info" : {
8532 "filename" : "include/int_transit.p4",
8533 "line" : 88,
8534 "column" : 8,
8535 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8536 }
8537 },
8538 {
8539 "op" : "assign",
8540 "parameters" : [
8541 {
8542 "type" : "field",
8543 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8544 },
8545 {
8546 "type" : "hexstr",
8547 "value" : "0x00000000"
8548 }
8549 ],
8550 "source_info" : {
8551 "filename" : "include/int_transit.p4",
8552 "line" : 89,
8553 "column" : 8,
8554 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8555 }
8556 },
8557 {
8558 "op" : "add_header",
8559 "parameters" : [
8560 {
8561 "type" : "header",
8562 "value" : "int_egress_tstamp"
8563 }
8564 ],
8565 "source_info" : {
8566 "filename" : "include/int_transit.p4",
8567 "line" : 70,
8568 "column" : 8,
8569 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8570 }
8571 },
8572 {
8573 "op" : "assign",
8574 "parameters" : [
8575 {
8576 "type" : "field",
8577 "value" : ["int_egress_tstamp", "egress_tstamp"]
8578 },
8579 {
8580 "type" : "expression",
8581 "value" : {
8582 "type" : "expression",
8583 "value" : {
8584 "op" : "&",
8585 "left" : {
8586 "type" : "expression",
8587 "value" : {
8588 "op" : "+",
8589 "left" : {
8590 "type" : "field",
8591 "value" : ["standard_metadata", "enq_timestamp"]
8592 },
8593 "right" : {
8594 "type" : "field",
8595 "value" : ["standard_metadata", "deq_timedelta"]
8596 }
8597 }
8598 },
8599 "right" : {
8600 "type" : "hexstr",
8601 "value" : "0xffffffff"
8602 }
8603 }
8604 }
8605 }
8606 ],
8607 "source_info" : {
8608 "filename" : "include/int_transit.p4",
8609 "line" : 71,
8610 "column" : 8,
8611 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8612 }
8613 }
8614 ]
8615 },
8616 {
8617 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008618 "id" : 109,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008619 "runtime_data" : [],
8620 "primitives" : [
8621 {
8622 "op" : "add_header",
8623 "parameters" : [
8624 {
8625 "type" : "header",
8626 "value" : "int_q_congestion"
8627 }
8628 ],
8629 "source_info" : {
8630 "filename" : "include/int_transit.p4",
8631 "line" : 78,
8632 "column" : 8,
8633 "source_fragment" : "hdr.int_q_congestion.setValid()"
8634 }
8635 },
8636 {
8637 "op" : "assign",
8638 "parameters" : [
8639 {
8640 "type" : "field",
8641 "value" : ["int_q_congestion", "q_id"]
8642 },
8643 {
8644 "type" : "hexstr",
8645 "value" : "0x00"
8646 }
8647 ],
8648 "source_info" : {
8649 "filename" : "include/int_transit.p4",
8650 "line" : 79,
8651 "column" : 8,
8652 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8653 }
8654 },
8655 {
8656 "op" : "assign",
8657 "parameters" : [
8658 {
8659 "type" : "field",
8660 "value" : ["int_q_congestion", "q_congestion"]
8661 },
8662 {
8663 "type" : "hexstr",
8664 "value" : "0x000000"
8665 }
8666 ],
8667 "source_info" : {
8668 "filename" : "include/int_transit.p4",
8669 "line" : 82,
8670 "column" : 8,
8671 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8672 }
8673 },
8674 {
8675 "op" : "add_header",
8676 "parameters" : [
8677 {
8678 "type" : "header",
8679 "value" : "int_egress_tstamp"
8680 }
8681 ],
8682 "source_info" : {
8683 "filename" : "include/int_transit.p4",
8684 "line" : 70,
8685 "column" : 8,
8686 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8687 }
8688 },
8689 {
8690 "op" : "assign",
8691 "parameters" : [
8692 {
8693 "type" : "field",
8694 "value" : ["int_egress_tstamp", "egress_tstamp"]
8695 },
8696 {
8697 "type" : "expression",
8698 "value" : {
8699 "type" : "expression",
8700 "value" : {
8701 "op" : "&",
8702 "left" : {
8703 "type" : "expression",
8704 "value" : {
8705 "op" : "+",
8706 "left" : {
8707 "type" : "field",
8708 "value" : ["standard_metadata", "enq_timestamp"]
8709 },
8710 "right" : {
8711 "type" : "field",
8712 "value" : ["standard_metadata", "deq_timedelta"]
8713 }
8714 }
8715 },
8716 "right" : {
8717 "type" : "hexstr",
8718 "value" : "0xffffffff"
8719 }
8720 }
8721 }
8722 }
8723 ],
8724 "source_info" : {
8725 "filename" : "include/int_transit.p4",
8726 "line" : 71,
8727 "column" : 8,
8728 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8729 }
8730 }
8731 ]
8732 },
8733 {
8734 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008735 "id" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008736 "runtime_data" : [],
8737 "primitives" : [
8738 {
8739 "op" : "add_header",
8740 "parameters" : [
8741 {
8742 "type" : "header",
8743 "value" : "int_egress_tx_util"
8744 }
8745 ],
8746 "source_info" : {
8747 "filename" : "include/int_transit.p4",
8748 "line" : 88,
8749 "column" : 8,
8750 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8751 }
8752 },
8753 {
8754 "op" : "assign",
8755 "parameters" : [
8756 {
8757 "type" : "field",
8758 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8759 },
8760 {
8761 "type" : "hexstr",
8762 "value" : "0x00000000"
8763 }
8764 ],
8765 "source_info" : {
8766 "filename" : "include/int_transit.p4",
8767 "line" : 89,
8768 "column" : 8,
8769 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8770 }
8771 },
8772 {
8773 "op" : "add_header",
8774 "parameters" : [
8775 {
8776 "type" : "header",
8777 "value" : "int_q_congestion"
8778 }
8779 ],
8780 "source_info" : {
8781 "filename" : "include/int_transit.p4",
8782 "line" : 78,
8783 "column" : 8,
8784 "source_fragment" : "hdr.int_q_congestion.setValid()"
8785 }
8786 },
8787 {
8788 "op" : "assign",
8789 "parameters" : [
8790 {
8791 "type" : "field",
8792 "value" : ["int_q_congestion", "q_id"]
8793 },
8794 {
8795 "type" : "hexstr",
8796 "value" : "0x00"
8797 }
8798 ],
8799 "source_info" : {
8800 "filename" : "include/int_transit.p4",
8801 "line" : 79,
8802 "column" : 8,
8803 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8804 }
8805 },
8806 {
8807 "op" : "assign",
8808 "parameters" : [
8809 {
8810 "type" : "field",
8811 "value" : ["int_q_congestion", "q_congestion"]
8812 },
8813 {
8814 "type" : "hexstr",
8815 "value" : "0x000000"
8816 }
8817 ],
8818 "source_info" : {
8819 "filename" : "include/int_transit.p4",
8820 "line" : 82,
8821 "column" : 8,
8822 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8823 }
8824 },
8825 {
8826 "op" : "add_header",
8827 "parameters" : [
8828 {
8829 "type" : "header",
8830 "value" : "int_egress_tstamp"
8831 }
8832 ],
8833 "source_info" : {
8834 "filename" : "include/int_transit.p4",
8835 "line" : 70,
8836 "column" : 8,
8837 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8838 }
8839 },
8840 {
8841 "op" : "assign",
8842 "parameters" : [
8843 {
8844 "type" : "field",
8845 "value" : ["int_egress_tstamp", "egress_tstamp"]
8846 },
8847 {
8848 "type" : "expression",
8849 "value" : {
8850 "type" : "expression",
8851 "value" : {
8852 "op" : "&",
8853 "left" : {
8854 "type" : "expression",
8855 "value" : {
8856 "op" : "+",
8857 "left" : {
8858 "type" : "field",
8859 "value" : ["standard_metadata", "enq_timestamp"]
8860 },
8861 "right" : {
8862 "type" : "field",
8863 "value" : ["standard_metadata", "deq_timedelta"]
8864 }
8865 }
8866 },
8867 "right" : {
8868 "type" : "hexstr",
8869 "value" : "0xffffffff"
8870 }
8871 }
8872 }
8873 }
8874 ],
8875 "source_info" : {
8876 "filename" : "include/int_transit.p4",
8877 "line" : 71,
8878 "column" : 8,
8879 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8880 }
8881 }
8882 ]
8883 },
8884 {
8885 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008886 "id" : 111,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008887 "runtime_data" : [],
8888 "primitives" : [
8889 {
8890 "op" : "add_header",
8891 "parameters" : [
8892 {
8893 "type" : "header",
8894 "value" : "int_ingress_tstamp"
8895 }
8896 ],
8897 "source_info" : {
8898 "filename" : "include/int_transit.p4",
8899 "line" : 65,
8900 "column" : 8,
8901 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8902 }
8903 },
8904 {
8905 "op" : "assign",
8906 "parameters" : [
8907 {
8908 "type" : "field",
8909 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8910 },
8911 {
8912 "type" : "field",
8913 "value" : ["standard_metadata", "enq_timestamp"]
8914 }
8915 ],
8916 "source_info" : {
8917 "filename" : "include/int_transit.p4",
8918 "line" : 66,
8919 "column" : 8,
8920 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8921 }
8922 }
8923 ]
8924 },
8925 {
8926 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008927 "id" : 112,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008928 "runtime_data" : [],
8929 "primitives" : [
8930 {
8931 "op" : "add_header",
8932 "parameters" : [
8933 {
8934 "type" : "header",
8935 "value" : "int_egress_tx_util"
8936 }
8937 ],
8938 "source_info" : {
8939 "filename" : "include/int_transit.p4",
8940 "line" : 88,
8941 "column" : 8,
8942 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8943 }
8944 },
8945 {
8946 "op" : "assign",
8947 "parameters" : [
8948 {
8949 "type" : "field",
8950 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8951 },
8952 {
8953 "type" : "hexstr",
8954 "value" : "0x00000000"
8955 }
8956 ],
8957 "source_info" : {
8958 "filename" : "include/int_transit.p4",
8959 "line" : 89,
8960 "column" : 8,
8961 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8962 }
8963 },
8964 {
8965 "op" : "add_header",
8966 "parameters" : [
8967 {
8968 "type" : "header",
8969 "value" : "int_ingress_tstamp"
8970 }
8971 ],
8972 "source_info" : {
8973 "filename" : "include/int_transit.p4",
8974 "line" : 65,
8975 "column" : 8,
8976 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8977 }
8978 },
8979 {
8980 "op" : "assign",
8981 "parameters" : [
8982 {
8983 "type" : "field",
8984 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8985 },
8986 {
8987 "type" : "field",
8988 "value" : ["standard_metadata", "enq_timestamp"]
8989 }
8990 ],
8991 "source_info" : {
8992 "filename" : "include/int_transit.p4",
8993 "line" : 66,
8994 "column" : 8,
8995 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8996 }
8997 }
8998 ]
8999 },
9000 {
9001 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009002 "id" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009003 "runtime_data" : [],
9004 "primitives" : [
9005 {
9006 "op" : "add_header",
9007 "parameters" : [
9008 {
9009 "type" : "header",
9010 "value" : "int_q_congestion"
9011 }
9012 ],
9013 "source_info" : {
9014 "filename" : "include/int_transit.p4",
9015 "line" : 78,
9016 "column" : 8,
9017 "source_fragment" : "hdr.int_q_congestion.setValid()"
9018 }
9019 },
9020 {
9021 "op" : "assign",
9022 "parameters" : [
9023 {
9024 "type" : "field",
9025 "value" : ["int_q_congestion", "q_id"]
9026 },
9027 {
9028 "type" : "hexstr",
9029 "value" : "0x00"
9030 }
9031 ],
9032 "source_info" : {
9033 "filename" : "include/int_transit.p4",
9034 "line" : 79,
9035 "column" : 8,
9036 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9037 }
9038 },
9039 {
9040 "op" : "assign",
9041 "parameters" : [
9042 {
9043 "type" : "field",
9044 "value" : ["int_q_congestion", "q_congestion"]
9045 },
9046 {
9047 "type" : "hexstr",
9048 "value" : "0x000000"
9049 }
9050 ],
9051 "source_info" : {
9052 "filename" : "include/int_transit.p4",
9053 "line" : 82,
9054 "column" : 8,
9055 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9056 }
9057 },
9058 {
9059 "op" : "add_header",
9060 "parameters" : [
9061 {
9062 "type" : "header",
9063 "value" : "int_ingress_tstamp"
9064 }
9065 ],
9066 "source_info" : {
9067 "filename" : "include/int_transit.p4",
9068 "line" : 65,
9069 "column" : 8,
9070 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9071 }
9072 },
9073 {
9074 "op" : "assign",
9075 "parameters" : [
9076 {
9077 "type" : "field",
9078 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9079 },
9080 {
9081 "type" : "field",
9082 "value" : ["standard_metadata", "enq_timestamp"]
9083 }
9084 ],
9085 "source_info" : {
9086 "filename" : "include/int_transit.p4",
9087 "line" : 66,
9088 "column" : 8,
9089 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9090 }
9091 }
9092 ]
9093 },
9094 {
9095 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009096 "id" : 114,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009097 "runtime_data" : [],
9098 "primitives" : [
9099 {
9100 "op" : "add_header",
9101 "parameters" : [
9102 {
9103 "type" : "header",
9104 "value" : "int_egress_tx_util"
9105 }
9106 ],
9107 "source_info" : {
9108 "filename" : "include/int_transit.p4",
9109 "line" : 88,
9110 "column" : 8,
9111 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9112 }
9113 },
9114 {
9115 "op" : "assign",
9116 "parameters" : [
9117 {
9118 "type" : "field",
9119 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9120 },
9121 {
9122 "type" : "hexstr",
9123 "value" : "0x00000000"
9124 }
9125 ],
9126 "source_info" : {
9127 "filename" : "include/int_transit.p4",
9128 "line" : 89,
9129 "column" : 8,
9130 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9131 }
9132 },
9133 {
9134 "op" : "add_header",
9135 "parameters" : [
9136 {
9137 "type" : "header",
9138 "value" : "int_q_congestion"
9139 }
9140 ],
9141 "source_info" : {
9142 "filename" : "include/int_transit.p4",
9143 "line" : 78,
9144 "column" : 8,
9145 "source_fragment" : "hdr.int_q_congestion.setValid()"
9146 }
9147 },
9148 {
9149 "op" : "assign",
9150 "parameters" : [
9151 {
9152 "type" : "field",
9153 "value" : ["int_q_congestion", "q_id"]
9154 },
9155 {
9156 "type" : "hexstr",
9157 "value" : "0x00"
9158 }
9159 ],
9160 "source_info" : {
9161 "filename" : "include/int_transit.p4",
9162 "line" : 79,
9163 "column" : 8,
9164 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9165 }
9166 },
9167 {
9168 "op" : "assign",
9169 "parameters" : [
9170 {
9171 "type" : "field",
9172 "value" : ["int_q_congestion", "q_congestion"]
9173 },
9174 {
9175 "type" : "hexstr",
9176 "value" : "0x000000"
9177 }
9178 ],
9179 "source_info" : {
9180 "filename" : "include/int_transit.p4",
9181 "line" : 82,
9182 "column" : 8,
9183 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9184 }
9185 },
9186 {
9187 "op" : "add_header",
9188 "parameters" : [
9189 {
9190 "type" : "header",
9191 "value" : "int_ingress_tstamp"
9192 }
9193 ],
9194 "source_info" : {
9195 "filename" : "include/int_transit.p4",
9196 "line" : 65,
9197 "column" : 8,
9198 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9199 }
9200 },
9201 {
9202 "op" : "assign",
9203 "parameters" : [
9204 {
9205 "type" : "field",
9206 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9207 },
9208 {
9209 "type" : "field",
9210 "value" : ["standard_metadata", "enq_timestamp"]
9211 }
9212 ],
9213 "source_info" : {
9214 "filename" : "include/int_transit.p4",
9215 "line" : 66,
9216 "column" : 8,
9217 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9218 }
9219 }
9220 ]
9221 },
9222 {
9223 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009224 "id" : 115,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009225 "runtime_data" : [],
9226 "primitives" : [
9227 {
9228 "op" : "add_header",
9229 "parameters" : [
9230 {
9231 "type" : "header",
9232 "value" : "int_egress_tstamp"
9233 }
9234 ],
9235 "source_info" : {
9236 "filename" : "include/int_transit.p4",
9237 "line" : 70,
9238 "column" : 8,
9239 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9240 }
9241 },
9242 {
9243 "op" : "assign",
9244 "parameters" : [
9245 {
9246 "type" : "field",
9247 "value" : ["int_egress_tstamp", "egress_tstamp"]
9248 },
9249 {
9250 "type" : "expression",
9251 "value" : {
9252 "type" : "expression",
9253 "value" : {
9254 "op" : "&",
9255 "left" : {
9256 "type" : "expression",
9257 "value" : {
9258 "op" : "+",
9259 "left" : {
9260 "type" : "field",
9261 "value" : ["standard_metadata", "enq_timestamp"]
9262 },
9263 "right" : {
9264 "type" : "field",
9265 "value" : ["standard_metadata", "deq_timedelta"]
9266 }
9267 }
9268 },
9269 "right" : {
9270 "type" : "hexstr",
9271 "value" : "0xffffffff"
9272 }
9273 }
9274 }
9275 }
9276 ],
9277 "source_info" : {
9278 "filename" : "include/int_transit.p4",
9279 "line" : 71,
9280 "column" : 8,
9281 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9282 }
9283 },
9284 {
9285 "op" : "add_header",
9286 "parameters" : [
9287 {
9288 "type" : "header",
9289 "value" : "int_ingress_tstamp"
9290 }
9291 ],
9292 "source_info" : {
9293 "filename" : "include/int_transit.p4",
9294 "line" : 65,
9295 "column" : 8,
9296 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9297 }
9298 },
9299 {
9300 "op" : "assign",
9301 "parameters" : [
9302 {
9303 "type" : "field",
9304 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9305 },
9306 {
9307 "type" : "field",
9308 "value" : ["standard_metadata", "enq_timestamp"]
9309 }
9310 ],
9311 "source_info" : {
9312 "filename" : "include/int_transit.p4",
9313 "line" : 66,
9314 "column" : 8,
9315 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9316 }
9317 }
9318 ]
9319 },
9320 {
9321 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009322 "id" : 116,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009323 "runtime_data" : [],
9324 "primitives" : [
9325 {
9326 "op" : "add_header",
9327 "parameters" : [
9328 {
9329 "type" : "header",
9330 "value" : "int_egress_tx_util"
9331 }
9332 ],
9333 "source_info" : {
9334 "filename" : "include/int_transit.p4",
9335 "line" : 88,
9336 "column" : 8,
9337 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9338 }
9339 },
9340 {
9341 "op" : "assign",
9342 "parameters" : [
9343 {
9344 "type" : "field",
9345 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9346 },
9347 {
9348 "type" : "hexstr",
9349 "value" : "0x00000000"
9350 }
9351 ],
9352 "source_info" : {
9353 "filename" : "include/int_transit.p4",
9354 "line" : 89,
9355 "column" : 8,
9356 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9357 }
9358 },
9359 {
9360 "op" : "add_header",
9361 "parameters" : [
9362 {
9363 "type" : "header",
9364 "value" : "int_egress_tstamp"
9365 }
9366 ],
9367 "source_info" : {
9368 "filename" : "include/int_transit.p4",
9369 "line" : 70,
9370 "column" : 8,
9371 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9372 }
9373 },
9374 {
9375 "op" : "assign",
9376 "parameters" : [
9377 {
9378 "type" : "field",
9379 "value" : ["int_egress_tstamp", "egress_tstamp"]
9380 },
9381 {
9382 "type" : "expression",
9383 "value" : {
9384 "type" : "expression",
9385 "value" : {
9386 "op" : "&",
9387 "left" : {
9388 "type" : "expression",
9389 "value" : {
9390 "op" : "+",
9391 "left" : {
9392 "type" : "field",
9393 "value" : ["standard_metadata", "enq_timestamp"]
9394 },
9395 "right" : {
9396 "type" : "field",
9397 "value" : ["standard_metadata", "deq_timedelta"]
9398 }
9399 }
9400 },
9401 "right" : {
9402 "type" : "hexstr",
9403 "value" : "0xffffffff"
9404 }
9405 }
9406 }
9407 }
9408 ],
9409 "source_info" : {
9410 "filename" : "include/int_transit.p4",
9411 "line" : 71,
9412 "column" : 8,
9413 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9414 }
9415 },
9416 {
9417 "op" : "add_header",
9418 "parameters" : [
9419 {
9420 "type" : "header",
9421 "value" : "int_ingress_tstamp"
9422 }
9423 ],
9424 "source_info" : {
9425 "filename" : "include/int_transit.p4",
9426 "line" : 65,
9427 "column" : 8,
9428 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9429 }
9430 },
9431 {
9432 "op" : "assign",
9433 "parameters" : [
9434 {
9435 "type" : "field",
9436 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9437 },
9438 {
9439 "type" : "field",
9440 "value" : ["standard_metadata", "enq_timestamp"]
9441 }
9442 ],
9443 "source_info" : {
9444 "filename" : "include/int_transit.p4",
9445 "line" : 66,
9446 "column" : 8,
9447 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9448 }
9449 }
9450 ]
9451 },
9452 {
9453 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009454 "id" : 117,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009455 "runtime_data" : [],
9456 "primitives" : [
9457 {
9458 "op" : "add_header",
9459 "parameters" : [
9460 {
9461 "type" : "header",
9462 "value" : "int_q_congestion"
9463 }
9464 ],
9465 "source_info" : {
9466 "filename" : "include/int_transit.p4",
9467 "line" : 78,
9468 "column" : 8,
9469 "source_fragment" : "hdr.int_q_congestion.setValid()"
9470 }
9471 },
9472 {
9473 "op" : "assign",
9474 "parameters" : [
9475 {
9476 "type" : "field",
9477 "value" : ["int_q_congestion", "q_id"]
9478 },
9479 {
9480 "type" : "hexstr",
9481 "value" : "0x00"
9482 }
9483 ],
9484 "source_info" : {
9485 "filename" : "include/int_transit.p4",
9486 "line" : 79,
9487 "column" : 8,
9488 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9489 }
9490 },
9491 {
9492 "op" : "assign",
9493 "parameters" : [
9494 {
9495 "type" : "field",
9496 "value" : ["int_q_congestion", "q_congestion"]
9497 },
9498 {
9499 "type" : "hexstr",
9500 "value" : "0x000000"
9501 }
9502 ],
9503 "source_info" : {
9504 "filename" : "include/int_transit.p4",
9505 "line" : 82,
9506 "column" : 8,
9507 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9508 }
9509 },
9510 {
9511 "op" : "add_header",
9512 "parameters" : [
9513 {
9514 "type" : "header",
9515 "value" : "int_egress_tstamp"
9516 }
9517 ],
9518 "source_info" : {
9519 "filename" : "include/int_transit.p4",
9520 "line" : 70,
9521 "column" : 8,
9522 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9523 }
9524 },
9525 {
9526 "op" : "assign",
9527 "parameters" : [
9528 {
9529 "type" : "field",
9530 "value" : ["int_egress_tstamp", "egress_tstamp"]
9531 },
9532 {
9533 "type" : "expression",
9534 "value" : {
9535 "type" : "expression",
9536 "value" : {
9537 "op" : "&",
9538 "left" : {
9539 "type" : "expression",
9540 "value" : {
9541 "op" : "+",
9542 "left" : {
9543 "type" : "field",
9544 "value" : ["standard_metadata", "enq_timestamp"]
9545 },
9546 "right" : {
9547 "type" : "field",
9548 "value" : ["standard_metadata", "deq_timedelta"]
9549 }
9550 }
9551 },
9552 "right" : {
9553 "type" : "hexstr",
9554 "value" : "0xffffffff"
9555 }
9556 }
9557 }
9558 }
9559 ],
9560 "source_info" : {
9561 "filename" : "include/int_transit.p4",
9562 "line" : 71,
9563 "column" : 8,
9564 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9565 }
9566 },
9567 {
9568 "op" : "add_header",
9569 "parameters" : [
9570 {
9571 "type" : "header",
9572 "value" : "int_ingress_tstamp"
9573 }
9574 ],
9575 "source_info" : {
9576 "filename" : "include/int_transit.p4",
9577 "line" : 65,
9578 "column" : 8,
9579 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9580 }
9581 },
9582 {
9583 "op" : "assign",
9584 "parameters" : [
9585 {
9586 "type" : "field",
9587 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9588 },
9589 {
9590 "type" : "field",
9591 "value" : ["standard_metadata", "enq_timestamp"]
9592 }
9593 ],
9594 "source_info" : {
9595 "filename" : "include/int_transit.p4",
9596 "line" : 66,
9597 "column" : 8,
9598 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9599 }
9600 }
9601 ]
9602 },
9603 {
9604 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009605 "id" : 118,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009606 "runtime_data" : [],
9607 "primitives" : [
9608 {
9609 "op" : "add_header",
9610 "parameters" : [
9611 {
9612 "type" : "header",
9613 "value" : "int_egress_tx_util"
9614 }
9615 ],
9616 "source_info" : {
9617 "filename" : "include/int_transit.p4",
9618 "line" : 88,
9619 "column" : 8,
9620 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9621 }
9622 },
9623 {
9624 "op" : "assign",
9625 "parameters" : [
9626 {
9627 "type" : "field",
9628 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9629 },
9630 {
9631 "type" : "hexstr",
9632 "value" : "0x00000000"
9633 }
9634 ],
9635 "source_info" : {
9636 "filename" : "include/int_transit.p4",
9637 "line" : 89,
9638 "column" : 8,
9639 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9640 }
9641 },
9642 {
9643 "op" : "add_header",
9644 "parameters" : [
9645 {
9646 "type" : "header",
9647 "value" : "int_q_congestion"
9648 }
9649 ],
9650 "source_info" : {
9651 "filename" : "include/int_transit.p4",
9652 "line" : 78,
9653 "column" : 8,
9654 "source_fragment" : "hdr.int_q_congestion.setValid()"
9655 }
9656 },
9657 {
9658 "op" : "assign",
9659 "parameters" : [
9660 {
9661 "type" : "field",
9662 "value" : ["int_q_congestion", "q_id"]
9663 },
9664 {
9665 "type" : "hexstr",
9666 "value" : "0x00"
9667 }
9668 ],
9669 "source_info" : {
9670 "filename" : "include/int_transit.p4",
9671 "line" : 79,
9672 "column" : 8,
9673 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9674 }
9675 },
9676 {
9677 "op" : "assign",
9678 "parameters" : [
9679 {
9680 "type" : "field",
9681 "value" : ["int_q_congestion", "q_congestion"]
9682 },
9683 {
9684 "type" : "hexstr",
9685 "value" : "0x000000"
9686 }
9687 ],
9688 "source_info" : {
9689 "filename" : "include/int_transit.p4",
9690 "line" : 82,
9691 "column" : 8,
9692 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9693 }
9694 },
9695 {
9696 "op" : "add_header",
9697 "parameters" : [
9698 {
9699 "type" : "header",
9700 "value" : "int_egress_tstamp"
9701 }
9702 ],
9703 "source_info" : {
9704 "filename" : "include/int_transit.p4",
9705 "line" : 70,
9706 "column" : 8,
9707 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9708 }
9709 },
9710 {
9711 "op" : "assign",
9712 "parameters" : [
9713 {
9714 "type" : "field",
9715 "value" : ["int_egress_tstamp", "egress_tstamp"]
9716 },
9717 {
9718 "type" : "expression",
9719 "value" : {
9720 "type" : "expression",
9721 "value" : {
9722 "op" : "&",
9723 "left" : {
9724 "type" : "expression",
9725 "value" : {
9726 "op" : "+",
9727 "left" : {
9728 "type" : "field",
9729 "value" : ["standard_metadata", "enq_timestamp"]
9730 },
9731 "right" : {
9732 "type" : "field",
9733 "value" : ["standard_metadata", "deq_timedelta"]
9734 }
9735 }
9736 },
9737 "right" : {
9738 "type" : "hexstr",
9739 "value" : "0xffffffff"
9740 }
9741 }
9742 }
9743 }
9744 ],
9745 "source_info" : {
9746 "filename" : "include/int_transit.p4",
9747 "line" : 71,
9748 "column" : 8,
9749 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9750 }
9751 },
9752 {
9753 "op" : "add_header",
9754 "parameters" : [
9755 {
9756 "type" : "header",
9757 "value" : "int_ingress_tstamp"
9758 }
9759 ],
9760 "source_info" : {
9761 "filename" : "include/int_transit.p4",
9762 "line" : 65,
9763 "column" : 8,
9764 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9765 }
9766 },
9767 {
9768 "op" : "assign",
9769 "parameters" : [
9770 {
9771 "type" : "field",
9772 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9773 },
9774 {
9775 "type" : "field",
9776 "value" : ["standard_metadata", "enq_timestamp"]
9777 }
9778 ],
9779 "source_info" : {
9780 "filename" : "include/int_transit.p4",
9781 "line" : 66,
9782 "column" : 8,
9783 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9784 }
9785 }
9786 ]
9787 },
9788 {
9789 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009790 "id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009791 "runtime_data" : [],
9792 "primitives" : [
9793 {
9794 "op" : "assign",
9795 "parameters" : [
9796 {
9797 "type" : "field",
9798 "value" : ["ipv4", "total_len"]
9799 },
9800 {
9801 "type" : "expression",
9802 "value" : {
9803 "type" : "expression",
9804 "value" : {
9805 "op" : "&",
9806 "left" : {
9807 "type" : "expression",
9808 "value" : {
9809 "op" : "+",
9810 "left" : {
9811 "type" : "field",
9812 "value" : ["ipv4", "total_len"]
9813 },
9814 "right" : {
9815 "type" : "field",
9816 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9817 }
9818 }
9819 },
9820 "right" : {
9821 "type" : "hexstr",
9822 "value" : "0xffff"
9823 }
9824 }
9825 }
9826 }
9827 ],
9828 "source_info" : {
9829 "filename" : "include/int_transit.p4",
9830 "line" : 304,
9831 "column" : 8,
9832 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
9833 }
9834 }
9835 ]
9836 },
9837 {
9838 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009839 "id" : 120,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009840 "runtime_data" : [],
9841 "primitives" : [
9842 {
9843 "op" : "assign",
9844 "parameters" : [
9845 {
9846 "type" : "field",
9847 "value" : ["udp", "len"]
9848 },
9849 {
9850 "type" : "expression",
9851 "value" : {
9852 "type" : "expression",
9853 "value" : {
9854 "op" : "&",
9855 "left" : {
9856 "type" : "expression",
9857 "value" : {
9858 "op" : "+",
9859 "left" : {
9860 "type" : "field",
9861 "value" : ["udp", "len"]
9862 },
9863 "right" : {
9864 "type" : "field",
9865 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9866 }
9867 }
9868 },
9869 "right" : {
9870 "type" : "hexstr",
9871 "value" : "0xffff"
9872 }
9873 }
9874 }
9875 }
9876 ],
9877 "source_info" : {
9878 "filename" : "include/int_transit.p4",
9879 "line" : 307,
9880 "column" : 8,
9881 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
9882 }
9883 }
9884 ]
9885 },
9886 {
9887 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009888 "id" : 121,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009889 "runtime_data" : [],
9890 "primitives" : [
9891 {
9892 "op" : "assign",
9893 "parameters" : [
9894 {
9895 "type" : "field",
9896 "value" : ["intl4_shim", "len"]
9897 },
9898 {
9899 "type" : "expression",
9900 "value" : {
9901 "type" : "expression",
9902 "value" : {
9903 "op" : "&",
9904 "left" : {
9905 "type" : "expression",
9906 "value" : {
9907 "op" : "+",
9908 "left" : {
9909 "type" : "field",
9910 "value" : ["intl4_shim", "len"]
9911 },
9912 "right" : {
9913 "type" : "expression",
9914 "value" : {
9915 "op" : "&",
9916 "left" : {
9917 "type" : "field",
9918 "value" : ["int_header", "ins_cnt"]
9919 },
9920 "right" : {
9921 "type" : "hexstr",
9922 "value" : "0xff"
9923 }
9924 }
9925 }
9926 }
9927 },
9928 "right" : {
9929 "type" : "hexstr",
9930 "value" : "0xff"
9931 }
9932 }
9933 }
9934 }
9935 ],
9936 "source_info" : {
9937 "filename" : "include/int_transit.p4",
9938 "line" : 310,
9939 "column" : 8,
9940 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
9941 }
9942 }
9943 ]
9944 },
9945 {
9946 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009947 "id" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009948 "runtime_data" : [
9949 {
9950 "name" : "src_mac",
9951 "bitwidth" : 48
9952 },
9953 {
9954 "name" : "mon_mac",
9955 "bitwidth" : 48
9956 },
9957 {
9958 "name" : "src_ip",
9959 "bitwidth" : 32
9960 },
9961 {
9962 "name" : "mon_ip",
9963 "bitwidth" : 32
9964 },
9965 {
9966 "name" : "mon_port",
9967 "bitwidth" : 16
9968 }
9969 ],
9970 "primitives" : [
9971 {
9972 "op" : "add_header",
9973 "parameters" : [
9974 {
9975 "type" : "header",
9976 "value" : "report_ethernet"
9977 }
9978 ],
9979 "source_info" : {
9980 "filename" : "include/int_report.p4",
9981 "line" : 50,
9982 "column" : 8,
9983 "source_fragment" : "hdr.report_ethernet.setValid()"
9984 }
9985 },
9986 {
9987 "op" : "assign",
9988 "parameters" : [
9989 {
9990 "type" : "field",
9991 "value" : ["report_ethernet", "dst_addr"]
9992 },
9993 {
9994 "type" : "runtime_data",
9995 "value" : 1
9996 }
9997 ],
9998 "source_info" : {
9999 "filename" : "include/int_report.p4",
10000 "line" : 51,
10001 "column" : 8,
10002 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
10003 }
10004 },
10005 {
10006 "op" : "assign",
10007 "parameters" : [
10008 {
10009 "type" : "field",
10010 "value" : ["report_ethernet", "src_addr"]
10011 },
10012 {
10013 "type" : "runtime_data",
10014 "value" : 0
10015 }
10016 ],
10017 "source_info" : {
10018 "filename" : "include/int_report.p4",
10019 "line" : 52,
10020 "column" : 8,
10021 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
10022 }
10023 },
10024 {
10025 "op" : "assign",
10026 "parameters" : [
10027 {
10028 "type" : "field",
10029 "value" : ["report_ethernet", "ether_type"]
10030 },
10031 {
10032 "type" : "hexstr",
10033 "value" : "0x0800"
10034 }
10035 ],
10036 "source_info" : {
10037 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010038 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010039 "column" : 31,
10040 "source_fragment" : "0x0800; ..."
10041 }
10042 },
10043 {
10044 "op" : "add_header",
10045 "parameters" : [
10046 {
10047 "type" : "header",
10048 "value" : "report_ipv4"
10049 }
10050 ],
10051 "source_info" : {
10052 "filename" : "include/int_report.p4",
10053 "line" : 56,
10054 "column" : 8,
10055 "source_fragment" : "hdr.report_ipv4.setValid()"
10056 }
10057 },
10058 {
10059 "op" : "assign",
10060 "parameters" : [
10061 {
10062 "type" : "field",
10063 "value" : ["report_ipv4", "version"]
10064 },
10065 {
10066 "type" : "hexstr",
10067 "value" : "0x04"
10068 }
10069 ],
10070 "source_info" : {
10071 "filename" : "include/int_report.p4",
10072 "line" : 57,
10073 "column" : 8,
10074 "source_fragment" : "hdr.report_ipv4.version = 4w4"
10075 }
10076 },
10077 {
10078 "op" : "assign",
10079 "parameters" : [
10080 {
10081 "type" : "field",
10082 "value" : ["report_ipv4", "ihl"]
10083 },
10084 {
10085 "type" : "hexstr",
10086 "value" : "0x05"
10087 }
10088 ],
10089 "source_info" : {
10090 "filename" : "include/int_report.p4",
10091 "line" : 58,
10092 "column" : 8,
10093 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
10094 }
10095 },
10096 {
10097 "op" : "assign",
10098 "parameters" : [
10099 {
10100 "type" : "field",
10101 "value" : ["report_ipv4", "dscp"]
10102 },
10103 {
10104 "type" : "hexstr",
10105 "value" : "0x00"
10106 }
10107 ],
10108 "source_info" : {
10109 "filename" : "include/int_report.p4",
10110 "line" : 59,
10111 "column" : 8,
10112 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
10113 }
10114 },
10115 {
10116 "op" : "assign",
10117 "parameters" : [
10118 {
10119 "type" : "field",
10120 "value" : ["report_ipv4", "ecn"]
10121 },
10122 {
10123 "type" : "hexstr",
10124 "value" : "0x00"
10125 }
10126 ],
10127 "source_info" : {
10128 "filename" : "include/int_report.p4",
10129 "line" : 60,
10130 "column" : 8,
10131 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
10132 }
10133 },
10134 {
10135 "op" : "assign",
10136 "parameters" : [
10137 {
10138 "type" : "field",
10139 "value" : ["report_ipv4", "total_len"]
10140 },
10141 {
10142 "type" : "expression",
10143 "value" : {
10144 "type" : "expression",
10145 "value" : {
10146 "op" : "&",
10147 "left" : {
10148 "type" : "expression",
10149 "value" : {
10150 "op" : "+",
10151 "left" : {
10152 "type" : "hexstr",
10153 "value" : "0x0036"
10154 },
10155 "right" : {
10156 "type" : "field",
10157 "value" : ["ipv4", "total_len"]
10158 }
10159 }
10160 },
10161 "right" : {
10162 "type" : "hexstr",
10163 "value" : "0xffff"
10164 }
10165 }
10166 }
10167 }
10168 ],
10169 "source_info" : {
10170 "filename" : "include/int_report.p4",
10171 "line" : 62,
10172 "column" : 8,
10173 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
10174 }
10175 },
10176 {
10177 "op" : "assign",
10178 "parameters" : [
10179 {
10180 "type" : "field",
10181 "value" : ["report_ipv4", "identification"]
10182 },
10183 {
10184 "type" : "hexstr",
10185 "value" : "0x0000"
10186 }
10187 ],
10188 "source_info" : {
10189 "filename" : "include/int_report.p4",
10190 "line" : 65,
10191 "column" : 8,
10192 "source_fragment" : "hdr.report_ipv4.identification = 0"
10193 }
10194 },
10195 {
10196 "op" : "assign",
10197 "parameters" : [
10198 {
10199 "type" : "field",
10200 "value" : ["report_ipv4", "flags"]
10201 },
10202 {
10203 "type" : "hexstr",
10204 "value" : "0x00"
10205 }
10206 ],
10207 "source_info" : {
10208 "filename" : "include/int_report.p4",
10209 "line" : 66,
10210 "column" : 8,
10211 "source_fragment" : "hdr.report_ipv4.flags = 0"
10212 }
10213 },
10214 {
10215 "op" : "assign",
10216 "parameters" : [
10217 {
10218 "type" : "field",
10219 "value" : ["report_ipv4", "frag_offset"]
10220 },
10221 {
10222 "type" : "hexstr",
10223 "value" : "0x0000"
10224 }
10225 ],
10226 "source_info" : {
10227 "filename" : "include/int_report.p4",
10228 "line" : 67,
10229 "column" : 8,
10230 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
10231 }
10232 },
10233 {
10234 "op" : "assign",
10235 "parameters" : [
10236 {
10237 "type" : "field",
10238 "value" : ["report_ipv4", "ttl"]
10239 },
10240 {
10241 "type" : "hexstr",
10242 "value" : "0xff"
10243 }
10244 ],
10245 "source_info" : {
10246 "filename" : "include/int_report.p4",
10247 "line" : 68,
10248 "column" : 8,
10249 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
10250 }
10251 },
10252 {
10253 "op" : "assign",
10254 "parameters" : [
10255 {
10256 "type" : "field",
10257 "value" : ["report_ipv4", "protocol"]
10258 },
10259 {
10260 "type" : "hexstr",
10261 "value" : "0x11"
10262 }
10263 ],
10264 "source_info" : {
10265 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010266 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010267 "column" : 25,
10268 "source_fragment" : "17; ..."
10269 }
10270 },
10271 {
10272 "op" : "assign",
10273 "parameters" : [
10274 {
10275 "type" : "field",
10276 "value" : ["report_ipv4", "src_addr"]
10277 },
10278 {
10279 "type" : "runtime_data",
10280 "value" : 2
10281 }
10282 ],
10283 "source_info" : {
10284 "filename" : "include/int_report.p4",
10285 "line" : 70,
10286 "column" : 8,
10287 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
10288 }
10289 },
10290 {
10291 "op" : "assign",
10292 "parameters" : [
10293 {
10294 "type" : "field",
10295 "value" : ["report_ipv4", "dst_addr"]
10296 },
10297 {
10298 "type" : "runtime_data",
10299 "value" : 3
10300 }
10301 ],
10302 "source_info" : {
10303 "filename" : "include/int_report.p4",
10304 "line" : 71,
10305 "column" : 8,
10306 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
10307 }
10308 },
10309 {
10310 "op" : "add_header",
10311 "parameters" : [
10312 {
10313 "type" : "header",
10314 "value" : "report_udp"
10315 }
10316 ],
10317 "source_info" : {
10318 "filename" : "include/int_report.p4",
10319 "line" : 74,
10320 "column" : 8,
10321 "source_fragment" : "hdr.report_udp.setValid()"
10322 }
10323 },
10324 {
10325 "op" : "assign",
10326 "parameters" : [
10327 {
10328 "type" : "field",
10329 "value" : ["report_udp", "src_port"]
10330 },
10331 {
10332 "type" : "hexstr",
10333 "value" : "0x0000"
10334 }
10335 ],
10336 "source_info" : {
10337 "filename" : "include/int_report.p4",
10338 "line" : 75,
10339 "column" : 8,
10340 "source_fragment" : "hdr.report_udp.src_port = 0"
10341 }
10342 },
10343 {
10344 "op" : "assign",
10345 "parameters" : [
10346 {
10347 "type" : "field",
10348 "value" : ["report_udp", "dst_port"]
10349 },
10350 {
10351 "type" : "runtime_data",
10352 "value" : 4
10353 }
10354 ],
10355 "source_info" : {
10356 "filename" : "include/int_report.p4",
10357 "line" : 76,
10358 "column" : 8,
10359 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
10360 }
10361 },
10362 {
10363 "op" : "assign",
10364 "parameters" : [
10365 {
10366 "type" : "field",
10367 "value" : ["report_udp", "len"]
10368 },
10369 {
10370 "type" : "expression",
10371 "value" : {
10372 "type" : "expression",
10373 "value" : {
10374 "op" : "&",
10375 "left" : {
10376 "type" : "expression",
10377 "value" : {
10378 "op" : "+",
10379 "left" : {
10380 "type" : "hexstr",
10381 "value" : "0x0022"
10382 },
10383 "right" : {
10384 "type" : "field",
10385 "value" : ["ipv4", "total_len"]
10386 }
10387 }
10388 },
10389 "right" : {
10390 "type" : "hexstr",
10391 "value" : "0xffff"
10392 }
10393 }
10394 }
10395 }
10396 ],
10397 "source_info" : {
10398 "filename" : "include/int_report.p4",
10399 "line" : 77,
10400 "column" : 8,
10401 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
10402 }
10403 },
10404 {
10405 "op" : "assign",
10406 "parameters" : [
10407 {
10408 "type" : "field",
10409 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
10410 },
10411 {
10412 "type" : "expression",
10413 "value" : {
10414 "type" : "expression",
10415 "value" : {
10416 "op" : "b2d",
10417 "left" : null,
10418 "right" : {
10419 "type" : "bool",
10420 "value" : true
10421 }
10422 }
10423 }
10424 }
10425 ],
10426 "source_info" : {
10427 "filename" : "include/int_report.p4",
10428 "line" : 80,
10429 "column" : 8,
10430 "source_fragment" : "fabric_metadata.compute_checksum = true"
10431 }
10432 },
10433 {
10434 "op" : "add_header",
10435 "parameters" : [
10436 {
10437 "type" : "header",
10438 "value" : "report_fixed_header"
10439 }
10440 ],
10441 "source_info" : {
10442 "filename" : "include/int_report.p4",
10443 "line" : 30,
10444 "column" : 8,
10445 "source_fragment" : "hdr.report_fixed_header.setValid()"
10446 }
10447 },
10448 {
10449 "op" : "assign",
10450 "parameters" : [
10451 {
10452 "type" : "field",
10453 "value" : ["report_fixed_header", "ver"]
10454 },
10455 {
10456 "type" : "hexstr",
10457 "value" : "0x00"
10458 }
10459 ],
10460 "source_info" : {
10461 "filename" : "include/int_report.p4",
10462 "line" : 31,
10463 "column" : 8,
10464 "source_fragment" : "hdr.report_fixed_header.ver = 0"
10465 }
10466 },
10467 {
10468 "op" : "assign",
10469 "parameters" : [
10470 {
10471 "type" : "field",
10472 "value" : ["report_fixed_header", "nproto"]
10473 },
10474 {
10475 "type" : "hexstr",
10476 "value" : "0x00"
10477 }
10478 ],
10479 "source_info" : {
10480 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010481 "line" : 129,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010482 "column" : 31,
10483 "source_fragment" : "0; ..."
10484 }
10485 },
10486 {
10487 "op" : "assign",
10488 "parameters" : [
10489 {
10490 "type" : "field",
10491 "value" : ["report_fixed_header", "d"]
10492 },
10493 {
10494 "type" : "hexstr",
10495 "value" : "0x00"
10496 }
10497 ],
10498 "source_info" : {
10499 "filename" : "include/int_report.p4",
10500 "line" : 34,
10501 "column" : 8,
10502 "source_fragment" : "hdr.report_fixed_header.d = 0"
10503 }
10504 },
10505 {
10506 "op" : "assign",
10507 "parameters" : [
10508 {
10509 "type" : "field",
10510 "value" : ["report_fixed_header", "q"]
10511 },
10512 {
10513 "type" : "hexstr",
10514 "value" : "0x00"
10515 }
10516 ],
10517 "source_info" : {
10518 "filename" : "include/int_report.p4",
10519 "line" : 35,
10520 "column" : 8,
10521 "source_fragment" : "hdr.report_fixed_header.q = 0"
10522 }
10523 },
10524 {
10525 "op" : "assign",
10526 "parameters" : [
10527 {
10528 "type" : "field",
10529 "value" : ["report_fixed_header", "f"]
10530 },
10531 {
10532 "type" : "hexstr",
10533 "value" : "0x01"
10534 }
10535 ],
10536 "source_info" : {
10537 "filename" : "include/int_report.p4",
10538 "line" : 36,
10539 "column" : 8,
10540 "source_fragment" : "hdr.report_fixed_header.f = 1"
10541 }
10542 },
10543 {
10544 "op" : "assign",
10545 "parameters" : [
10546 {
10547 "type" : "field",
10548 "value" : ["report_fixed_header", "rsvd"]
10549 },
10550 {
10551 "type" : "hexstr",
10552 "value" : "0x0000"
10553 }
10554 ],
10555 "source_info" : {
10556 "filename" : "include/int_report.p4",
10557 "line" : 37,
10558 "column" : 8,
10559 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
10560 }
10561 },
10562 {
10563 "op" : "assign",
10564 "parameters" : [
10565 {
10566 "type" : "field",
10567 "value" : ["report_fixed_header", "hw_id"]
10568 },
10569 {
10570 "type" : "hexstr",
10571 "value" : "0x01"
10572 }
10573 ],
10574 "source_info" : {
10575 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010576 "line" : 133,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010577 "column" : 21,
10578 "source_fragment" : "1; ..."
10579 }
10580 },
10581 {
10582 "op" : "assign",
10583 "parameters" : [
10584 {
10585 "type" : "field",
10586 "value" : ["report_fixed_header", "seq_no"]
10587 },
10588 {
10589 "type" : "hexstr",
10590 "value" : "0x00000000"
10591 }
10592 ],
10593 "source_info" : {
10594 "filename" : "include/int_report.p4",
10595 "line" : 41,
10596 "column" : 8,
10597 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
10598 }
10599 },
10600 {
10601 "op" : "assign",
10602 "parameters" : [
10603 {
10604 "type" : "field",
10605 "value" : ["report_fixed_header", "ingress_tstamp"]
10606 },
10607 {
10608 "type" : "field",
10609 "value" : ["standard_metadata", "enq_timestamp"]
10610 }
10611 ],
10612 "source_info" : {
10613 "filename" : "include/int_report.p4",
10614 "line" : 43,
10615 "column" : 8,
10616 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
10617 }
10618 }
10619 ]
10620 },
10621 {
10622 "name" : "FabricEgress.process_int_sink.restore_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010623 "id" : 123,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010624 "runtime_data" : [],
10625 "primitives" : [
10626 {
10627 "op" : "assign",
10628 "parameters" : [
10629 {
10630 "type" : "field",
10631 "value" : ["udp", "dst_port"]
10632 },
10633 {
10634 "type" : "field",
10635 "value" : ["intl4_tail", "dest_port"]
10636 }
10637 ],
10638 "source_info" : {
10639 "filename" : "include/int_sink.p4",
10640 "line" : 26,
10641 "column" : 8,
10642 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
10643 }
10644 },
10645 {
10646 "op" : "assign",
10647 "parameters" : [
10648 {
10649 "type" : "field",
10650 "value" : ["ipv4", "dscp"]
10651 },
10652 {
10653 "type" : "expression",
10654 "value" : {
10655 "type" : "expression",
10656 "value" : {
10657 "op" : "&",
10658 "left" : {
10659 "type" : "field",
10660 "value" : ["intl4_tail", "dscp"]
10661 },
10662 "right" : {
10663 "type" : "hexstr",
10664 "value" : "0x3f"
10665 }
10666 }
10667 }
10668 }
10669 ],
10670 "source_info" : {
10671 "filename" : "include/int_sink.p4",
10672 "line" : 27,
10673 "column" : 8,
10674 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
10675 }
10676 }
10677 ]
10678 },
10679 {
10680 "name" : "FabricEgress.process_int_sink.int_sink",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010681 "id" : 124,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010682 "runtime_data" : [],
10683 "primitives" : [
10684 {
10685 "op" : "assign",
10686 "parameters" : [
10687 {
10688 "type" : "field",
10689 "value" : ["ipv4", "total_len"]
10690 },
10691 {
10692 "type" : "expression",
10693 "value" : {
10694 "type" : "expression",
10695 "value" : {
10696 "op" : "&",
10697 "left" : {
10698 "type" : "expression",
10699 "value" : {
10700 "op" : "-",
10701 "left" : {
10702 "type" : "field",
10703 "value" : ["ipv4", "total_len"]
10704 },
10705 "right" : {
10706 "type" : "expression",
10707 "value" : {
10708 "op" : "&",
10709 "left" : {
10710 "type" : "expression",
10711 "value" : {
10712 "op" : "&",
10713 "left" : {
10714 "type" : "expression",
10715 "value" : {
10716 "op" : "<<",
10717 "left" : {
10718 "type" : "field",
10719 "value" : ["intl4_shim", "len"]
10720 },
10721 "right" : {
10722 "type" : "hexstr",
10723 "value" : "0x2"
10724 }
10725 }
10726 },
10727 "right" : {
10728 "type" : "hexstr",
10729 "value" : "0xff"
10730 }
10731 }
10732 },
10733 "right" : {
10734 "type" : "hexstr",
10735 "value" : "0xffff"
10736 }
10737 }
10738 }
10739 }
10740 },
10741 "right" : {
10742 "type" : "hexstr",
10743 "value" : "0xffff"
10744 }
10745 }
10746 }
10747 }
10748 ],
10749 "source_info" : {
10750 "filename" : "include/int_sink.p4",
10751 "line" : 32,
10752 "column" : 8,
10753 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
10754 }
10755 },
10756 {
10757 "op" : "assign",
10758 "parameters" : [
10759 {
10760 "type" : "field",
10761 "value" : ["udp", "len"]
10762 },
10763 {
10764 "type" : "expression",
10765 "value" : {
10766 "type" : "expression",
10767 "value" : {
10768 "op" : "&",
10769 "left" : {
10770 "type" : "expression",
10771 "value" : {
10772 "op" : "-",
10773 "left" : {
10774 "type" : "field",
10775 "value" : ["udp", "len"]
10776 },
10777 "right" : {
10778 "type" : "expression",
10779 "value" : {
10780 "op" : "&",
10781 "left" : {
10782 "type" : "expression",
10783 "value" : {
10784 "op" : "&",
10785 "left" : {
10786 "type" : "expression",
10787 "value" : {
10788 "op" : "<<",
10789 "left" : {
10790 "type" : "field",
10791 "value" : ["intl4_shim", "len"]
10792 },
10793 "right" : {
10794 "type" : "hexstr",
10795 "value" : "0x2"
10796 }
10797 }
10798 },
10799 "right" : {
10800 "type" : "hexstr",
10801 "value" : "0xff"
10802 }
10803 }
10804 },
10805 "right" : {
10806 "type" : "hexstr",
10807 "value" : "0xffff"
10808 }
10809 }
10810 }
10811 }
10812 },
10813 "right" : {
10814 "type" : "hexstr",
10815 "value" : "0xffff"
10816 }
10817 }
10818 }
10819 }
10820 ],
10821 "source_info" : {
10822 "filename" : "include/int_sink.p4",
10823 "line" : 33,
10824 "column" : 8,
10825 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
10826 }
10827 },
10828 {
10829 "op" : "remove_header",
10830 "parameters" : [
10831 {
10832 "type" : "header",
10833 "value" : "int_header"
10834 }
10835 ],
10836 "source_info" : {
10837 "filename" : "include/int_sink.p4",
10838 "line" : 35,
10839 "column" : 8,
10840 "source_fragment" : "hdr.int_header.setInvalid()"
10841 }
10842 },
10843 {
10844 "op" : "remove_header",
10845 "parameters" : [
10846 {
10847 "type" : "header",
10848 "value" : "int_data"
10849 }
10850 ],
10851 "source_info" : {
10852 "filename" : "include/int_sink.p4",
10853 "line" : 36,
10854 "column" : 8,
10855 "source_fragment" : "hdr.int_data.setInvalid()"
10856 }
10857 },
10858 {
10859 "op" : "remove_header",
10860 "parameters" : [
10861 {
10862 "type" : "header",
10863 "value" : "intl4_shim"
10864 }
10865 ],
10866 "source_info" : {
10867 "filename" : "include/int_sink.p4",
10868 "line" : 37,
10869 "column" : 8,
10870 "source_fragment" : "hdr.intl4_shim.setInvalid()"
10871 }
10872 },
10873 {
10874 "op" : "remove_header",
10875 "parameters" : [
10876 {
10877 "type" : "header",
10878 "value" : "intl4_tail"
10879 }
10880 ],
10881 "source_info" : {
10882 "filename" : "include/int_sink.p4",
10883 "line" : 38,
10884 "column" : 8,
10885 "source_fragment" : "hdr.intl4_tail.setInvalid()"
10886 }
10887 },
10888 {
10889 "op" : "remove_header",
10890 "parameters" : [
10891 {
10892 "type" : "header",
10893 "value" : "int_switch_id"
10894 }
10895 ],
10896 "source_info" : {
10897 "filename" : "include/int_sink.p4",
10898 "line" : 39,
10899 "column" : 8,
10900 "source_fragment" : "hdr.int_switch_id.setInvalid()"
10901 }
10902 },
10903 {
10904 "op" : "remove_header",
10905 "parameters" : [
10906 {
10907 "type" : "header",
10908 "value" : "int_port_ids"
10909 }
10910 ],
10911 "source_info" : {
10912 "filename" : "include/int_sink.p4",
10913 "line" : 40,
10914 "column" : 8,
10915 "source_fragment" : "hdr.int_port_ids.setInvalid()"
10916 }
10917 },
10918 {
10919 "op" : "remove_header",
10920 "parameters" : [
10921 {
10922 "type" : "header",
10923 "value" : "int_hop_latency"
10924 }
10925 ],
10926 "source_info" : {
10927 "filename" : "include/int_sink.p4",
10928 "line" : 41,
10929 "column" : 8,
10930 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
10931 }
10932 },
10933 {
10934 "op" : "remove_header",
10935 "parameters" : [
10936 {
10937 "type" : "header",
10938 "value" : "int_q_occupancy"
10939 }
10940 ],
10941 "source_info" : {
10942 "filename" : "include/int_sink.p4",
10943 "line" : 42,
10944 "column" : 8,
10945 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
10946 }
10947 },
10948 {
10949 "op" : "remove_header",
10950 "parameters" : [
10951 {
10952 "type" : "header",
10953 "value" : "int_ingress_tstamp"
10954 }
10955 ],
10956 "source_info" : {
10957 "filename" : "include/int_sink.p4",
10958 "line" : 43,
10959 "column" : 8,
10960 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
10961 }
10962 },
10963 {
10964 "op" : "remove_header",
10965 "parameters" : [
10966 {
10967 "type" : "header",
10968 "value" : "int_egress_tstamp"
10969 }
10970 ],
10971 "source_info" : {
10972 "filename" : "include/int_sink.p4",
10973 "line" : 44,
10974 "column" : 8,
10975 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
10976 }
10977 },
10978 {
10979 "op" : "remove_header",
10980 "parameters" : [
10981 {
10982 "type" : "header",
10983 "value" : "int_q_congestion"
10984 }
10985 ],
10986 "source_info" : {
10987 "filename" : "include/int_sink.p4",
10988 "line" : 45,
10989 "column" : 8,
10990 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
10991 }
10992 },
10993 {
10994 "op" : "remove_header",
10995 "parameters" : [
10996 {
10997 "type" : "header",
10998 "value" : "int_egress_tx_util"
10999 }
11000 ],
11001 "source_info" : {
11002 "filename" : "include/int_sink.p4",
11003 "line" : 46,
11004 "column" : 8,
11005 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
11006 }
11007 }
11008 ]
11009 },
11010 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011011 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011012 "id" : 125,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011013 "runtime_data" : [],
11014 "primitives" : [
11015 {
11016 "op" : "assign",
11017 "parameters" : [
11018 {
11019 "type" : "field",
11020 "value" : ["ethernet", "ether_type"]
11021 },
11022 {
11023 "type" : "field",
11024 "value" : ["vlan_tag", "ether_type"]
11025 }
11026 ],
11027 "source_info" : {
11028 "filename" : "include/control/packetio.p4",
11029 "line" : 38,
11030 "column" : 8,
11031 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11032 }
11033 },
11034 {
11035 "op" : "remove_header",
11036 "parameters" : [
11037 {
11038 "type" : "header",
11039 "value" : "vlan_tag"
11040 }
11041 ],
11042 "source_info" : {
11043 "filename" : "include/control/packetio.p4",
11044 "line" : 39,
11045 "column" : 8,
11046 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11047 }
11048 }
11049 ]
11050 },
11051 {
11052 "name" : "FabricEgress.egress_next.pop_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011053 "id" : 126,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011054 "runtime_data" : [],
11055 "primitives" : [
11056 {
11057 "op" : "assign",
11058 "parameters" : [
11059 {
11060 "type" : "field",
11061 "value" : ["ethernet", "ether_type"]
11062 },
11063 {
11064 "type" : "field",
11065 "value" : ["vlan_tag", "ether_type"]
11066 }
11067 ],
11068 "source_info" : {
11069 "filename" : "include/control/next.p4",
11070 "line" : 253,
11071 "column" : 8,
11072 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11073 }
11074 },
11075 {
11076 "op" : "remove_header",
11077 "parameters" : [
11078 {
11079 "type" : "header",
11080 "value" : "vlan_tag"
11081 }
11082 ],
11083 "source_info" : {
11084 "filename" : "include/control/next.p4",
11085 "line" : 254,
11086 "column" : 8,
11087 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11088 }
11089 }
11090 ]
11091 },
11092 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011093 "name" : "act_28",
11094 "id" : 127,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011095 "runtime_data" : [],
11096 "primitives" : [
11097 {
11098 "op" : "add_header",
11099 "parameters" : [
11100 {
11101 "type" : "header",
11102 "value" : "packet_in"
11103 }
11104 ],
11105 "source_info" : {
11106 "filename" : "include/control/packetio.p4",
11107 "line" : 51,
11108 "column" : 12,
11109 "source_fragment" : "hdr.packet_in.setValid()"
11110 }
11111 },
11112 {
11113 "op" : "assign",
11114 "parameters" : [
11115 {
11116 "type" : "field",
11117 "value" : ["packet_in", "ingress_port"]
11118 },
11119 {
11120 "type" : "field",
11121 "value" : ["standard_metadata", "ingress_port"]
11122 }
11123 ],
11124 "source_info" : {
11125 "filename" : "include/control/packetio.p4",
11126 "line" : 52,
11127 "column" : 12,
11128 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11129 }
11130 }
11131 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011132 }
11133 ],
11134 "pipelines" : [
11135 {
11136 "name" : "ingress",
11137 "id" : 0,
11138 "source_info" : {
11139 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011140 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011141 "column" : 8,
11142 "source_fragment" : "FabricIngress"
11143 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011144 "init_table" : "tbl_act",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011145 "tables" : [
11146 {
11147 "name" : "tbl_act",
11148 "id" : 0,
11149 "key" : [],
11150 "match_type" : "exact",
11151 "type" : "simple",
11152 "max_size" : 1024,
11153 "with_counters" : false,
11154 "support_timeout" : false,
11155 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011156 "action_ids" : [47],
11157 "actions" : ["act_0"],
11158 "base_default_next" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011159 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011160 "act_0" : "node_3"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011161 },
11162 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011163 "action_id" : 47,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011164 "action_const" : true,
11165 "action_data" : [],
11166 "action_entry_const" : true
11167 }
11168 },
11169 {
11170 "name" : "tbl_act_0",
11171 "id" : 1,
11172 "key" : [],
11173 "match_type" : "exact",
11174 "type" : "simple",
11175 "max_size" : 1024,
11176 "with_counters" : false,
11177 "support_timeout" : false,
11178 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011179 "action_ids" : [46],
11180 "actions" : ["act"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011181 "base_default_next" : "node_5",
11182 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011183 "act" : "node_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011184 },
11185 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011186 "action_id" : 46,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011187 "action_const" : true,
11188 "action_data" : [],
11189 "action_entry_const" : true
11190 }
11191 },
11192 {
11193 "name" : "tbl_act_1",
11194 "id" : 2,
11195 "key" : [],
11196 "match_type" : "exact",
11197 "type" : "simple",
11198 "max_size" : 1024,
11199 "with_counters" : false,
11200 "support_timeout" : false,
11201 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011202 "action_ids" : [50],
11203 "actions" : ["act_3"],
11204 "base_default_next" : "node_7",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011205 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011206 "act_3" : "node_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011207 },
11208 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011209 "action_id" : 50,
11210 "action_const" : true,
11211 "action_data" : [],
11212 "action_entry_const" : true
11213 }
11214 },
11215 {
11216 "name" : "tbl_act_2",
11217 "id" : 3,
11218 "key" : [],
11219 "match_type" : "exact",
11220 "type" : "simple",
11221 "max_size" : 1024,
11222 "with_counters" : false,
11223 "support_timeout" : false,
11224 "direct_meters" : null,
11225 "action_ids" : [48],
11226 "actions" : ["act_1"],
11227 "base_default_next" : "node_10",
11228 "next_tables" : {
11229 "act_1" : "node_10"
11230 },
11231 "default_entry" : {
11232 "action_id" : 48,
11233 "action_const" : true,
11234 "action_data" : [],
11235 "action_entry_const" : true
11236 }
11237 },
11238 {
11239 "name" : "tbl_act_3",
11240 "id" : 4,
11241 "key" : [],
11242 "match_type" : "exact",
11243 "type" : "simple",
11244 "max_size" : 1024,
11245 "with_counters" : false,
11246 "support_timeout" : false,
11247 "direct_meters" : null,
11248 "action_ids" : [49],
11249 "actions" : ["act_2"],
11250 "base_default_next" : "node_10",
11251 "next_tables" : {
11252 "act_2" : "node_10"
11253 },
11254 "default_entry" : {
11255 "action_id" : 49,
11256 "action_const" : true,
11257 "action_data" : [],
11258 "action_entry_const" : true
11259 }
11260 },
11261 {
11262 "name" : "tbl_act_4",
11263 "id" : 5,
11264 "key" : [],
11265 "match_type" : "exact",
11266 "type" : "simple",
11267 "max_size" : 1024,
11268 "with_counters" : false,
11269 "support_timeout" : false,
11270 "direct_meters" : null,
11271 "action_ids" : [51],
11272 "actions" : ["act_4"],
11273 "base_default_next" : null,
11274 "next_tables" : {
11275 "act_4" : null
11276 },
11277 "default_entry" : {
11278 "action_id" : 51,
11279 "action_const" : true,
11280 "action_data" : [],
11281 "action_entry_const" : true
11282 }
11283 },
11284 {
11285 "name" : "tbl_act_5",
11286 "id" : 6,
11287 "key" : [],
11288 "match_type" : "exact",
11289 "type" : "simple",
11290 "max_size" : 1024,
11291 "with_counters" : false,
11292 "support_timeout" : false,
11293 "direct_meters" : null,
11294 "action_ids" : [59],
11295 "actions" : ["act_12"],
11296 "base_default_next" : "node_13",
11297 "next_tables" : {
11298 "act_12" : "node_13"
11299 },
11300 "default_entry" : {
11301 "action_id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011302 "action_const" : true,
11303 "action_data" : [],
11304 "action_entry_const" : true
11305 }
11306 },
11307 {
11308 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011309 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011310 "source_info" : {
11311 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011312 "line" : 79,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011313 "column" : 10,
11314 "source_fragment" : "s1u_filter_table"
11315 },
11316 "key" : [
11317 {
11318 "match_type" : "exact",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011319 "name" : "gtpu_ipv4.dst_addr",
11320 "target" : ["gtpu_ipv4", "dst_addr"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011321 "mask" : null
11322 }
11323 ],
11324 "match_type" : "exact",
11325 "type" : "simple",
11326 "max_size" : 1024,
11327 "with_counters" : false,
11328 "support_timeout" : false,
11329 "direct_meters" : null,
11330 "action_ids" : [1],
11331 "actions" : ["NoAction"],
11332 "base_default_next" : null,
11333 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011334 "__HIT__" : "tbl_act_6",
11335 "__MISS__" : "tbl_act_7"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011336 },
11337 "default_entry" : {
11338 "action_id" : 1,
11339 "action_const" : false,
11340 "action_data" : [],
11341 "action_entry_const" : false
11342 }
11343 },
11344 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011345 "name" : "tbl_act_6",
11346 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011347 "key" : [],
11348 "match_type" : "exact",
11349 "type" : "simple",
11350 "max_size" : 1024,
11351 "with_counters" : false,
11352 "support_timeout" : false,
11353 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011354 "action_ids" : [52],
11355 "actions" : ["act_5"],
11356 "base_default_next" : "node_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011357 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011358 "act_5" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011359 },
11360 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011361 "action_id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011362 "action_const" : true,
11363 "action_data" : [],
11364 "action_entry_const" : true
11365 }
11366 },
11367 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011368 "name" : "tbl_act_7",
11369 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011370 "key" : [],
11371 "match_type" : "exact",
11372 "type" : "simple",
11373 "max_size" : 1024,
11374 "with_counters" : false,
11375 "support_timeout" : false,
11376 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011377 "action_ids" : [53],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011378 "actions" : ["act_6"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011379 "base_default_next" : "node_17",
11380 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011381 "act_6" : "node_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011382 },
11383 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011384 "action_id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011385 "action_const" : true,
11386 "action_data" : [],
11387 "action_entry_const" : true
11388 }
11389 },
11390 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011391 "name" : "tbl_drop_now",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011392 "id" : 10,
11393 "key" : [],
11394 "match_type" : "exact",
11395 "type" : "simple",
11396 "max_size" : 1024,
11397 "with_counters" : false,
11398 "support_timeout" : false,
11399 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011400 "action_ids" : [16],
11401 "actions" : ["drop_now"],
11402 "base_default_next" : "tbl_act_8",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011403 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011404 "drop_now" : "tbl_act_8"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011405 },
11406 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011407 "action_id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011408 "action_const" : true,
11409 "action_data" : [],
11410 "action_entry_const" : true
11411 }
11412 },
11413 {
11414 "name" : "tbl_act_8",
11415 "id" : 11,
11416 "key" : [],
11417 "match_type" : "exact",
11418 "type" : "simple",
11419 "max_size" : 1024,
11420 "with_counters" : false,
11421 "support_timeout" : false,
11422 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011423 "action_ids" : [54],
11424 "actions" : ["act_7"],
11425 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011426 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011427 "act_7" : "tbl_spgw_ingress_gtpu_decap"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011428 },
11429 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011430 "action_id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011431 "action_const" : true,
11432 "action_data" : [],
11433 "action_entry_const" : true
11434 }
11435 },
11436 {
11437 "name" : "tbl_spgw_ingress_gtpu_decap",
11438 "id" : 12,
11439 "key" : [],
11440 "match_type" : "exact",
11441 "type" : "simple",
11442 "max_size" : 1024,
11443 "with_counters" : false,
11444 "support_timeout" : false,
11445 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011446 "action_ids" : [17],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011447 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011448 "base_default_next" : "node_27",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011449 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011450 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011451 },
11452 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011453 "action_id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011454 "action_const" : true,
11455 "action_data" : [],
11456 "action_entry_const" : true
11457 }
11458 },
11459 {
11460 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
11461 "id" : 13,
11462 "source_info" : {
11463 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011464 "line" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011465 "column" : 10,
11466 "source_fragment" : "dl_sess_lookup"
11467 },
11468 "key" : [
11469 {
11470 "match_type" : "exact",
11471 "name" : "ipv4.dst_addr",
11472 "target" : ["ipv4", "dst_addr"],
11473 "mask" : null
11474 }
11475 ],
11476 "match_type" : "exact",
11477 "type" : "simple",
11478 "max_size" : 1024,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011479 "with_counters" : true,
11480 "support_timeout" : false,
11481 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011482 "action_ids" : [18, 0],
11483 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
11484 "base_default_next" : null,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011485 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011486 "__HIT__" : "tbl_act_9",
11487 "__MISS__" : "tbl_act_10"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011488 },
11489 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011490 "action_id" : 0,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011491 "action_const" : false,
11492 "action_data" : [],
11493 "action_entry_const" : false
11494 }
11495 },
11496 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011497 "name" : "tbl_act_9",
11498 "id" : 14,
11499 "key" : [],
11500 "match_type" : "exact",
11501 "type" : "simple",
11502 "max_size" : 1024,
11503 "with_counters" : false,
11504 "support_timeout" : false,
11505 "direct_meters" : null,
11506 "action_ids" : [55],
11507 "actions" : ["act_8"],
11508 "base_default_next" : "node_24",
11509 "next_tables" : {
11510 "act_8" : "node_24"
11511 },
11512 "default_entry" : {
11513 "action_id" : 55,
11514 "action_const" : true,
11515 "action_data" : [],
11516 "action_entry_const" : true
11517 }
11518 },
11519 {
11520 "name" : "tbl_act_10",
11521 "id" : 15,
11522 "key" : [],
11523 "match_type" : "exact",
11524 "type" : "simple",
11525 "max_size" : 1024,
11526 "with_counters" : false,
11527 "support_timeout" : false,
11528 "direct_meters" : null,
11529 "action_ids" : [56],
11530 "actions" : ["act_9"],
11531 "base_default_next" : "node_24",
11532 "next_tables" : {
11533 "act_9" : "node_24"
11534 },
11535 "default_entry" : {
11536 "action_id" : 56,
11537 "action_const" : true,
11538 "action_data" : [],
11539 "action_entry_const" : true
11540 }
11541 },
11542 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011543 "name" : "tbl_act_11",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011544 "id" : 16,
11545 "key" : [],
11546 "match_type" : "exact",
11547 "type" : "simple",
11548 "max_size" : 1024,
11549 "with_counters" : false,
11550 "support_timeout" : false,
11551 "direct_meters" : null,
11552 "action_ids" : [57],
11553 "actions" : ["act_10"],
11554 "base_default_next" : "node_27",
11555 "next_tables" : {
11556 "act_10" : "node_27"
11557 },
11558 "default_entry" : {
11559 "action_id" : 57,
11560 "action_const" : true,
11561 "action_data" : [],
11562 "action_entry_const" : true
11563 }
11564 },
11565 {
11566 "name" : "tbl_act_12",
11567 "id" : 17,
11568 "key" : [],
11569 "match_type" : "exact",
11570 "type" : "simple",
11571 "max_size" : 1024,
11572 "with_counters" : false,
11573 "support_timeout" : false,
11574 "direct_meters" : null,
11575 "action_ids" : [58],
11576 "actions" : ["act_11"],
11577 "base_default_next" : "node_27",
11578 "next_tables" : {
11579 "act_11" : "node_27"
11580 },
11581 "default_entry" : {
11582 "action_id" : 58,
11583 "action_const" : true,
11584 "action_data" : [],
11585 "action_entry_const" : true
11586 }
11587 },
11588 {
11589 "name" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011590 "id" : 18,
11591 "key" : [],
11592 "match_type" : "exact",
11593 "type" : "simple",
11594 "max_size" : 1024,
11595 "with_counters" : false,
11596 "support_timeout" : false,
11597 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011598 "action_ids" : [60],
11599 "actions" : ["act_13"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011600 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
11601 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011602 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011603 },
11604 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011605 "action_id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011606 "action_const" : true,
11607 "action_data" : [],
11608 "action_entry_const" : true
11609 }
11610 },
11611 {
11612 "name" : "FabricIngress.filtering.ingress_port_vlan",
11613 "id" : 19,
11614 "source_info" : {
11615 "filename" : "include/control/filtering.p4",
11616 "line" : 61,
11617 "column" : 10,
11618 "source_fragment" : "ingress_port_vlan"
11619 },
11620 "key" : [
11621 {
11622 "match_type" : "exact",
11623 "name" : "standard_metadata.ingress_port",
11624 "target" : ["standard_metadata", "ingress_port"],
11625 "mask" : null
11626 },
11627 {
11628 "match_type" : "exact",
11629 "name" : "hdr.vlan_tag.is_valid",
11630 "target" : ["vlan_tag", "$valid$"],
11631 "mask" : null
11632 },
11633 {
11634 "match_type" : "ternary",
11635 "name" : "hdr.vlan_tag.vlan_id",
11636 "target" : ["vlan_tag", "vlan_id"],
11637 "mask" : null
11638 }
11639 ],
11640 "match_type" : "ternary",
11641 "type" : "simple",
11642 "max_size" : 1024,
11643 "with_counters" : true,
11644 "support_timeout" : false,
11645 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011646 "action_ids" : [23, 22, 13, 21],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011647 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "nop", "FabricIngress.filtering.drop"],
11648 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
11649 "next_tables" : {
11650 "FabricIngress.filtering.push_internal_vlan" : "FabricIngress.filtering.fwd_classifier",
11651 "FabricIngress.filtering.set_vlan" : "FabricIngress.filtering.fwd_classifier",
11652 "nop" : "FabricIngress.filtering.fwd_classifier",
11653 "FabricIngress.filtering.drop" : "FabricIngress.filtering.fwd_classifier"
11654 },
11655 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011656 "action_id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011657 "action_const" : true,
11658 "action_data" : [],
11659 "action_entry_const" : true
11660 }
11661 },
11662 {
11663 "name" : "FabricIngress.filtering.fwd_classifier",
11664 "id" : 20,
11665 "source_info" : {
11666 "filename" : "include/control/filtering.p4",
11667 "line" : 98,
11668 "column" : 10,
11669 "source_fragment" : "fwd_classifier"
11670 },
11671 "key" : [
11672 {
11673 "match_type" : "exact",
11674 "name" : "standard_metadata.ingress_port",
11675 "target" : ["standard_metadata", "ingress_port"],
11676 "mask" : null
11677 },
11678 {
11679 "match_type" : "exact",
11680 "name" : "hdr.ethernet.dst_addr",
11681 "target" : ["ethernet", "dst_addr"],
11682 "mask" : null
11683 },
11684 {
11685 "match_type" : "exact",
Yi Tseng8235a1a2018-07-24 20:57:28 +080011686 "name" : "hdr.vlan_tag.ether_type",
11687 "target" : ["vlan_tag", "ether_type"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011688 "mask" : null
11689 }
11690 ],
11691 "match_type" : "exact",
11692 "type" : "simple",
11693 "max_size" : 1024,
11694 "with_counters" : true,
11695 "support_timeout" : false,
11696 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011697 "action_ids" : [24],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011698 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011699 "base_default_next" : "node_31",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011700 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011701 "FabricIngress.filtering.set_forwarding_type" : "node_31"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011702 },
11703 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011704 "action_id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011705 "action_const" : true,
11706 "action_data" : ["0x0"],
11707 "action_entry_const" : true
11708 }
11709 },
11710 {
11711 "name" : "FabricIngress.forwarding.bridging",
11712 "id" : 21,
11713 "source_info" : {
11714 "filename" : "include/control/forwarding.p4",
11715 "line" : 41,
11716 "column" : 10,
11717 "source_fragment" : "bridging"
11718 },
11719 "key" : [
11720 {
11721 "match_type" : "exact",
11722 "name" : "hdr.vlan_tag.vlan_id",
11723 "target" : ["vlan_tag", "vlan_id"],
11724 "mask" : null
11725 },
11726 {
11727 "match_type" : "ternary",
11728 "name" : "hdr.ethernet.dst_addr",
11729 "target" : ["ethernet", "dst_addr"],
11730 "mask" : null
11731 }
11732 ],
11733 "match_type" : "ternary",
11734 "type" : "simple",
11735 "max_size" : 1024,
11736 "with_counters" : true,
11737 "support_timeout" : false,
11738 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011739 "action_ids" : [25, 4],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011740 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
11741 "base_default_next" : "FabricIngress.forwarding.acl",
11742 "next_tables" : {
11743 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
11744 "NoAction" : "FabricIngress.forwarding.acl"
11745 },
11746 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011747 "action_id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011748 "action_const" : false,
11749 "action_data" : [],
11750 "action_entry_const" : false
11751 }
11752 },
11753 {
11754 "name" : "FabricIngress.forwarding.mpls",
11755 "id" : 22,
11756 "source_info" : {
11757 "filename" : "include/control/forwarding.p4",
11758 "line" : 65,
11759 "column" : 10,
11760 "source_fragment" : "mpls"
11761 },
11762 "key" : [
11763 {
11764 "match_type" : "exact",
11765 "name" : "hdr.mpls.label",
11766 "target" : ["mpls", "label"],
11767 "mask" : null
11768 }
11769 ],
11770 "match_type" : "exact",
11771 "type" : "simple",
11772 "max_size" : 1024,
11773 "with_counters" : true,
11774 "support_timeout" : false,
11775 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011776 "action_ids" : [26, 5],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011777 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011778 "base_default_next" : "tbl_act_14",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011779 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011780 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_14",
11781 "NoAction" : "tbl_act_14"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011782 },
11783 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011784 "action_id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011785 "action_const" : false,
11786 "action_data" : [],
11787 "action_entry_const" : false
11788 }
11789 },
11790 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011791 "name" : "tbl_act_14",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011792 "id" : 23,
11793 "key" : [],
11794 "match_type" : "exact",
11795 "type" : "simple",
11796 "max_size" : 1024,
11797 "with_counters" : false,
11798 "support_timeout" : false,
11799 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011800 "action_ids" : [61],
11801 "actions" : ["act_14"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011802 "base_default_next" : "FabricIngress.forwarding.acl",
11803 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011804 "act_14" : "FabricIngress.forwarding.acl"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011805 },
11806 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011807 "action_id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011808 "action_const" : true,
11809 "action_data" : [],
11810 "action_entry_const" : true
11811 }
11812 },
11813 {
11814 "name" : "FabricIngress.forwarding.unicast_v4",
11815 "id" : 24,
11816 "source_info" : {
11817 "filename" : "include/control/forwarding.p4",
11818 "line" : 87,
11819 "column" : 10,
11820 "source_fragment" : "unicast_v4"
11821 },
11822 "key" : [
11823 {
11824 "match_type" : "lpm",
11825 "name" : "hdr.ipv4.dst_addr",
11826 "target" : ["ipv4", "dst_addr"],
11827 "mask" : null
11828 }
11829 ],
11830 "match_type" : "lpm",
11831 "type" : "simple",
11832 "max_size" : 1024,
11833 "with_counters" : true,
11834 "support_timeout" : false,
11835 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011836 "action_ids" : [27, 6],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011837 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v4", "NoAction"],
11838 "base_default_next" : "FabricIngress.forwarding.acl",
11839 "next_tables" : {
11840 "FabricIngress.forwarding.set_next_id_unicast_v4" : "FabricIngress.forwarding.acl",
11841 "NoAction" : "FabricIngress.forwarding.acl"
11842 },
11843 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011844 "action_id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011845 "action_const" : false,
11846 "action_data" : [],
11847 "action_entry_const" : false
11848 }
11849 },
11850 {
11851 "name" : "FabricIngress.forwarding.multicast_v4",
11852 "id" : 25,
11853 "source_info" : {
11854 "filename" : "include/control/forwarding.p4",
11855 "line" : 168,
11856 "column" : 10,
11857 "source_fragment" : "multicast_v4"
11858 },
11859 "key" : [
11860 {
11861 "match_type" : "exact",
11862 "name" : "hdr.vlan_tag.vlan_id",
11863 "target" : ["vlan_tag", "vlan_id"],
11864 "mask" : null
11865 },
11866 {
11867 "match_type" : "lpm",
11868 "name" : "hdr.ipv4.dst_addr",
11869 "target" : ["ipv4", "dst_addr"],
11870 "mask" : null
11871 }
11872 ],
11873 "match_type" : "lpm",
11874 "type" : "simple",
11875 "max_size" : 1024,
11876 "with_counters" : true,
11877 "support_timeout" : false,
11878 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011879 "action_ids" : [32, 7],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011880 "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v4", "NoAction"],
11881 "base_default_next" : "FabricIngress.forwarding.acl",
11882 "next_tables" : {
11883 "FabricIngress.forwarding.set_next_id_multicast_v4" : "FabricIngress.forwarding.acl",
11884 "NoAction" : "FabricIngress.forwarding.acl"
11885 },
11886 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011887 "action_id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011888 "action_const" : false,
11889 "action_data" : [],
11890 "action_entry_const" : false
11891 }
11892 },
11893 {
11894 "name" : "FabricIngress.forwarding.unicast_v6",
11895 "id" : 26,
11896 "source_info" : {
11897 "filename" : "include/control/forwarding.p4",
11898 "line" : 193,
11899 "column" : 10,
11900 "source_fragment" : "unicast_v6"
11901 },
11902 "key" : [
11903 {
11904 "match_type" : "lpm",
11905 "name" : "hdr.ipv6.dst_addr",
11906 "target" : ["ipv6", "dst_addr"],
11907 "mask" : null
11908 }
11909 ],
11910 "match_type" : "lpm",
11911 "type" : "simple",
11912 "max_size" : 1024,
11913 "with_counters" : true,
11914 "support_timeout" : false,
11915 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011916 "action_ids" : [33, 8],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011917 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v6", "NoAction"],
11918 "base_default_next" : "FabricIngress.forwarding.acl",
11919 "next_tables" : {
11920 "FabricIngress.forwarding.set_next_id_unicast_v6" : "FabricIngress.forwarding.acl",
11921 "NoAction" : "FabricIngress.forwarding.acl"
11922 },
11923 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011924 "action_id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011925 "action_const" : false,
11926 "action_data" : [],
11927 "action_entry_const" : false
11928 }
11929 },
11930 {
11931 "name" : "FabricIngress.forwarding.multicast_v6",
11932 "id" : 27,
11933 "source_info" : {
11934 "filename" : "include/control/forwarding.p4",
11935 "line" : 216,
11936 "column" : 10,
11937 "source_fragment" : "multicast_v6"
11938 },
11939 "key" : [
11940 {
11941 "match_type" : "exact",
11942 "name" : "hdr.vlan_tag.vlan_id",
11943 "target" : ["vlan_tag", "vlan_id"],
11944 "mask" : null
11945 },
11946 {
11947 "match_type" : "lpm",
11948 "name" : "hdr.ipv6.dst_addr",
11949 "target" : ["ipv6", "dst_addr"],
11950 "mask" : null
11951 }
11952 ],
11953 "match_type" : "lpm",
11954 "type" : "simple",
11955 "max_size" : 1024,
11956 "with_counters" : true,
11957 "support_timeout" : false,
11958 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011959 "action_ids" : [34, 9],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011960 "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v6", "NoAction"],
11961 "base_default_next" : "FabricIngress.forwarding.acl",
11962 "next_tables" : {
11963 "FabricIngress.forwarding.set_next_id_multicast_v6" : "FabricIngress.forwarding.acl",
11964 "NoAction" : "FabricIngress.forwarding.acl"
11965 },
11966 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070011967 "action_id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011968 "action_const" : false,
11969 "action_data" : [],
11970 "action_entry_const" : false
11971 }
11972 },
11973 {
11974 "name" : "FabricIngress.forwarding.acl",
11975 "id" : 28,
11976 "source_info" : {
11977 "filename" : "include/control/forwarding.p4",
11978 "line" : 127,
11979 "column" : 10,
11980 "source_fragment" : "acl"
11981 },
11982 "key" : [
11983 {
11984 "match_type" : "ternary",
11985 "name" : "standard_metadata.ingress_port",
11986 "target" : ["standard_metadata", "ingress_port"],
11987 "mask" : null
11988 },
11989 {
11990 "match_type" : "ternary",
11991 "name" : "fabric_metadata.ip_proto",
11992 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
11993 "mask" : null
11994 },
11995 {
11996 "match_type" : "ternary",
11997 "name" : "fabric_metadata.l4_src_port",
11998 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
11999 "mask" : null
12000 },
12001 {
12002 "match_type" : "ternary",
12003 "name" : "fabric_metadata.l4_dst_port",
12004 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12005 "mask" : null
12006 },
12007 {
12008 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012009 "name" : "hdr.ethernet.dst_addr",
12010 "target" : ["ethernet", "dst_addr"],
12011 "mask" : null
12012 },
12013 {
12014 "match_type" : "ternary",
12015 "name" : "hdr.ethernet.src_addr",
12016 "target" : ["ethernet", "src_addr"],
12017 "mask" : null
12018 },
12019 {
12020 "match_type" : "ternary",
12021 "name" : "hdr.vlan_tag.vlan_id",
12022 "target" : ["vlan_tag", "vlan_id"],
12023 "mask" : null
12024 },
12025 {
12026 "match_type" : "ternary",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012027 "name" : "hdr.vlan_tag.ether_type",
12028 "target" : ["vlan_tag", "ether_type"],
12029 "mask" : null
12030 },
12031 {
12032 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012033 "name" : "hdr.ipv4.src_addr",
12034 "target" : ["ipv4", "src_addr"],
12035 "mask" : null
12036 },
12037 {
12038 "match_type" : "ternary",
12039 "name" : "hdr.ipv4.dst_addr",
12040 "target" : ["ipv4", "dst_addr"],
12041 "mask" : null
12042 },
12043 {
12044 "match_type" : "ternary",
12045 "name" : "hdr.icmp.icmp_type",
12046 "target" : ["icmp", "icmp_type"],
12047 "mask" : null
12048 },
12049 {
12050 "match_type" : "ternary",
12051 "name" : "hdr.icmp.icmp_code",
12052 "target" : ["icmp", "icmp_code"],
12053 "mask" : null
12054 }
12055 ],
12056 "match_type" : "ternary",
12057 "type" : "simple",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012058 "max_size" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012059 "with_counters" : true,
12060 "support_timeout" : false,
12061 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012062 "action_ids" : [28, 29, 30, 31, 14],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012063 "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "nop"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012064 "base_default_next" : "tbl_act_15",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012065 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012066 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_15",
12067 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_15",
12068 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_15",
12069 "FabricIngress.forwarding.drop" : "tbl_act_15",
12070 "nop" : "tbl_act_15"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012071 },
12072 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012073 "action_id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012074 "action_const" : true,
12075 "action_data" : [],
12076 "action_entry_const" : true
12077 }
12078 },
12079 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012080 "name" : "tbl_act_15",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012081 "id" : 29,
12082 "key" : [],
12083 "match_type" : "exact",
12084 "type" : "simple",
12085 "max_size" : 1024,
12086 "with_counters" : false,
12087 "support_timeout" : false,
12088 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012089 "action_ids" : [62],
12090 "actions" : ["act_15"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012091 "base_default_next" : "FabricIngress.next.vlan_meta",
12092 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012093 "act_15" : "FabricIngress.next.vlan_meta"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012094 },
12095 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012096 "action_id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012097 "action_const" : true,
12098 "action_data" : [],
12099 "action_entry_const" : true
12100 }
12101 },
12102 {
12103 "name" : "FabricIngress.next.vlan_meta",
12104 "id" : 30,
12105 "source_info" : {
12106 "filename" : "include/control/next.p4",
12107 "line" : 65,
12108 "column" : 10,
12109 "source_fragment" : "vlan_meta"
12110 },
12111 "key" : [
12112 {
12113 "match_type" : "exact",
12114 "name" : "fabric_metadata.next_id",
12115 "target" : ["scalars", "fabric_metadata_t.next_id"],
12116 "mask" : null
12117 }
12118 ],
12119 "match_type" : "exact",
12120 "type" : "simple",
12121 "max_size" : 1024,
12122 "with_counters" : true,
12123 "support_timeout" : false,
12124 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012125 "action_ids" : [35, 15],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012126 "actions" : ["FabricIngress.next.set_vlan", "nop"],
12127 "base_default_next" : "FabricIngress.next.simple",
12128 "next_tables" : {
12129 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
12130 "nop" : "FabricIngress.next.simple"
12131 },
12132 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012133 "action_id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012134 "action_const" : false,
12135 "action_data" : [],
12136 "action_entry_const" : false
12137 }
12138 },
12139 {
12140 "name" : "FabricIngress.next.simple",
12141 "id" : 31,
12142 "source_info" : {
12143 "filename" : "include/control/next.p4",
12144 "line" : 122,
12145 "column" : 10,
12146 "source_fragment" : "simple"
12147 },
12148 "key" : [
12149 {
12150 "match_type" : "exact",
12151 "name" : "fabric_metadata.next_id",
12152 "target" : ["scalars", "fabric_metadata_t.next_id"],
12153 "mask" : null
12154 }
12155 ],
12156 "match_type" : "exact",
12157 "type" : "simple",
12158 "max_size" : 1024,
12159 "with_counters" : true,
12160 "support_timeout" : false,
12161 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012162 "action_ids" : [36, 37, 38, 39, 40, 41, 10],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012163 "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"],
12164 "base_default_next" : null,
12165 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012166 "__HIT__" : "tbl_act_16",
12167 "__MISS__" : "tbl_act_17"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012168 },
12169 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012170 "action_id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012171 "action_const" : false,
12172 "action_data" : [],
12173 "action_entry_const" : false
12174 }
12175 },
12176 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012177 "name" : "tbl_act_16",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012178 "id" : 32,
12179 "key" : [],
12180 "match_type" : "exact",
12181 "type" : "simple",
12182 "max_size" : 1024,
12183 "with_counters" : false,
12184 "support_timeout" : false,
12185 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012186 "action_ids" : [63],
12187 "actions" : ["act_16"],
12188 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012189 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012190 "act_16" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012191 },
12192 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012193 "action_id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012194 "action_const" : true,
12195 "action_data" : [],
12196 "action_entry_const" : true
12197 }
12198 },
12199 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012200 "name" : "tbl_act_17",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012201 "id" : 33,
12202 "key" : [],
12203 "match_type" : "exact",
12204 "type" : "simple",
12205 "max_size" : 1024,
12206 "with_counters" : false,
12207 "support_timeout" : false,
12208 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012209 "action_ids" : [64],
12210 "actions" : ["act_17"],
12211 "base_default_next" : "node_50",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012212 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012213 "act_17" : "node_50"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012214 },
12215 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012216 "action_id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012217 "action_const" : true,
12218 "action_data" : [],
12219 "action_entry_const" : true
12220 }
12221 },
12222 {
12223 "name" : "FabricIngress.next.hashed",
12224 "id" : 34,
12225 "source_info" : {
12226 "filename" : "include/control/next.p4",
12227 "line" : 175,
12228 "column" : 10,
12229 "source_fragment" : "hashed"
12230 },
12231 "key" : [
12232 {
12233 "match_type" : "exact",
12234 "name" : "fabric_metadata.next_id",
12235 "target" : ["scalars", "fabric_metadata_t.next_id"],
12236 "mask" : null
12237 }
12238 ],
12239 "match_type" : "exact",
12240 "type" : "indirect_ws",
12241 "action_profile" : "FabricIngress.next.ecmp_selector",
12242 "max_size" : 1024,
12243 "with_counters" : true,
12244 "support_timeout" : false,
12245 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012246 "action_ids" : [42, 43, 44, 11],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012247 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
12248 "base_default_next" : null,
12249 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012250 "__HIT__" : "tbl_act_18",
12251 "__MISS__" : "tbl_act_19"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012252 }
12253 },
12254 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012255 "name" : "tbl_act_18",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012256 "id" : 35,
12257 "key" : [],
12258 "match_type" : "exact",
12259 "type" : "simple",
12260 "max_size" : 1024,
12261 "with_counters" : false,
12262 "support_timeout" : false,
12263 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012264 "action_ids" : [65],
12265 "actions" : ["act_18"],
12266 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012267 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012268 "act_18" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012269 },
12270 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012271 "action_id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012272 "action_const" : true,
12273 "action_data" : [],
12274 "action_entry_const" : true
12275 }
12276 },
12277 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012278 "name" : "tbl_act_19",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012279 "id" : 36,
12280 "key" : [],
12281 "match_type" : "exact",
12282 "type" : "simple",
12283 "max_size" : 1024,
12284 "with_counters" : false,
12285 "support_timeout" : false,
12286 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012287 "action_ids" : [66],
12288 "actions" : ["act_19"],
12289 "base_default_next" : "node_54",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012290 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012291 "act_19" : "node_54"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012292 },
12293 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012294 "action_id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012295 "action_const" : true,
12296 "action_data" : [],
12297 "action_entry_const" : true
12298 }
12299 },
12300 {
12301 "name" : "FabricIngress.next.multicast",
12302 "id" : 37,
12303 "source_info" : {
12304 "filename" : "include/control/next.p4",
12305 "line" : 207,
12306 "column" : 10,
12307 "source_fragment" : "multicast"
12308 },
12309 "key" : [
12310 {
12311 "match_type" : "exact",
12312 "name" : "fabric_metadata.next_id",
12313 "target" : ["scalars", "fabric_metadata_t.next_id"],
12314 "mask" : null
12315 }
12316 ],
12317 "match_type" : "exact",
12318 "type" : "simple",
12319 "max_size" : 1024,
12320 "with_counters" : true,
12321 "support_timeout" : false,
12322 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012323 "action_ids" : [45, 12],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012324 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
12325 "base_default_next" : null,
12326 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012327 "__HIT__" : "tbl_act_20",
12328 "__MISS__" : "tbl_act_21"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012329 },
12330 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012331 "action_id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012332 "action_const" : false,
12333 "action_data" : [],
12334 "action_entry_const" : false
12335 }
12336 },
12337 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012338 "name" : "tbl_act_20",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012339 "id" : 38,
12340 "key" : [],
12341 "match_type" : "exact",
12342 "type" : "simple",
12343 "max_size" : 1024,
12344 "with_counters" : false,
12345 "support_timeout" : false,
12346 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012347 "action_ids" : [67],
12348 "actions" : ["act_20"],
12349 "base_default_next" : "node_58",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012350 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012351 "act_20" : "node_58"
12352 },
12353 "default_entry" : {
12354 "action_id" : 67,
12355 "action_const" : true,
12356 "action_data" : [],
12357 "action_entry_const" : true
12358 }
12359 },
12360 {
12361 "name" : "tbl_act_21",
12362 "id" : 39,
12363 "key" : [],
12364 "match_type" : "exact",
12365 "type" : "simple",
12366 "max_size" : 1024,
12367 "with_counters" : false,
12368 "support_timeout" : false,
12369 "direct_meters" : null,
12370 "action_ids" : [68],
12371 "actions" : ["act_21"],
12372 "base_default_next" : "node_58",
12373 "next_tables" : {
12374 "act_21" : "node_58"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012375 },
12376 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012377 "action_id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012378 "action_const" : true,
12379 "action_data" : [],
12380 "action_entry_const" : true
12381 }
12382 },
12383 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012384 "name" : "tbl_act_22",
12385 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012386 "key" : [],
12387 "match_type" : "exact",
12388 "type" : "simple",
12389 "max_size" : 1024,
12390 "with_counters" : false,
12391 "support_timeout" : false,
12392 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012393 "action_ids" : [69],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012394 "actions" : ["act_22"],
12395 "base_default_next" : "node_60",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012396 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012397 "act_22" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012398 },
12399 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012400 "action_id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012401 "action_const" : true,
12402 "action_data" : [],
12403 "action_entry_const" : true
12404 }
12405 },
12406 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012407 "name" : "tbl_act_23",
12408 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012409 "key" : [],
12410 "match_type" : "exact",
12411 "type" : "simple",
12412 "max_size" : 1024,
12413 "with_counters" : false,
12414 "support_timeout" : false,
12415 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012416 "action_ids" : [70],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012417 "actions" : ["act_23"],
12418 "base_default_next" : "node_66",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012419 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012420 "act_23" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012421 },
12422 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012423 "action_id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012424 "action_const" : true,
12425 "action_data" : [],
12426 "action_entry_const" : true
12427 }
12428 },
12429 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012430 "name" : "tbl_act_24",
12431 "id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012432 "key" : [],
12433 "match_type" : "exact",
12434 "type" : "simple",
12435 "max_size" : 1024,
12436 "with_counters" : false,
12437 "support_timeout" : false,
12438 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012439 "action_ids" : [71],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012440 "actions" : ["act_24"],
12441 "base_default_next" : "node_66",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012442 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012443 "act_24" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012444 },
12445 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012446 "action_id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012447 "action_const" : true,
12448 "action_data" : [],
12449 "action_entry_const" : true
12450 }
12451 },
12452 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012453 "name" : "tbl_act_25",
12454 "id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012455 "key" : [],
12456 "match_type" : "exact",
12457 "type" : "simple",
12458 "max_size" : 1024,
12459 "with_counters" : false,
12460 "support_timeout" : false,
12461 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012462 "action_ids" : [72],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012463 "actions" : ["act_25"],
12464 "base_default_next" : "node_68",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012465 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012466 "act_25" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012467 },
12468 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012469 "action_id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012470 "action_const" : true,
12471 "action_data" : [],
12472 "action_entry_const" : true
12473 }
12474 },
12475 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012476 "name" : "tbl_act_26",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012477 "id" : 44,
12478 "key" : [],
12479 "match_type" : "exact",
12480 "type" : "simple",
12481 "max_size" : 1024,
12482 "with_counters" : false,
12483 "support_timeout" : false,
12484 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012485 "action_ids" : [73],
12486 "actions" : ["act_26"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012487 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012488 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012489 "act_26" : "FabricIngress.process_set_source_sink.tb_set_source"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012490 },
12491 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012492 "action_id" : 73,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012493 "action_const" : true,
12494 "action_data" : [],
12495 "action_entry_const" : true
12496 }
12497 },
12498 {
12499 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
12500 "id" : 45,
12501 "source_info" : {
12502 "filename" : "include/int_source.p4",
12503 "line" : 101,
12504 "column" : 10,
12505 "source_fragment" : "tb_set_source"
12506 },
12507 "key" : [
12508 {
12509 "match_type" : "exact",
12510 "name" : "standard_metadata.ingress_port",
12511 "target" : ["standard_metadata", "ingress_port"],
12512 "mask" : null
12513 }
12514 ],
12515 "match_type" : "exact",
12516 "type" : "simple",
12517 "max_size" : 256,
12518 "with_counters" : true,
12519 "support_timeout" : false,
12520 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012521 "action_ids" : [19, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012522 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
12523 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
12524 "next_tables" : {
12525 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
12526 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
12527 },
12528 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012529 "action_id" : 2,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012530 "action_const" : false,
12531 "action_data" : [],
12532 "action_entry_const" : false
12533 }
12534 },
12535 {
12536 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
12537 "id" : 46,
12538 "source_info" : {
12539 "filename" : "include/int_source.p4",
12540 "line" : 111,
12541 "column" : 10,
12542 "source_fragment" : "tb_set_sink"
12543 },
12544 "key" : [
12545 {
12546 "match_type" : "exact",
12547 "name" : "standard_metadata.egress_spec",
12548 "target" : ["standard_metadata", "egress_spec"],
12549 "mask" : null
12550 }
12551 ],
12552 "match_type" : "exact",
12553 "type" : "simple",
12554 "max_size" : 256,
12555 "with_counters" : true,
12556 "support_timeout" : false,
12557 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012558 "action_ids" : [20, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012559 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012560 "base_default_next" : "node_72",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012561 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012562 "FabricIngress.process_set_source_sink.int_set_sink" : "node_72",
12563 "NoAction" : "node_72"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012564 },
12565 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012566 "action_id" : 3,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012567 "action_const" : false,
12568 "action_data" : [],
12569 "action_entry_const" : false
12570 }
12571 },
12572 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012573 "name" : "tbl_act_27",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012574 "id" : 47,
12575 "key" : [],
12576 "match_type" : "exact",
12577 "type" : "simple",
12578 "max_size" : 1024,
12579 "with_counters" : false,
12580 "support_timeout" : false,
12581 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012582 "action_ids" : [74],
12583 "actions" : ["act_27"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012584 "base_default_next" : null,
12585 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012586 "act_27" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012587 },
12588 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012589 "action_id" : 74,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012590 "action_const" : true,
12591 "action_data" : [],
12592 "action_entry_const" : true
12593 }
12594 }
12595 ],
12596 "action_profiles" : [
12597 {
12598 "name" : "FabricIngress.next.ecmp_selector",
12599 "id" : 0,
12600 "max_size" : 64,
12601 "selector" : {
12602 "algo" : "crc16",
12603 "input" : [
12604 {
12605 "type" : "field",
12606 "value" : ["ipv4", "dst_addr"]
12607 },
12608 {
12609 "type" : "field",
12610 "value" : ["ipv4", "src_addr"]
12611 },
12612 {
12613 "type" : "field",
12614 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
12615 },
12616 {
12617 "type" : "field",
12618 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
12619 },
12620 {
12621 "type" : "field",
12622 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
12623 }
12624 ]
12625 }
12626 }
12627 ],
12628 "conditionals" : [
12629 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012630 "name" : "node_3",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012631 "id" : 0,
12632 "source_info" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012633 "filename" : "include/spgw.p4",
12634 "line" : 30,
12635 "column" : 12,
12636 "source_fragment" : "! is_gtpu_encapped"
12637 },
12638 "expression" : {
12639 "type" : "expression",
12640 "value" : {
12641 "op" : "not",
12642 "left" : null,
12643 "right" : {
12644 "type" : "expression",
12645 "value" : {
12646 "op" : "d2b",
12647 "left" : null,
12648 "right" : {
12649 "type" : "field",
12650 "value" : ["gtpu", "$valid$"]
12651 }
12652 }
12653 }
12654 }
12655 },
12656 "true_next" : "tbl_act_0",
12657 "false_next" : "node_5"
12658 },
12659 {
12660 "name" : "node_5",
12661 "id" : 1,
12662 "expression" : {
12663 "type" : "expression",
12664 "value" : {
12665 "op" : "not",
12666 "left" : null,
12667 "right" : {
12668 "type" : "expression",
12669 "value" : {
12670 "op" : "d2b",
12671 "left" : null,
12672 "right" : {
12673 "type" : "field",
12674 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
12675 }
12676 }
12677 }
12678 }
12679 },
12680 "true_next" : "tbl_act_1",
12681 "false_next" : "node_10"
12682 },
12683 {
12684 "name" : "node_7",
12685 "id" : 2,
12686 "source_info" : {
12687 "filename" : "include/spgw.p4",
12688 "line" : 34,
12689 "column" : 12,
12690 "source_fragment" : "inner_udp.isValid()"
12691 },
12692 "expression" : {
12693 "type" : "expression",
12694 "value" : {
12695 "op" : "d2b",
12696 "left" : null,
12697 "right" : {
12698 "type" : "field",
12699 "value" : ["inner_udp", "$valid$"]
12700 }
12701 }
12702 },
12703 "true_next" : "tbl_act_2",
12704 "false_next" : "tbl_act_3"
12705 },
12706 {
12707 "name" : "node_10",
12708 "id" : 3,
12709 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012710 "filename" : "include/control/packetio.p4",
12711 "line" : 25,
12712 "column" : 12,
12713 "source_fragment" : "hdr.packet_out.isValid()"
12714 },
12715 "expression" : {
12716 "type" : "expression",
12717 "value" : {
12718 "op" : "d2b",
12719 "left" : null,
12720 "right" : {
12721 "type" : "field",
12722 "value" : ["packet_out", "$valid$"]
12723 }
12724 }
12725 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012726 "true_next" : "tbl_act_4",
12727 "false_next" : "tbl_act_5"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012728 },
12729 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012730 "name" : "node_13",
12731 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012732 "source_info" : {
12733 "filename" : "include/spgw.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012734 "line" : 139,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012735 "column" : 12,
12736 "source_fragment" : "gtpu.isValid()"
12737 },
12738 "expression" : {
12739 "type" : "expression",
12740 "value" : {
12741 "op" : "d2b",
12742 "left" : null,
12743 "right" : {
12744 "type" : "field",
12745 "value" : ["gtpu", "$valid$"]
12746 }
12747 }
12748 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012749 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
12750 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012751 },
12752 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012753 "name" : "node_17",
12754 "id" : 5,
12755 "source_info" : {
12756 "filename" : "include/spgw.p4",
12757 "line" : 143,
12758 "column" : 16,
12759 "source_fragment" : "!s1u_filter_table.apply().hit"
12760 },
12761 "expression" : {
12762 "type" : "expression",
12763 "value" : {
12764 "op" : "not",
12765 "left" : null,
12766 "right" : {
12767 "type" : "expression",
12768 "value" : {
12769 "op" : "d2b",
12770 "left" : null,
12771 "right" : {
12772 "type" : "field",
12773 "value" : ["scalars", "spgw_ingress_tmp_1"]
12774 }
12775 }
12776 }
12777 }
12778 },
12779 "true_next" : "tbl_drop_now",
12780 "false_next" : "tbl_act_8"
12781 },
12782 {
12783 "name" : "node_24",
12784 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012785 "expression" : {
12786 "type" : "expression",
12787 "value" : {
12788 "op" : "d2b",
12789 "left" : null,
12790 "right" : {
12791 "type" : "field",
12792 "value" : ["scalars", "spgw_ingress_tmp_2"]
12793 }
12794 }
12795 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012796 "true_next" : "tbl_act_11",
12797 "false_next" : "tbl_act_12"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012798 },
12799 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012800 "name" : "node_27",
12801 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012802 "expression" : {
12803 "type" : "expression",
12804 "value" : {
12805 "op" : "not",
12806 "left" : null,
12807 "right" : {
12808 "type" : "expression",
12809 "value" : {
12810 "op" : "d2b",
12811 "left" : null,
12812 "right" : {
12813 "type" : "field",
12814 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
12815 }
12816 }
12817 }
12818 }
12819 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012820 "true_next" : "tbl_act_13",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012821 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
12822 },
12823 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012824 "name" : "node_31",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012825 "id" : 8,
12826 "source_info" : {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012827 "filename" : "include/control/forwarding.p4",
12828 "line" : 231,
12829 "column" : 11,
12830 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
12831 },
12832 "expression" : {
12833 "type" : "expression",
12834 "value" : {
12835 "op" : "==",
12836 "left" : {
12837 "type" : "field",
12838 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12839 },
12840 "right" : {
12841 "type" : "hexstr",
12842 "value" : "0x00"
12843 }
12844 }
12845 },
12846 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012847 "false_next" : "node_33"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012848 },
12849 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012850 "name" : "node_33",
12851 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012852 "source_info" : {
12853 "filename" : "include/control/forwarding.p4",
12854 "line" : 232,
12855 "column" : 17,
12856 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
12857 },
12858 "expression" : {
12859 "type" : "expression",
12860 "value" : {
12861 "op" : "==",
12862 "left" : {
12863 "type" : "field",
12864 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12865 },
12866 "right" : {
12867 "type" : "hexstr",
12868 "value" : "0x01"
12869 }
12870 }
12871 },
12872 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012873 "false_next" : "node_36"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012874 },
12875 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012876 "name" : "node_36",
12877 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012878 "source_info" : {
12879 "filename" : "include/control/forwarding.p4",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012880 "line" : 238,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012881 "column" : 17,
12882 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
12883 },
12884 "expression" : {
12885 "type" : "expression",
12886 "value" : {
12887 "op" : "==",
12888 "left" : {
12889 "type" : "field",
12890 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12891 },
12892 "right" : {
12893 "type" : "hexstr",
12894 "value" : "0x02"
12895 }
12896 }
12897 },
12898 "true_next" : "FabricIngress.forwarding.unicast_v4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012899 "false_next" : "node_38"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012900 },
12901 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012902 "name" : "node_38",
12903 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012904 "source_info" : {
12905 "filename" : "include/control/forwarding.p4",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012906 "line" : 240,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012907 "column" : 17,
12908 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_MULTICAST"
12909 },
12910 "expression" : {
12911 "type" : "expression",
12912 "value" : {
12913 "op" : "==",
12914 "left" : {
12915 "type" : "field",
12916 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12917 },
12918 "right" : {
12919 "type" : "hexstr",
12920 "value" : "0x03"
12921 }
12922 }
12923 },
12924 "true_next" : "FabricIngress.forwarding.multicast_v4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012925 "false_next" : "node_40"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012926 },
12927 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012928 "name" : "node_40",
12929 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012930 "source_info" : {
12931 "filename" : "include/control/forwarding.p4",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012932 "line" : 243,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012933 "column" : 17,
12934 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
12935 },
12936 "expression" : {
12937 "type" : "expression",
12938 "value" : {
12939 "op" : "==",
12940 "left" : {
12941 "type" : "field",
12942 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12943 },
12944 "right" : {
12945 "type" : "hexstr",
12946 "value" : "0x04"
12947 }
12948 }
12949 },
12950 "true_next" : "FabricIngress.forwarding.unicast_v6",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012951 "false_next" : "node_42"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012952 },
12953 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012954 "name" : "node_42",
12955 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012956 "source_info" : {
12957 "filename" : "include/control/forwarding.p4",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012958 "line" : 245,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012959 "column" : 17,
12960 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_MULTICAST"
12961 },
12962 "expression" : {
12963 "type" : "expression",
12964 "value" : {
12965 "op" : "==",
12966 "left" : {
12967 "type" : "field",
12968 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12969 },
12970 "right" : {
12971 "type" : "hexstr",
12972 "value" : "0x05"
12973 }
12974 }
12975 },
12976 "true_next" : "FabricIngress.forwarding.multicast_v6",
12977 "false_next" : "FabricIngress.forwarding.acl"
12978 },
12979 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070012980 "name" : "node_50",
12981 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012982 "source_info" : {
12983 "filename" : "include/control/next.p4",
12984 "line" : 219,
12985 "column" : 12,
12986 "source_fragment" : "!simple.apply().hit"
12987 },
12988 "expression" : {
12989 "type" : "expression",
12990 "value" : {
12991 "op" : "not",
12992 "left" : null,
12993 "right" : {
12994 "type" : "expression",
12995 "value" : {
12996 "op" : "d2b",
12997 "left" : null,
12998 "right" : {
12999 "type" : "field",
13000 "value" : ["scalars", "next_tmp_4"]
13001 }
13002 }
13003 }
13004 }
13005 },
13006 "true_next" : "FabricIngress.next.hashed",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013007 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013008 },
13009 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013010 "name" : "node_54",
13011 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013012 "source_info" : {
13013 "filename" : "include/control/next.p4",
13014 "line" : 220,
13015 "column" : 16,
13016 "source_fragment" : "!hashed.apply().hit"
13017 },
13018 "expression" : {
13019 "type" : "expression",
13020 "value" : {
13021 "op" : "not",
13022 "left" : null,
13023 "right" : {
13024 "type" : "expression",
13025 "value" : {
13026 "op" : "d2b",
13027 "left" : null,
13028 "right" : {
13029 "type" : "field",
13030 "value" : ["scalars", "next_tmp_3"]
13031 }
13032 }
13033 }
13034 }
13035 },
13036 "true_next" : "FabricIngress.next.multicast",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013037 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013038 },
13039 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013040 "name" : "node_58",
13041 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013042 "source_info" : {
13043 "filename" : "include/control/next.p4",
13044 "line" : 221,
13045 "column" : 20,
13046 "source_fragment" : "!multicast.apply().hit"
13047 },
13048 "expression" : {
13049 "type" : "expression",
13050 "value" : {
13051 "op" : "not",
13052 "left" : null,
13053 "right" : {
13054 "type" : "expression",
13055 "value" : {
13056 "op" : "d2b",
13057 "left" : null,
13058 "right" : {
13059 "type" : "field",
13060 "value" : ["scalars", "next_tmp_2"]
13061 }
13062 }
13063 }
13064 }
13065 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013066 "true_next" : "tbl_act_22",
13067 "false_next" : "node_60"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013068 },
13069 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013070 "name" : "node_60",
13071 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013072 "expression" : {
13073 "type" : "expression",
13074 "value" : {
13075 "op" : "not",
13076 "left" : null,
13077 "right" : {
13078 "type" : "expression",
13079 "value" : {
13080 "op" : "d2b",
13081 "left" : null,
13082 "right" : {
13083 "type" : "field",
13084 "value" : ["scalars", "next_hasReturned_0"]
13085 }
13086 }
13087 }
13088 }
13089 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013090 "true_next" : "node_61",
13091 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013092 },
13093 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013094 "name" : "node_61",
13095 "id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013096 "source_info" : {
13097 "filename" : "include/control/next.p4",
13098 "line" : 228,
13099 "column" : 12,
13100 "source_fragment" : "!hdr.mpls.isValid()"
13101 },
13102 "expression" : {
13103 "type" : "expression",
13104 "value" : {
13105 "op" : "not",
13106 "left" : null,
13107 "right" : {
13108 "type" : "expression",
13109 "value" : {
13110 "op" : "d2b",
13111 "left" : null,
13112 "right" : {
13113 "type" : "field",
13114 "value" : ["mpls", "$valid$"]
13115 }
13116 }
13117 }
13118 }
13119 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013120 "true_next" : "node_62",
13121 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013122 },
13123 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013124 "name" : "node_62",
13125 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013126 "source_info" : {
13127 "filename" : "include/control/next.p4",
13128 "line" : 229,
13129 "column" : 15,
13130 "source_fragment" : "hdr.ipv4.isValid()"
13131 },
13132 "expression" : {
13133 "type" : "expression",
13134 "value" : {
13135 "op" : "d2b",
13136 "left" : null,
13137 "right" : {
13138 "type" : "field",
13139 "value" : ["ipv4", "$valid$"]
13140 }
13141 }
13142 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013143 "true_next" : "tbl_act_23",
13144 "false_next" : "node_64"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013145 },
13146 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013147 "name" : "node_64",
13148 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013149 "source_info" : {
13150 "filename" : "include/control/next.p4",
13151 "line" : 233,
13152 "column" : 21,
13153 "source_fragment" : "hdr.ipv6.isValid()"
13154 },
13155 "expression" : {
13156 "type" : "expression",
13157 "value" : {
13158 "op" : "d2b",
13159 "left" : null,
13160 "right" : {
13161 "type" : "field",
13162 "value" : ["ipv6", "$valid$"]
13163 }
13164 }
13165 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013166 "true_next" : "tbl_act_24",
13167 "false_next" : "node_66"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013168 },
13169 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013170 "name" : "node_66",
13171 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013172 "source_info" : {
13173 "filename" : "include/control/port_counter.p4",
13174 "line" : 27,
13175 "column" : 12,
13176 "source_fragment" : "standard_metadata.egress_spec < 511"
13177 },
13178 "expression" : {
13179 "type" : "expression",
13180 "value" : {
13181 "op" : "<",
13182 "left" : {
13183 "type" : "field",
13184 "value" : ["standard_metadata", "egress_spec"]
13185 },
13186 "right" : {
13187 "type" : "hexstr",
13188 "value" : "0x01ff"
13189 }
13190 }
13191 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013192 "true_next" : "tbl_act_25",
13193 "false_next" : "node_68"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013194 },
13195 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013196 "name" : "node_68",
13197 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013198 "source_info" : {
13199 "filename" : "include/control/port_counter.p4",
13200 "line" : 30,
13201 "column" : 12,
13202 "source_fragment" : "standard_metadata.ingress_port < 511"
13203 },
13204 "expression" : {
13205 "type" : "expression",
13206 "value" : {
13207 "op" : "<",
13208 "left" : {
13209 "type" : "field",
13210 "value" : ["standard_metadata", "ingress_port"]
13211 },
13212 "right" : {
13213 "type" : "hexstr",
13214 "value" : "0x01ff"
13215 }
13216 }
13217 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013218 "true_next" : "tbl_act_26",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013219 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
13220 },
13221 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013222 "name" : "node_72",
13223 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013224 "source_info" : {
13225 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013226 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013227 "column" : 11,
13228 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
13229 },
13230 "expression" : {
13231 "type" : "expression",
13232 "value" : {
13233 "op" : "==",
13234 "left" : {
13235 "type" : "field",
13236 "value" : ["userMetadata.int_meta", "sink"]
13237 },
13238 "right" : {
13239 "type" : "hexstr",
13240 "value" : "0x01"
13241 }
13242 }
13243 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013244 "false_next" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013245 "true_next" : "tbl_act_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013246 }
13247 ]
13248 },
13249 {
13250 "name" : "egress",
13251 "id" : 1,
13252 "source_info" : {
13253 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013254 "line" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013255 "column" : 8,
13256 "source_fragment" : "FabricEgress"
13257 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013258 "init_table" : "node_76",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013259 "tables" : [
13260 {
13261 "name" : "tbl_drop_now_0",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013262 "id" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013263 "key" : [],
13264 "match_type" : "exact",
13265 "type" : "simple",
13266 "max_size" : 1024,
13267 "with_counters" : false,
13268 "support_timeout" : false,
13269 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013270 "action_ids" : [81],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013271 "actions" : ["drop_now"],
13272 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
13273 "next_tables" : {
13274 "drop_now" : "FabricEgress.egress_next.egress_vlan"
13275 },
13276 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013277 "action_id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013278 "action_const" : true,
13279 "action_data" : [],
13280 "action_entry_const" : true
13281 }
13282 },
13283 {
13284 "name" : "FabricEgress.egress_next.egress_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013285 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013286 "source_info" : {
13287 "filename" : "include/control/next.p4",
13288 "line" : 258,
13289 "column" : 10,
13290 "source_fragment" : "egress_vlan"
13291 },
13292 "key" : [
13293 {
13294 "match_type" : "exact",
13295 "name" : "hdr.vlan_tag.vlan_id",
13296 "target" : ["vlan_tag", "vlan_id"],
13297 "mask" : null
13298 },
13299 {
13300 "match_type" : "exact",
13301 "name" : "standard_metadata.egress_port",
13302 "target" : ["standard_metadata", "egress_port"],
13303 "mask" : null
13304 }
13305 ],
13306 "match_type" : "exact",
13307 "type" : "simple",
13308 "max_size" : 1024,
13309 "with_counters" : true,
13310 "support_timeout" : false,
13311 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013312 "action_ids" : [126, 80],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013313 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013314 "base_default_next" : "node_79",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013315 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013316 "FabricEgress.egress_next.pop_vlan" : "node_79",
13317 "nop" : "node_79"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013318 },
13319 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013320 "action_id" : 80,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013321 "action_const" : false,
13322 "action_data" : [],
13323 "action_entry_const" : false
13324 }
13325 },
13326 {
13327 "name" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013328 "id" : 50,
13329 "key" : [],
13330 "match_type" : "exact",
13331 "type" : "simple",
13332 "max_size" : 1024,
13333 "with_counters" : false,
13334 "support_timeout" : false,
13335 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013336 "action_ids" : [125],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013337 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013338 "base_default_next" : "node_82",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013339 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013340 "FabricEgress.pkt_io_egress.pop_vlan" : "node_82"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013341 },
13342 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013343 "action_id" : 125,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013344 "action_const" : true,
13345 "action_data" : [],
13346 "action_entry_const" : true
13347 }
13348 },
13349 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013350 "name" : "tbl_drop_now_1",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013351 "id" : 51,
13352 "key" : [],
13353 "match_type" : "exact",
13354 "type" : "simple",
13355 "max_size" : 1024,
13356 "with_counters" : false,
13357 "support_timeout" : false,
13358 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013359 "action_ids" : [82],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013360 "actions" : ["drop_now"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013361 "base_default_next" : "tbl_act_28",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013362 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013363 "drop_now" : "tbl_act_28"
13364 },
13365 "default_entry" : {
13366 "action_id" : 82,
13367 "action_const" : true,
13368 "action_data" : [],
13369 "action_entry_const" : true
13370 }
13371 },
13372 {
13373 "name" : "tbl_act_28",
13374 "id" : 52,
13375 "key" : [],
13376 "match_type" : "exact",
13377 "type" : "simple",
13378 "max_size" : 1024,
13379 "with_counters" : false,
13380 "support_timeout" : false,
13381 "direct_meters" : null,
13382 "action_ids" : [127],
13383 "actions" : ["act_28"],
13384 "base_default_next" : "node_85",
13385 "next_tables" : {
13386 "act_28" : "node_85"
13387 },
13388 "default_entry" : {
13389 "action_id" : 127,
13390 "action_const" : true,
13391 "action_data" : [],
13392 "action_entry_const" : true
13393 }
13394 },
13395 {
13396 "name" : "tbl_spgw_egress_gtpu_encap",
13397 "id" : 53,
13398 "key" : [],
13399 "match_type" : "exact",
13400 "type" : "simple",
13401 "max_size" : 1024,
13402 "with_counters" : false,
13403 "support_timeout" : false,
13404 "direct_meters" : null,
13405 "action_ids" : [83],
13406 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
13407 "base_default_next" : "node_87",
13408 "next_tables" : {
13409 "FabricEgress.spgw_egress.gtpu_encap" : "node_87"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013410 },
13411 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013412 "action_id" : 83,
13413 "action_const" : true,
13414 "action_data" : [],
13415 "action_entry_const" : true
13416 }
13417 },
13418 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013419 "name" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013420 "id" : 54,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013421 "source_info" : {
13422 "filename" : "include/int_source.p4",
13423 "line" : 66,
13424 "column" : 10,
13425 "source_fragment" : "tb_int_source"
13426 },
13427 "key" : [
13428 {
13429 "match_type" : "ternary",
13430 "name" : "hdr.ipv4.src_addr",
13431 "target" : ["ipv4", "src_addr"],
13432 "mask" : null
13433 },
13434 {
13435 "match_type" : "ternary",
13436 "name" : "hdr.ipv4.dst_addr",
13437 "target" : ["ipv4", "dst_addr"],
13438 "mask" : null
13439 },
13440 {
13441 "match_type" : "ternary",
13442 "name" : "fabric_metadata.l4_src_port",
13443 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
13444 "mask" : null
13445 },
13446 {
13447 "match_type" : "ternary",
13448 "name" : "fabric_metadata.l4_dst_port",
13449 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
13450 "mask" : null
13451 }
13452 ],
13453 "match_type" : "ternary",
13454 "type" : "simple",
13455 "max_size" : 1024,
13456 "with_counters" : true,
13457 "support_timeout" : false,
13458 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013459 "action_ids" : [84, 75],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013460 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013461 "base_default_next" : "node_90",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013462 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013463 "FabricEgress.process_int_source.int_source_dscp" : "node_90",
13464 "NoAction" : "node_90"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013465 },
13466 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013467 "action_id" : 75,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013468 "action_const" : false,
13469 "action_data" : [],
13470 "action_entry_const" : false
13471 }
13472 },
13473 {
13474 "name" : "FabricEgress.process_int_transit.tb_int_insert",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013475 "id" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013476 "source_info" : {
13477 "filename" : "include/int_transit.p4",
13478 "line" : 227,
13479 "column" : 10,
13480 "source_fragment" : "tb_int_insert"
13481 },
13482 "key" : [],
13483 "match_type" : "exact",
13484 "type" : "simple",
13485 "max_size" : 2,
13486 "with_counters" : true,
13487 "support_timeout" : false,
13488 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013489 "action_ids" : [86, 76],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013490 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
13491 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13492 "next_tables" : {
13493 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13494 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
13495 },
13496 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013497 "action_id" : 76,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013498 "action_const" : false,
13499 "action_data" : [],
13500 "action_entry_const" : false
13501 }
13502 },
13503 {
13504 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013505 "id" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013506 "source_info" : {
13507 "filename" : "include/int_transit.p4",
13508 "line" : 237,
13509 "column" : 10,
13510 "source_fragment" : "tb_int_inst_0003"
13511 },
13512 "key" : [
13513 {
13514 "match_type" : "exact",
13515 "name" : "hdr.int_header.instruction_mask_0003",
13516 "target" : ["int_header", "instruction_mask_0003"],
13517 "mask" : null
13518 }
13519 ],
13520 "match_type" : "exact",
13521 "type" : "simple",
13522 "max_size" : 16,
13523 "with_counters" : true,
13524 "support_timeout" : false,
13525 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013526 "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 +090013527 "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"],
13528 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13529 "next_tables" : {
13530 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13531 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13532 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13533 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13534 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13535 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13536 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13537 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13538 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13539 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13540 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13541 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13542 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13543 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13544 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13545 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13546 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
13547 },
13548 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013549 "action_id" : 77,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013550 "action_const" : false,
13551 "action_data" : [],
13552 "action_entry_const" : false
13553 }
13554 },
13555 {
13556 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013557 "id" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013558 "source_info" : {
13559 "filename" : "include/int_transit.p4",
13560 "line" : 264,
13561 "column" : 10,
13562 "source_fragment" : "tb_int_inst_0407"
13563 },
13564 "key" : [
13565 {
13566 "match_type" : "exact",
13567 "name" : "hdr.int_header.instruction_mask_0407",
13568 "target" : ["int_header", "instruction_mask_0407"],
13569 "mask" : null
13570 }
13571 ],
13572 "match_type" : "exact",
13573 "type" : "simple",
13574 "max_size" : 16,
13575 "with_counters" : true,
13576 "support_timeout" : false,
13577 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013578 "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 +090013579 "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"],
13580 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
13581 "next_tables" : {
13582 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
13583 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
13584 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
13585 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
13586 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
13587 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
13588 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
13589 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
13590 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
13591 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
13592 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
13593 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
13594 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
13595 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
13596 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
13597 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
13598 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
13599 },
13600 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013601 "action_id" : 78,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013602 "action_const" : false,
13603 "action_data" : [],
13604 "action_entry_const" : false
13605 }
13606 },
13607 {
13608 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013609 "id" : 58,
13610 "key" : [],
13611 "match_type" : "exact",
13612 "type" : "simple",
13613 "max_size" : 1024,
13614 "with_counters" : false,
13615 "support_timeout" : false,
13616 "direct_meters" : null,
13617 "action_ids" : [85],
13618 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
13619 "base_default_next" : "node_95",
13620 "next_tables" : {
13621 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_95"
13622 },
13623 "default_entry" : {
13624 "action_id" : 85,
13625 "action_const" : true,
13626 "action_data" : [],
13627 "action_entry_const" : true
13628 }
13629 },
13630 {
13631 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013632 "id" : 59,
13633 "key" : [],
13634 "match_type" : "exact",
13635 "type" : "simple",
13636 "max_size" : 1024,
13637 "with_counters" : false,
13638 "support_timeout" : false,
13639 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013640 "action_ids" : [119],
13641 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013642 "base_default_next" : "node_97",
13643 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013644 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_97"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013645 },
13646 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013647 "action_id" : 119,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013648 "action_const" : true,
13649 "action_data" : [],
13650 "action_entry_const" : true
13651 }
13652 },
13653 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013654 "name" : "tbl_process_int_outer_encap_int_update_udp",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013655 "id" : 60,
13656 "key" : [],
13657 "match_type" : "exact",
13658 "type" : "simple",
13659 "max_size" : 1024,
13660 "with_counters" : false,
13661 "support_timeout" : false,
13662 "direct_meters" : null,
13663 "action_ids" : [120],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013664 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013665 "base_default_next" : "node_99",
13666 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013667 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_99"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013668 },
13669 "default_entry" : {
13670 "action_id" : 120,
13671 "action_const" : true,
13672 "action_data" : [],
13673 "action_entry_const" : true
13674 }
13675 },
13676 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013677 "name" : "tbl_process_int_outer_encap_int_update_shim",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013678 "id" : 61,
13679 "key" : [],
13680 "match_type" : "exact",
13681 "type" : "simple",
13682 "max_size" : 1024,
13683 "with_counters" : false,
13684 "support_timeout" : false,
13685 "direct_meters" : null,
13686 "action_ids" : [121],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013687 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013688 "base_default_next" : "node_101",
13689 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013690 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_101"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013691 },
13692 "default_entry" : {
13693 "action_id" : 121,
13694 "action_const" : true,
13695 "action_data" : [],
13696 "action_entry_const" : true
13697 }
13698 },
13699 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013700 "name" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013701 "id" : 62,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013702 "source_info" : {
13703 "filename" : "include/int_report.p4",
13704 "line" : 87,
13705 "column" : 10,
13706 "source_fragment" : "tb_generate_report"
13707 },
13708 "key" : [],
13709 "match_type" : "exact",
13710 "type" : "simple",
13711 "max_size" : 1024,
13712 "with_counters" : false,
13713 "support_timeout" : false,
13714 "direct_meters" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013715 "action_ids" : [122, 79],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013716 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013717 "base_default_next" : "node_103",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013718 "next_tables" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013719 "FabricEgress.process_int_report.do_report_encapsulation" : "node_103",
13720 "NoAction" : "node_103"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013721 },
13722 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013723 "action_id" : 79,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013724 "action_const" : false,
13725 "action_data" : [],
13726 "action_entry_const" : false
13727 }
13728 },
13729 {
13730 "name" : "tbl_process_int_sink_restore_header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013731 "id" : 63,
13732 "key" : [],
13733 "match_type" : "exact",
13734 "type" : "simple",
13735 "max_size" : 1024,
13736 "with_counters" : false,
13737 "support_timeout" : false,
13738 "direct_meters" : null,
13739 "action_ids" : [123],
13740 "actions" : ["FabricEgress.process_int_sink.restore_header"],
13741 "base_default_next" : "tbl_process_int_sink_int_sink",
13742 "next_tables" : {
13743 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
13744 },
13745 "default_entry" : {
13746 "action_id" : 123,
13747 "action_const" : true,
13748 "action_data" : [],
13749 "action_entry_const" : true
13750 }
13751 },
13752 {
13753 "name" : "tbl_process_int_sink_int_sink",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013754 "id" : 64,
13755 "key" : [],
13756 "match_type" : "exact",
13757 "type" : "simple",
13758 "max_size" : 1024,
13759 "with_counters" : false,
13760 "support_timeout" : false,
13761 "direct_meters" : null,
13762 "action_ids" : [124],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013763 "actions" : ["FabricEgress.process_int_sink.int_sink"],
13764 "base_default_next" : null,
13765 "next_tables" : {
13766 "FabricEgress.process_int_sink.int_sink" : null
13767 },
13768 "default_entry" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013769 "action_id" : 124,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013770 "action_const" : true,
13771 "action_data" : [],
13772 "action_entry_const" : true
13773 }
13774 }
13775 ],
13776 "action_profiles" : [],
13777 "conditionals" : [
13778 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013779 "name" : "node_76",
13780 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013781 "source_info" : {
13782 "filename" : "include/control/next.p4",
13783 "line" : 272,
13784 "column" : 12,
13785 "source_fragment" : "fabric_metadata.is_multicast == true ..."
13786 },
13787 "expression" : {
13788 "type" : "expression",
13789 "value" : {
13790 "op" : "and",
13791 "left" : {
13792 "type" : "expression",
13793 "value" : {
13794 "op" : "==",
13795 "left" : {
13796 "type" : "expression",
13797 "value" : {
13798 "op" : "d2b",
13799 "left" : null,
13800 "right" : {
13801 "type" : "field",
13802 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13803 }
13804 }
13805 },
13806 "right" : {
13807 "type" : "bool",
13808 "value" : true
13809 }
13810 }
13811 },
13812 "right" : {
13813 "type" : "expression",
13814 "value" : {
13815 "op" : "==",
13816 "left" : {
13817 "type" : "field",
13818 "value" : ["standard_metadata", "ingress_port"]
13819 },
13820 "right" : {
13821 "type" : "field",
13822 "value" : ["standard_metadata", "egress_port"]
13823 }
13824 }
13825 }
13826 }
13827 },
13828 "true_next" : "tbl_drop_now_0",
13829 "false_next" : "FabricEgress.egress_next.egress_vlan"
13830 },
13831 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013832 "name" : "node_79",
13833 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013834 "source_info" : {
13835 "filename" : "include/control/packetio.p4",
13836 "line" : 42,
13837 "column" : 12,
13838 "source_fragment" : "standard_metadata.egress_port == 255"
13839 },
13840 "expression" : {
13841 "type" : "expression",
13842 "value" : {
13843 "op" : "==",
13844 "left" : {
13845 "type" : "field",
13846 "value" : ["standard_metadata", "egress_port"]
13847 },
13848 "right" : {
13849 "type" : "hexstr",
13850 "value" : "0x00ff"
13851 }
13852 }
13853 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013854 "true_next" : "node_80",
13855 "false_next" : "node_85"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013856 },
13857 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013858 "name" : "node_80",
13859 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013860 "source_info" : {
13861 "filename" : "include/control/packetio.p4",
13862 "line" : 43,
13863 "column" : 16,
13864 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
13865 },
13866 "expression" : {
13867 "type" : "expression",
13868 "value" : {
13869 "op" : "and",
13870 "left" : {
13871 "type" : "expression",
13872 "value" : {
13873 "op" : "d2b",
13874 "left" : null,
13875 "right" : {
13876 "type" : "field",
13877 "value" : ["vlan_tag", "$valid$"]
13878 }
13879 }
13880 },
13881 "right" : {
13882 "type" : "expression",
13883 "value" : {
13884 "op" : "==",
13885 "left" : {
13886 "type" : "expression",
13887 "value" : {
13888 "op" : "d2b",
13889 "left" : null,
13890 "right" : {
13891 "type" : "field",
13892 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
13893 }
13894 }
13895 },
13896 "right" : {
13897 "type" : "bool",
13898 "value" : true
13899 }
13900 }
13901 }
13902 }
13903 },
13904 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013905 "false_next" : "node_82"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013906 },
13907 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013908 "name" : "node_82",
13909 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013910 "source_info" : {
13911 "filename" : "include/control/packetio.p4",
13912 "line" : 46,
13913 "column" : 16,
13914 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
13915 },
13916 "expression" : {
13917 "type" : "expression",
13918 "value" : {
13919 "op" : "and",
13920 "left" : {
13921 "type" : "expression",
13922 "value" : {
13923 "op" : "==",
13924 "left" : {
13925 "type" : "expression",
13926 "value" : {
13927 "op" : "d2b",
13928 "left" : null,
13929 "right" : {
13930 "type" : "field",
13931 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13932 }
13933 }
13934 },
13935 "right" : {
13936 "type" : "bool",
13937 "value" : true
13938 }
13939 }
13940 },
13941 "right" : {
13942 "type" : "expression",
13943 "value" : {
13944 "op" : "==",
13945 "left" : {
13946 "type" : "expression",
13947 "value" : {
13948 "op" : "d2b",
13949 "left" : null,
13950 "right" : {
13951 "type" : "field",
13952 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
13953 }
13954 }
13955 },
13956 "right" : {
13957 "type" : "bool",
13958 "value" : false
13959 }
13960 }
13961 }
13962 }
13963 },
13964 "true_next" : "tbl_drop_now_1",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013965 "false_next" : "tbl_act_28"
13966 },
13967 {
13968 "name" : "node_85",
13969 "id" : 28,
13970 "source_info" : {
13971 "filename" : "include/spgw.p4",
13972 "line" : 222,
13973 "column" : 12,
13974 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
13975 },
13976 "expression" : {
13977 "type" : "expression",
13978 "value" : {
13979 "op" : "==",
13980 "left" : {
13981 "type" : "field",
13982 "value" : ["userMetadata.spgw", "direction"]
13983 },
13984 "right" : {
13985 "type" : "hexstr",
13986 "value" : "0x02"
13987 }
13988 }
13989 },
13990 "true_next" : "tbl_spgw_egress_gtpu_encap",
13991 "false_next" : "node_87"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013992 },
13993 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013994 "name" : "node_87",
13995 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013996 "source_info" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013997 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070013998 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013999 "column" : 12,
14000 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
14001 },
14002 "expression" : {
14003 "type" : "expression",
14004 "value" : {
14005 "op" : "and",
14006 "left" : {
14007 "type" : "expression",
14008 "value" : {
14009 "op" : "and",
14010 "left" : {
14011 "type" : "expression",
14012 "value" : {
14013 "op" : "!=",
14014 "left" : {
14015 "type" : "field",
14016 "value" : ["standard_metadata", "ingress_port"]
14017 },
14018 "right" : {
14019 "type" : "hexstr",
14020 "value" : "0x00ff"
14021 }
14022 }
14023 },
14024 "right" : {
14025 "type" : "expression",
14026 "value" : {
14027 "op" : "!=",
14028 "left" : {
14029 "type" : "field",
14030 "value" : ["standard_metadata", "egress_port"]
14031 },
14032 "right" : {
14033 "type" : "hexstr",
14034 "value" : "0x00ff"
14035 }
14036 }
14037 }
14038 }
14039 },
14040 "right" : {
14041 "type" : "expression",
14042 "value" : {
14043 "op" : "or",
14044 "left" : {
14045 "type" : "expression",
14046 "value" : {
14047 "op" : "d2b",
14048 "left" : null,
14049 "right" : {
14050 "type" : "field",
14051 "value" : ["udp", "$valid$"]
14052 }
14053 }
14054 },
14055 "right" : {
14056 "type" : "expression",
14057 "value" : {
14058 "op" : "d2b",
14059 "left" : null,
14060 "right" : {
14061 "type" : "field",
14062 "value" : ["tcp", "$valid$"]
14063 }
14064 }
14065 }
14066 }
14067 }
14068 }
14069 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014070 "false_next" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014071 "true_next" : "node_88"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014072 },
14073 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014074 "name" : "node_88",
14075 "id" : 30,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014076 "source_info" : {
14077 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014078 "line" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014079 "column" : 16,
14080 "source_fragment" : "fabric_metadata.int_meta.source == 1"
14081 },
14082 "expression" : {
14083 "type" : "expression",
14084 "value" : {
14085 "op" : "==",
14086 "left" : {
14087 "type" : "field",
14088 "value" : ["userMetadata.int_meta", "source"]
14089 },
14090 "right" : {
14091 "type" : "hexstr",
14092 "value" : "0x01"
14093 }
14094 }
14095 },
14096 "true_next" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014097 "false_next" : "node_90"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014098 },
14099 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014100 "name" : "node_90",
14101 "id" : 31,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014102 "source_info" : {
14103 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014104 "line" : 106,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014105 "column" : 15,
14106 "source_fragment" : "hdr.int_header.isValid()"
14107 },
14108 "expression" : {
14109 "type" : "expression",
14110 "value" : {
14111 "op" : "d2b",
14112 "left" : null,
14113 "right" : {
14114 "type" : "field",
14115 "value" : ["int_header", "$valid$"]
14116 }
14117 }
14118 },
14119 "false_next" : null,
14120 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
14121 },
14122 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014123 "name" : "node_95",
14124 "id" : 32,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014125 "source_info" : {
14126 "filename" : "include/int_transit.p4",
14127 "line" : 314,
14128 "column" : 12,
14129 "source_fragment" : "hdr.ipv4.isValid()"
14130 },
14131 "expression" : {
14132 "type" : "expression",
14133 "value" : {
14134 "op" : "d2b",
14135 "left" : null,
14136 "right" : {
14137 "type" : "field",
14138 "value" : ["ipv4", "$valid$"]
14139 }
14140 }
14141 },
14142 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014143 "false_next" : "node_97"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014144 },
14145 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014146 "name" : "node_97",
14147 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014148 "source_info" : {
14149 "filename" : "include/int_transit.p4",
14150 "line" : 317,
14151 "column" : 12,
14152 "source_fragment" : "hdr.udp.isValid()"
14153 },
14154 "expression" : {
14155 "type" : "expression",
14156 "value" : {
14157 "op" : "d2b",
14158 "left" : null,
14159 "right" : {
14160 "type" : "field",
14161 "value" : ["udp", "$valid$"]
14162 }
14163 }
14164 },
14165 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014166 "false_next" : "node_99"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014167 },
14168 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014169 "name" : "node_99",
14170 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014171 "source_info" : {
14172 "filename" : "include/int_transit.p4",
14173 "line" : 320,
14174 "column" : 12,
14175 "source_fragment" : "hdr.intl4_shim.isValid()"
14176 },
14177 "expression" : {
14178 "type" : "expression",
14179 "value" : {
14180 "op" : "d2b",
14181 "left" : null,
14182 "right" : {
14183 "type" : "field",
14184 "value" : ["intl4_shim", "$valid$"]
14185 }
14186 }
14187 },
14188 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014189 "false_next" : "node_101"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014190 },
14191 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014192 "name" : "node_101",
14193 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014194 "source_info" : {
14195 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014196 "line" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014197 "column" : 20,
14198 "source_fragment" : "standard_metadata.instance_type == 1"
14199 },
14200 "expression" : {
14201 "type" : "expression",
14202 "value" : {
14203 "op" : "==",
14204 "left" : {
14205 "type" : "field",
14206 "value" : ["standard_metadata", "instance_type"]
14207 },
14208 "right" : {
14209 "type" : "hexstr",
14210 "value" : "0x00000001"
14211 }
14212 }
14213 },
14214 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014215 "false_next" : "node_103"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014216 },
14217 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014218 "name" : "node_103",
14219 "id" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014220 "source_info" : {
14221 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070014222 "line" : 114,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014223 "column" : 20,
14224 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
14225 },
14226 "expression" : {
14227 "type" : "expression",
14228 "value" : {
14229 "op" : "==",
14230 "left" : {
14231 "type" : "field",
14232 "value" : ["userMetadata.int_meta", "sink"]
14233 },
14234 "right" : {
14235 "type" : "hexstr",
14236 "value" : "0x01"
14237 }
14238 }
14239 },
14240 "false_next" : null,
14241 "true_next" : "tbl_process_int_sink_restore_header"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014242 }
14243 ]
14244 }
14245 ],
14246 "checksums" : [
14247 {
14248 "name" : "cksum",
14249 "id" : 0,
14250 "target" : ["ipv4", "hdr_checksum"],
14251 "type" : "generic",
14252 "calculation" : "calc",
14253 "if_cond" : {
14254 "type" : "expression",
14255 "value" : {
14256 "op" : "d2b",
14257 "left" : null,
14258 "right" : {
14259 "type" : "field",
14260 "value" : ["ipv4", "$valid$"]
14261 }
14262 }
14263 }
14264 },
14265 {
14266 "name" : "cksum_0",
14267 "id" : 1,
14268 "target" : ["gtpu_ipv4", "hdr_checksum"],
14269 "type" : "generic",
14270 "calculation" : "calc_0",
14271 "if_cond" : {
14272 "type" : "expression",
14273 "value" : {
14274 "op" : "d2b",
14275 "left" : null,
14276 "right" : {
14277 "type" : "field",
14278 "value" : ["gtpu_ipv4", "$valid$"]
14279 }
14280 }
14281 }
14282 },
14283 {
14284 "name" : "cksum_1",
14285 "id" : 2,
14286 "target" : ["ipv4", "hdr_checksum"],
14287 "type" : "generic",
14288 "calculation" : "calc_1",
14289 "if_cond" : {
14290 "type" : "expression",
14291 "value" : {
14292 "op" : "d2b",
14293 "left" : null,
14294 "right" : {
14295 "type" : "field",
14296 "value" : ["ipv4", "$valid$"]
14297 }
14298 }
14299 }
14300 }
14301 ],
14302 "force_arith" : [],
14303 "extern_instances" : [],
14304 "field_aliases" : [
14305 [
14306 "queueing_metadata.enq_timestamp",
14307 ["standard_metadata", "enq_timestamp"]
14308 ],
14309 [
14310 "queueing_metadata.enq_qdepth",
14311 ["standard_metadata", "enq_qdepth"]
14312 ],
14313 [
14314 "queueing_metadata.deq_timedelta",
14315 ["standard_metadata", "deq_timedelta"]
14316 ],
14317 [
14318 "queueing_metadata.deq_qdepth",
14319 ["standard_metadata", "deq_qdepth"]
14320 ],
14321 [
14322 "intrinsic_metadata.ingress_global_timestamp",
14323 ["standard_metadata", "ingress_global_timestamp"]
14324 ],
14325 [
14326 "intrinsic_metadata.egress_global_timestamp",
14327 ["standard_metadata", "egress_global_timestamp"]
14328 ],
14329 [
14330 "intrinsic_metadata.lf_field_list",
14331 ["standard_metadata", "lf_field_list"]
14332 ],
14333 [
14334 "intrinsic_metadata.mcast_grp",
14335 ["standard_metadata", "mcast_grp"]
14336 ],
14337 [
14338 "intrinsic_metadata.resubmit_flag",
14339 ["standard_metadata", "resubmit_flag"]
14340 ],
14341 [
14342 "intrinsic_metadata.egress_rid",
14343 ["standard_metadata", "egress_rid"]
14344 ],
14345 [
14346 "intrinsic_metadata.recirculate_flag",
14347 ["standard_metadata", "recirculate_flag"]
14348 ]
14349 ],
14350 "program" : "fabric.p4",
14351 "__meta__" : {
14352 "version" : [2, 18],
14353 "compiler" : "https://github.com/p4lang/p4c"
14354 }
14355}