[ONOS-7154] Initial INT pipeline implementation
Change-Id: I85829350349c77abfcb14445de290be599573fea
diff --git a/pipelines/basic/src/main/resources/p4c-out/bmv2/basic.json b/pipelines/basic/src/main/resources/p4c-out/bmv2/basic.json
index f1a65d1..62f94fc 100644
--- a/pipelines/basic/src/main/resources/p4c-out/bmv2/basic.json
+++ b/pipelines/basic/src/main/resources/p4c-out/bmv2/basic.json
@@ -17,9 +17,25 @@
]
},
{
- "name" : "ethernet_t",
+ "name" : "packet_out_header_t",
"id" : 1,
"fields" : [
+ ["egress_port", 9, false],
+ ["_padding", 7, false]
+ ]
+ },
+ {
+ "name" : "packet_in_header_t",
+ "id" : 2,
+ "fields" : [
+ ["ingress_port", 9, false],
+ ["_padding_0", 7, false]
+ ]
+ },
+ {
+ "name" : "ethernet_t",
+ "id" : 3,
+ "fields" : [
["dst_addr", 48, false],
["src_addr", 48, false],
["ether_type", 16, false]
@@ -27,7 +43,7 @@
},
{
"name" : "ipv4_t",
- "id" : 2,
+ "id" : 4,
"fields" : [
["version", 4, false],
["ihl", 4, false],
@@ -45,7 +61,7 @@
},
{
"name" : "tcp_t",
- "id" : 3,
+ "id" : 5,
"fields" : [
["src_port", 16, false],
["dst_port", 16, false],
@@ -62,7 +78,7 @@
},
{
"name" : "udp_t",
- "id" : 4,
+ "id" : 6,
"fields" : [
["src_port", 16, false],
["dst_port", 16, false],
@@ -71,22 +87,6 @@
]
},
{
- "name" : "packet_out_header_t",
- "id" : 5,
- "fields" : [
- ["egress_port", 9, false],
- ["_padding", 7, false]
- ]
- },
- {
- "name" : "packet_in_header_t",
- "id" : 6,
- "fields" : [
- ["ingress_port", 9, false],
- ["_padding_0", 7, false]
- ]
- },
- {
"name" : "standard_metadata",
"id" : 7,
"fields" : [
@@ -128,46 +128,46 @@
"pi_omit" : true
},
{
- "name" : "ethernet",
- "id" : 2,
- "header_type" : "ethernet_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "ipv4",
- "id" : 3,
- "header_type" : "ipv4_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "tcp",
- "id" : 4,
- "header_type" : "tcp_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "udp",
- "id" : 5,
- "header_type" : "udp_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
"name" : "packet_out",
- "id" : 6,
+ "id" : 2,
"header_type" : "packet_out_header_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_in",
- "id" : 7,
+ "id" : 3,
"header_type" : "packet_in_header_t",
"metadata" : false,
"pi_omit" : true
+ },
+ {
+ "name" : "ethernet",
+ "id" : 4,
+ "header_type" : "ethernet_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "ipv4",
+ "id" : 5,
+ "header_type" : "ipv4_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "tcp",
+ "id" : 6,
+ "header_type" : "tcp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "udp",
+ "id" : 7,
+ "header_type" : "udp_t",
+ "metadata" : false,
+ "pi_omit" : true
}
],
"header_stacks" : [],
@@ -176,12 +176,12 @@
"header_union_stacks" : [],
"field_lists" : [],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5]
],
"enums" : [],
"parsers" : [
@@ -413,7 +413,7 @@
"name" : "deparser",
"id" : 0,
"source_info" : {
- "filename" : "include/parsers.p4",
+ "filename" : "./include/parsers.p4",
"line" : 72,
"column" : 8,
"source_fragment" : "deparser"
@@ -427,7 +427,7 @@
"name" : "port_counters_ingress.ingress_port_counter",
"id" : 0,
"source_info" : {
- "filename" : "include/port_counters.p4",
+ "filename" : "./include/port_counters.p4",
"line" : 26,
"column" : 38,
"source_fragment" : "ingress_port_counter"
@@ -451,7 +451,7 @@
"name" : "port_counters_egress.egress_port_counter",
"id" : 3,
"source_info" : {
- "filename" : "include/port_counters.p4",
+ "filename" : "./include/port_counters.p4",
"line" : 36,
"column" : 38,
"source_fragment" : "egress_port_counter"
@@ -487,7 +487,7 @@
}
],
"source_info" : {
- "filename" : "include/actions.p4",
+ "filename" : "./include/actions.p4",
"line" : 28,
"column" : 36,
"source_fragment" : "port; ..."
@@ -518,7 +518,7 @@
}
],
"source_info" : {
- "filename" : "include/actions.p4",
+ "filename" : "./include/actions.p4",
"line" : 28,
"column" : 36,
"source_fragment" : "port; ..."
@@ -544,7 +544,7 @@
}
],
"source_info" : {
- "filename" : "include/headers.p4",
+ "filename" : "./include/headers.p4",
"line" : 19,
"column" : 24,
"source_fragment" : "255; ..."
@@ -561,7 +561,7 @@
"op" : "drop",
"parameters" : [],
"source_info" : {
- "filename" : "include/actions.p4",
+ "filename" : "./include/actions.p4",
"line" : 32,
"column" : 4,
"source_fragment" : "mark_to_drop()"
@@ -598,7 +598,7 @@
}
],
"source_info" : {
- "filename" : "include/table0.p4",
+ "filename" : "./include/table0.p4",
"line" : 30,
"column" : 8,
"source_fragment" : "local_metadata.next_hop_id = next_hop_id"
@@ -624,7 +624,7 @@
}
],
"source_info" : {
- "filename" : "include/packet_io.p4",
+ "filename" : "./include/packet_io.p4",
"line" : 27,
"column" : 12,
"source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
@@ -639,7 +639,7 @@
}
],
"source_info" : {
- "filename" : "include/packet_io.p4",
+ "filename" : "./include/packet_io.p4",
"line" : 28,
"column" : 12,
"source_fragment" : "hdr.packet_out.setInvalid()"
@@ -691,7 +691,7 @@
}
],
"source_info" : {
- "filename" : "include/port_counters.p4",
+ "filename" : "./include/port_counters.p4",
"line" : 29,
"column" : 8,
"source_fragment" : "ingress_port_counter.count((bit<32>) standard_metadata.ingress_port)"
@@ -713,7 +713,7 @@
}
],
"source_info" : {
- "filename" : "include/packet_io.p4",
+ "filename" : "./include/packet_io.p4",
"line" : 38,
"column" : 12,
"source_fragment" : "hdr.packet_in.setValid()"
@@ -732,7 +732,7 @@
}
],
"source_info" : {
- "filename" : "include/packet_io.p4",
+ "filename" : "./include/packet_io.p4",
"line" : 39,
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
@@ -784,7 +784,7 @@
}
],
"source_info" : {
- "filename" : "include/port_counters.p4",
+ "filename" : "./include/port_counters.p4",
"line" : 39,
"column" : 8,
"source_fragment" : "egress_port_counter.count((bit<32>) standard_metadata.egress_port)"
@@ -799,7 +799,7 @@
"id" : 0,
"source_info" : {
"filename" : "basic.p4",
- "line" : 34,
+ "line" : 35,
"column" : 8,
"source_fragment" : "ingress"
},
@@ -855,7 +855,7 @@
"name" : "table0_control.table0",
"id" : 2,
"source_info" : {
- "filename" : "include/table0.p4",
+ "filename" : "./include/table0.p4",
"line" : 33,
"column" : 10,
"source_fragment" : "table0"
@@ -932,7 +932,7 @@
"name" : "wcmp_control.wcmp_table",
"id" : 3,
"source_info" : {
- "filename" : "include/wcmp.p4",
+ "filename" : "./include/wcmp.p4",
"line" : 30,
"column" : 10,
"source_fragment" : "wcmp_table"
@@ -996,7 +996,7 @@
"name" : "node_3",
"id" : 0,
"source_info" : {
- "filename" : "include/packet_io.p4",
+ "filename" : "./include/packet_io.p4",
"line" : 26,
"column" : 12,
"source_fragment" : "standard_metadata.ingress_port == CPU_PORT"
@@ -1022,7 +1022,7 @@
"name" : "node_6",
"id" : 1,
"source_info" : {
- "filename" : "include/wcmp.p4",
+ "filename" : "./include/wcmp.p4",
"line" : 48,
"column" : 12,
"source_fragment" : "local_metadata.next_hop_id != 0"
@@ -1051,7 +1051,7 @@
"id" : 1,
"source_info" : {
"filename" : "basic.p4",
- "line" : 50,
+ "line" : 51,
"column" : 8,
"source_fragment" : "egress"
},
@@ -1110,7 +1110,7 @@
"name" : "node_11",
"id" : 2,
"source_info" : {
- "filename" : "include/packet_io.p4",
+ "filename" : "./include/packet_io.p4",
"line" : 37,
"column" : 12,
"source_fragment" : "standard_metadata.egress_port == CPU_PORT"
diff --git a/pipelines/basic/src/main/resources/p4c-out/bmv2/int.json b/pipelines/basic/src/main/resources/p4c-out/bmv2/int.json
new file mode 100644
index 0000000..f57af60
--- /dev/null
+++ b/pipelines/basic/src/main/resources/p4c-out/bmv2/int.json
@@ -0,0 +1,6616 @@
+{
+ "program" : "int.p4",
+ "__meta__" : {
+ "version" : [2, 7],
+ "compiler" : "https://github.com/p4lang/p4c"
+ },
+ "header_types" : [
+ {
+ "name" : "scalars_0",
+ "id" : 0,
+ "fields" : [
+ ["tmp", 32, false],
+ ["tmp_0", 32, false],
+ ["tmp_1", 32, false],
+ ["local_metadata_t.l4_src_port", 16, false],
+ ["local_metadata_t.l4_dst_port", 16, false],
+ ["local_metadata_t.next_hop_id", 16, false],
+ ["local_metadata_t.selector", 16, false]
+ ]
+ },
+ {
+ "name" : "packet_out_header_t",
+ "id" : 1,
+ "fields" : [
+ ["egress_port", 9, false],
+ ["_padding", 7, false]
+ ]
+ },
+ {
+ "name" : "packet_in_header_t",
+ "id" : 2,
+ "fields" : [
+ ["ingress_port", 9, false],
+ ["_padding_0", 7, false]
+ ]
+ },
+ {
+ "name" : "ethernet_t",
+ "id" : 3,
+ "fields" : [
+ ["dst_addr", 48, false],
+ ["src_addr", 48, false],
+ ["ether_type", 16, false]
+ ]
+ },
+ {
+ "name" : "ipv4_t",
+ "id" : 4,
+ "fields" : [
+ ["version", 4, false],
+ ["ihl", 4, false],
+ ["diffserv", 8, false],
+ ["len", 16, false],
+ ["identification", 16, false],
+ ["flags", 3, false],
+ ["frag_offset", 13, false],
+ ["ttl", 8, false],
+ ["protocol", 8, false],
+ ["hdr_checksum", 16, false],
+ ["src_addr", 32, false],
+ ["dst_addr", 32, false]
+ ]
+ },
+ {
+ "name" : "tcp_t",
+ "id" : 5,
+ "fields" : [
+ ["src_port", 16, false],
+ ["dst_port", 16, false],
+ ["seq_no", 32, false],
+ ["ack_no", 32, false],
+ ["data_offset", 4, false],
+ ["res", 3, false],
+ ["ecn", 3, false],
+ ["ctrl", 6, false],
+ ["window", 16, false],
+ ["checksum", 16, false],
+ ["urgent_ptr", 16, false]
+ ]
+ },
+ {
+ "name" : "udp_t",
+ "id" : 6,
+ "fields" : [
+ ["src_port", 16, false],
+ ["dst_port", 16, false],
+ ["length_", 16, false],
+ ["checksum", 16, false]
+ ]
+ },
+ {
+ "name" : "intl4_shim_t",
+ "id" : 7,
+ "fields" : [
+ ["int_type", 8, false],
+ ["rsvd1", 8, false],
+ ["len", 8, false],
+ ["rsvd2", 8, false]
+ ]
+ },
+ {
+ "name" : "int_header_t",
+ "id" : 8,
+ "fields" : [
+ ["ver", 2, false],
+ ["rep", 2, false],
+ ["c", 1, false],
+ ["e", 1, false],
+ ["rsvd1", 5, false],
+ ["ins_cnt", 5, false],
+ ["max_hop_cnt", 8, false],
+ ["total_hop_cnt", 8, false],
+ ["instruction_mask_0003", 4, false],
+ ["instruction_mask_0407", 4, false],
+ ["instruction_mask_0811", 4, false],
+ ["instruction_mask_1215", 4, false],
+ ["rsvd2", 16, false]
+ ]
+ },
+ {
+ "name" : "int_data_t",
+ "id" : 9,
+ "fields" : [
+ ["data", "*"]
+ ],
+ "max_length" : 1004
+ },
+ {
+ "name" : "int_switch_id_t",
+ "id" : 10,
+ "fields" : [
+ ["switch_id", 32, false]
+ ]
+ },
+ {
+ "name" : "int_port_ids_t",
+ "id" : 11,
+ "fields" : [
+ ["ingress_port_id", 16, false],
+ ["egress_port_id", 16, false]
+ ]
+ },
+ {
+ "name" : "int_hop_latency_t",
+ "id" : 12,
+ "fields" : [
+ ["hop_latency", 32, false]
+ ]
+ },
+ {
+ "name" : "int_q_occupancy_t",
+ "id" : 13,
+ "fields" : [
+ ["q_id", 8, false],
+ ["q_occupancy", 24, false]
+ ]
+ },
+ {
+ "name" : "int_ingress_tstamp_t",
+ "id" : 14,
+ "fields" : [
+ ["ingress_tstamp", 32, false]
+ ]
+ },
+ {
+ "name" : "int_egress_tstamp_t",
+ "id" : 15,
+ "fields" : [
+ ["egress_tstamp", 32, false]
+ ]
+ },
+ {
+ "name" : "int_q_congestion_t",
+ "id" : 16,
+ "fields" : [
+ ["q_id", 8, false],
+ ["q_congestion", 24, false]
+ ]
+ },
+ {
+ "name" : "int_egress_port_tx_util_t",
+ "id" : 17,
+ "fields" : [
+ ["egress_port_tx_util", 32, false]
+ ]
+ },
+ {
+ "name" : "intl4_tail_t",
+ "id" : 18,
+ "fields" : [
+ ["next_proto", 8, false],
+ ["dest_port", 16, false],
+ ["dscp", 8, false]
+ ]
+ },
+ {
+ "name" : "int_metadata_t",
+ "id" : 19,
+ "fields" : [
+ ["switch_id", 32, false],
+ ["insert_byte_cnt", 16, false],
+ ["source", 1, false],
+ ["sink", 1, false],
+ ["origin_port", 16, false],
+ ["mirror_id", 8, false],
+ ["flow_id", 16, false],
+ ["metadata_len", 8, false],
+ ["_padding_1", 6, false]
+ ]
+ },
+ {
+ "name" : "standard_metadata",
+ "id" : 20,
+ "fields" : [
+ ["ingress_port", 9, false],
+ ["egress_spec", 9, false],
+ ["egress_port", 9, false],
+ ["clone_spec", 32, false],
+ ["instance_type", 32, false],
+ ["drop", 1, false],
+ ["recirculate_port", 16, false],
+ ["packet_length", 32, false],
+ ["enq_timestamp", 32, false],
+ ["enq_qdepth", 19, false],
+ ["deq_timedelta", 32, false],
+ ["deq_qdepth", 19, false],
+ ["ingress_global_timestamp", 48, false],
+ ["lf_field_list", 32, false],
+ ["mcast_grp", 16, false],
+ ["resubmit_flag", 1, false],
+ ["egress_rid", 16, false],
+ ["checksum_error", 1, false],
+ ["_padding_2", 4, false]
+ ]
+ }
+ ],
+ "headers" : [
+ {
+ "name" : "scalars",
+ "id" : 0,
+ "header_type" : "scalars_0",
+ "metadata" : true,
+ "pi_omit" : true
+ },
+ {
+ "name" : "standard_metadata",
+ "id" : 1,
+ "header_type" : "standard_metadata",
+ "metadata" : true,
+ "pi_omit" : true
+ },
+ {
+ "name" : "packet_out",
+ "id" : 2,
+ "header_type" : "packet_out_header_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "packet_in",
+ "id" : 3,
+ "header_type" : "packet_in_header_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "ethernet",
+ "id" : 4,
+ "header_type" : "ethernet_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "ipv4",
+ "id" : 5,
+ "header_type" : "ipv4_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "tcp",
+ "id" : 6,
+ "header_type" : "tcp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "udp",
+ "id" : 7,
+ "header_type" : "udp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "intl4_shim",
+ "id" : 8,
+ "header_type" : "intl4_shim_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_header",
+ "id" : 9,
+ "header_type" : "int_header_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_data",
+ "id" : 10,
+ "header_type" : "int_data_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_switch_id",
+ "id" : 11,
+ "header_type" : "int_switch_id_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_port_ids",
+ "id" : 12,
+ "header_type" : "int_port_ids_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_hop_latency",
+ "id" : 13,
+ "header_type" : "int_hop_latency_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_q_occupancy",
+ "id" : 14,
+ "header_type" : "int_q_occupancy_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_ingress_tstamp",
+ "id" : 15,
+ "header_type" : "int_ingress_tstamp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_egress_tstamp",
+ "id" : 16,
+ "header_type" : "int_egress_tstamp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_q_congestion",
+ "id" : 17,
+ "header_type" : "int_q_congestion_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_egress_tx_util",
+ "id" : 18,
+ "header_type" : "int_egress_port_tx_util_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "intl4_tail",
+ "id" : 19,
+ "header_type" : "intl4_tail_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "int_meta",
+ "id" : 20,
+ "header_type" : "int_metadata_t",
+ "metadata" : false,
+ "pi_omit" : true
+ }
+ ],
+ "header_stacks" : [],
+ "header_union_types" : [],
+ "header_unions" : [],
+ "header_union_stacks" : [],
+ "field_lists" : [],
+ "errors" : [
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5]
+ ],
+ "enums" : [],
+ "parsers" : [
+ {
+ "name" : "parser",
+ "id" : 0,
+ "init_state" : "start",
+ "parse_states" : [
+ {
+ "name" : "start",
+ "id" : 0,
+ "parser_ops" : [],
+ "transitions" : [
+ {
+ "value" : "0x00ff",
+ "mask" : null,
+ "next_state" : "parse_packet_out"
+ },
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : "parse_ethernet"
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_packet_out",
+ "id" : 1,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "packet_out"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : "parse_ethernet"
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_ethernet",
+ "id" : 2,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "ethernet"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "0x0800",
+ "mask" : null,
+ "next_state" : "parse_ipv4"
+ },
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["ethernet", "ether_type"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_ipv4",
+ "id" : 3,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "ipv4"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "0x06",
+ "mask" : null,
+ "next_state" : "parse_tcp"
+ },
+ {
+ "value" : "0x11",
+ "mask" : null,
+ "next_state" : "parse_udp"
+ },
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["ipv4", "protocol"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_tcp",
+ "id" : 4,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "tcp"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_udp",
+ "id" : 5,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "udp"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "local_metadata_t.l4_src_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "src_port"]
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "local_metadata_t.l4_dst_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "dst_port"]
+ }
+ ],
+ "op" : "set"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "0xd431",
+ "mask" : null,
+ "next_state" : "parse_intl4_shim"
+ },
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "dst_port"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_intl4_shim",
+ "id" : 6,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "intl4_shim"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "int_header"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_meta", "metadata_len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["intl4_shim", "len"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xfc"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "0x00",
+ "mask" : null,
+ "next_state" : "parse_intl4_tail"
+ },
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : "parse_int_data"
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["int_meta", "metadata_len"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_int_data",
+ "id" : 7,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "tmp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "<<",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["intl4_shim", "len"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xfc"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x5"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "int_data"
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "field",
+ "value" : ["scalars", "tmp"]
+ }
+ }
+ ],
+ "op" : "extract_VL"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : "parse_intl4_tail"
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_intl4_tail",
+ "id" : 8,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "intl4_tail"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : []
+ }
+ ]
+ }
+ ],
+ "deparsers" : [
+ {
+ "name" : "deparser",
+ "id" : 0,
+ "source_info" : {
+ "filename" : "./include/int_parser.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "int_deparser"
+ },
+ "order" : ["packet_in", "ethernet", "ipv4", "tcp", "udp", "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"]
+ }
+ ],
+ "meter_arrays" : [],
+ "counter_arrays" : [
+ {
+ "name" : "port_counters_ingress.ingress_port_counter",
+ "id" : 0,
+ "source_info" : {
+ "filename" : "./include/port_counters.p4",
+ "line" : 26,
+ "column" : 38,
+ "source_fragment" : "ingress_port_counter"
+ },
+ "size" : 511,
+ "is_direct" : false
+ },
+ {
+ "name" : "table0_control.table0_counter",
+ "id" : 1,
+ "is_direct" : true,
+ "binding" : "table0_control.table0"
+ },
+ {
+ "name" : "process_set_source_sink.counter_set_source",
+ "id" : 2,
+ "is_direct" : true,
+ "binding" : "process_set_source_sink.tb_set_source"
+ },
+ {
+ "name" : "process_set_source_sink.counter_set_sink",
+ "id" : 3,
+ "is_direct" : true,
+ "binding" : "process_set_source_sink.tb_set_sink"
+ },
+ {
+ "name" : "process_int_source.counter_int_source",
+ "id" : 4,
+ "is_direct" : true,
+ "binding" : "process_int_source.tb_int_source"
+ },
+ {
+ "name" : "process_int_transit.counter_int_insert",
+ "id" : 5,
+ "is_direct" : true,
+ "binding" : "process_int_transit.tb_int_insert"
+ },
+ {
+ "name" : "process_int_transit.counter_int_inst_0003",
+ "id" : 6,
+ "is_direct" : true,
+ "binding" : "process_int_transit.tb_int_inst_0003"
+ },
+ {
+ "name" : "process_int_transit.counter_int_inst_0407",
+ "id" : 7,
+ "is_direct" : true,
+ "binding" : "process_int_transit.tb_int_inst_0407"
+ },
+ {
+ "name" : "port_counters_egress.egress_port_counter",
+ "id" : 8,
+ "source_info" : {
+ "filename" : "./include/port_counters.p4",
+ "line" : 36,
+ "column" : 38,
+ "source_fragment" : "egress_port_counter"
+ },
+ "size" : 511,
+ "is_direct" : false
+ }
+ ],
+ "register_arrays" : [],
+ "calculations" : [],
+ "learn_lists" : [],
+ "actions" : [
+ {
+ "name" : "set_egress_port",
+ "id" : 0,
+ "runtime_data" : [
+ {
+ "name" : "port",
+ "bitwidth" : 9
+ }
+ ],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_spec"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 0
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/actions.p4",
+ "line" : 28,
+ "column" : 36,
+ "source_fragment" : "port; ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "send_to_cpu",
+ "id" : 1,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_spec"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00ff"
+ }
+ ],
+ "source_info" : {
+ "filename" : "int.p4",
+ "line" : 21,
+ "column" : 24,
+ "source_fragment" : "255; ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "_drop",
+ "id" : 2,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "drop",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "./include/actions.p4",
+ "line" : 32,
+ "column" : 4,
+ "source_fragment" : "mark_to_drop()"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "NoAction",
+ "id" : 3,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "NoAction",
+ "id" : 4,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "table0_control.set_next_hop_id",
+ "id" : 5,
+ "runtime_data" : [
+ {
+ "name" : "next_hop_id",
+ "bitwidth" : 16
+ }
+ ],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "local_metadata_t.next_hop_id"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 0
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/table0.p4",
+ "line" : 30,
+ "column" : 8,
+ "source_fragment" : "local_metadata.next_hop_id = next_hop_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_set_source_sink.int_set_source",
+ "id" : 6,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_meta", "source"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "local_metadata.int_meta.source = 1"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_set_source_sink.int_set_sink",
+ "id" : 7,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_meta", "sink"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "local_metadata.int_meta.sink = 1"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act",
+ "id" : 8,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_spec"]
+ },
+ {
+ "type" : "field",
+ "value" : ["packet_out", "egress_port"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/packet_io.p4",
+ "line" : 27,
+ "column" : 12,
+ "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
+ }
+ },
+ {
+ "op" : "remove_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "packet_out"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/packet_io.p4",
+ "line" : 28,
+ "column" : 12,
+ "source_fragment" : "hdr.packet_out.setInvalid()"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_0",
+ "id" : 9,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "tmp_0"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ]
+ },
+ {
+ "op" : "count",
+ "parameters" : [
+ {
+ "type" : "counter_array",
+ "value" : "port_counters_ingress.ingress_port_counter"
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "tmp_0"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/port_counters.p4",
+ "line" : 29,
+ "column" : 8,
+ "source_fragment" : "ingress_port_counter.count((bit<32>) standard_metadata.ingress_port)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "NoAction",
+ "id" : 10,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "NoAction",
+ "id" : 11,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "NoAction",
+ "id" : 12,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "NoAction",
+ "id" : 13,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "process_int_source.int_source",
+ "id" : 14,
+ "runtime_data" : [
+ {
+ "name" : "max_hop",
+ "bitwidth" : 8
+ },
+ {
+ "name" : "ins_cnt",
+ "bitwidth" : 5
+ },
+ {
+ "name" : "ins_mask0003",
+ "bitwidth" : 4
+ },
+ {
+ "name" : "ins_mask0407",
+ "bitwidth" : 4
+ }
+ ],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "intl4_shim"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 31,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_shim.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_shim", "int_type"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 33,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_shim.int_type = 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_shim", "len"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x04"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_defines.p4",
+ "line" : 28,
+ "column" : 35,
+ "source_fragment" : "4; ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_header"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 37,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "ver"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 38,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.ver = 0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "rep"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 39,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.rep = 0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "c"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.c = 0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "e"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.e = 0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "rsvd1"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 42,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.rsvd1 = 0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "ins_cnt"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 1
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 43,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "max_hop_cnt"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 0
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "total_hop_cnt"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "instruction_mask_0003"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 2
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "instruction_mask_0407"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 3
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "instruction_mask_0811"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 48,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "instruction_mask_1215"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 49,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "intl4_tail"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_tail.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_tail", "next_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 53,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_tail", "dest_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "local_metadata_t.l4_dst_port"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 54,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_tail.dest_port = local_metadata.l4_dst_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_tail", "dscp"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 55,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_tail.dscp = 0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "dst_port"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0xd431"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_defines.p4",
+ "line" : 23,
+ "column" : 31,
+ "source_fragment" : "54321; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ipv4", "len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["ipv4", "len"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0010"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 60,
+ "column" : 8,
+ "source_fragment" : "hdr.ipv4.len = hdr.ipv4.len + 16"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "length_"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["udp", "length_"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0010"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.udp.length_ = hdr.udp.length_ + 16"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_update_total_hop_cnt",
+ "id" : 15,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_header", "total_hop_cnt"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["int_header", "total_hop_cnt"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 30,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_transit",
+ "id" : 16,
+ "runtime_data" : [
+ {
+ "name" : "switch_id",
+ "bitwidth" : 32
+ }
+ ],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 0
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 34,
+ "column" : 8,
+ "source_fragment" : "local_metadata.int_meta.switch_id = switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_meta", "insert_byte_cnt"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "<<",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["int_header", "ins_cnt"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x2"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 35,
+ "column" : 8,
+ "source_fragment" : "local_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i0",
+ "id" : 17,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i1",
+ "id" : 18,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 57,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i2",
+ "id" : 19,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i3",
+ "id" : 20,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 57,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i4",
+ "id" : 21,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "ingress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "egress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i5",
+ "id" : 22,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 57,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "ingress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "egress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i6",
+ "id" : 23,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "ingress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "egress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i7",
+ "id" : 24,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 57,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "ingress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "egress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i8",
+ "id" : 25,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_switch_id", "switch_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i9",
+ "id" : 26,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 57,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_switch_id", "switch_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i10",
+ "id" : 27,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_switch_id", "switch_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i11",
+ "id" : 28,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 57,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_switch_id", "switch_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i12",
+ "id" : 29,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "ingress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "egress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_switch_id", "switch_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i13",
+ "id" : 30,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 57,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "ingress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "egress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_switch_id", "switch_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i14",
+ "id" : 31,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "ingress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "egress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_switch_id", "switch_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0003_i15",
+ "id" : 32,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 57,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 61,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 44,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "ingress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_port_ids", "egress_port_id"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_switch_id", "switch_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i0",
+ "id" : 33,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i1",
+ "id" : 34,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tx_util", "egress_port_tx_util"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i2",
+ "id" : 35,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 78,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 79,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i3",
+ "id" : 36,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tx_util", "egress_port_tx_util"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 78,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 79,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i4",
+ "id" : 37,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 70,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tstamp", "egress_tstamp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 71,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i5",
+ "id" : 38,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tx_util", "egress_port_tx_util"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 70,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tstamp", "egress_tstamp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 71,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i6",
+ "id" : 39,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 78,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 79,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 70,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tstamp", "egress_tstamp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 71,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i7",
+ "id" : 40,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tx_util", "egress_port_tx_util"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 78,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 79,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 70,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tstamp", "egress_tstamp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 71,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i8",
+ "id" : 41,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 66,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i9",
+ "id" : 42,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tx_util", "egress_port_tx_util"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 66,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i10",
+ "id" : 43,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 78,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 79,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 66,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i11",
+ "id" : 44,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tx_util", "egress_port_tx_util"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 78,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 79,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 66,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i12",
+ "id" : 45,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 70,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tstamp", "egress_tstamp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 71,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 66,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i13",
+ "id" : 46,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tx_util", "egress_port_tx_util"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 70,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tstamp", "egress_tstamp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 71,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 66,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i14",
+ "id" : 47,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 78,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 79,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 70,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tstamp", "egress_tstamp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 71,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 66,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_transit.int_set_header_0407_i15",
+ "id" : 48,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tx_util", "egress_port_tx_util"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 78,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 79,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 70,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_egress_tstamp", "egress_tstamp"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 71,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 66,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_outer_encap.int_update_ipv4",
+ "id" : 49,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ipv4", "len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["ipv4", "len"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["int_meta", "insert_byte_cnt"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 306,
+ "column" : 8,
+ "source_fragment" : "hdr.ipv4.len = hdr.ipv4.len + local_metadata.int_meta.insert_byte_cnt"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_outer_encap.int_update_udp",
+ "id" : 50,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "length_"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["udp", "length_"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["int_meta", "insert_byte_cnt"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 309,
+ "column" : 8,
+ "source_fragment" : "hdr.udp.length_ = hdr.udp.length_ + local_metadata.int_meta.insert_byte_cnt"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_shim", "len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["intl4_shim", "len"]
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["int_header", "ins_cnt"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 310,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_sink.int_sink",
+ "id" : 51,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ipv4", "len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "-",
+ "left" : {
+ "type" : "field",
+ "value" : ["ipv4", "len"]
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "<<",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "-",
+ "left" : {
+ "type" : "field",
+ "value" : ["intl4_shim", "len"]
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["int_header", "ins_cnt"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x2"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 28,
+ "column" : 8,
+ "source_fragment" : "hdr.ipv4.len = hdr.ipv4.len - (bit<16>)((hdr.intl4_shim.len - (bit<8>)hdr.int_header.ins_cnt) << 2)"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "length_"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "-",
+ "left" : {
+ "type" : "field",
+ "value" : ["udp", "length_"]
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "<<",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "-",
+ "left" : {
+ "type" : "field",
+ "value" : ["intl4_shim", "len"]
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["int_header", "ins_cnt"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x2"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 29,
+ "column" : 8,
+ "source_fragment" : "hdr.udp.length_ = hdr.udp.length_ - (bit<16>)((hdr.intl4_shim.len - (bit<8>)hdr.int_header.ins_cnt) << 2)"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_meta", "origin_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["intl4_tail", "dest_port"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 31,
+ "column" : 8,
+ "source_fragment" : "local_metadata.int_meta.origin_port = hdr.intl4_tail.dest_port"
+ }
+ },
+ {
+ "op" : "remove_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_header"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 33,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.setInvalid()"
+ }
+ },
+ {
+ "op" : "remove_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_data"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 34,
+ "column" : 8,
+ "source_fragment" : "hdr.int_data.setInvalid()"
+ }
+ },
+ {
+ "op" : "remove_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "intl4_shim"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 35,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_shim.setInvalid()"
+ }
+ },
+ {
+ "op" : "remove_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "intl4_tail"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 36,
+ "column" : 8,
+ "source_fragment" : "hdr.intl4_tail.setInvalid()"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "process_int_sink.restore_port",
+ "id" : 52,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "dst_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["int_meta", "origin_port"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 40,
+ "column" : 8,
+ "source_fragment" : "hdr.udp.dst_port = local_metadata.int_meta.origin_port"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_1",
+ "id" : 53,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "packet_in"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/packet_io.p4",
+ "line" : 38,
+ "column" : 12,
+ "source_fragment" : "hdr.packet_in.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["packet_in", "ingress_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/packet_io.p4",
+ "line" : 39,
+ "column" : 12,
+ "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_2",
+ "id" : 54,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "tmp_1"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ]
+ },
+ {
+ "op" : "count",
+ "parameters" : [
+ {
+ "type" : "counter_array",
+ "value" : "port_counters_egress.egress_port_counter"
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "tmp_1"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/port_counters.p4",
+ "line" : 39,
+ "column" : 8,
+ "source_fragment" : "egress_port_counter.count((bit<32>) standard_metadata.egress_port)"
+ }
+ }
+ ]
+ }
+ ],
+ "pipelines" : [
+ {
+ "name" : "ingress",
+ "id" : 0,
+ "source_info" : {
+ "filename" : "int.p4",
+ "line" : 36,
+ "column" : 8,
+ "source_fragment" : "int_ingress"
+ },
+ "init_table" : "tbl_act",
+ "tables" : [
+ {
+ "name" : "tbl_act",
+ "id" : 0,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [9],
+ "actions" : ["act_0"],
+ "base_default_next" : "node_3",
+ "next_tables" : {
+ "act_0" : "node_3"
+ },
+ "default_entry" : {
+ "action_id" : 9,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_0",
+ "id" : 1,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [8],
+ "actions" : ["act"],
+ "base_default_next" : null,
+ "next_tables" : {
+ "act" : null
+ },
+ "default_entry" : {
+ "action_id" : 8,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "table0_control.table0",
+ "id" : 2,
+ "source_info" : {
+ "filename" : "./include/table0.p4",
+ "line" : 33,
+ "column" : 10,
+ "source_fragment" : "table0"
+ },
+ "key" : [
+ {
+ "match_type" : "ternary",
+ "target" : ["standard_metadata", "ingress_port"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ethernet", "src_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ethernet", "dst_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ethernet", "ether_type"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "src_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "dst_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "protocol"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["scalars", "local_metadata_t.l4_src_port"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["scalars", "local_metadata_t.l4_dst_port"],
+ "mask" : null
+ }
+ ],
+ "match_type" : "ternary",
+ "type" : "simple",
+ "max_size" : 1024,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [0, 1, 5, 2],
+ "actions" : ["set_egress_port", "send_to_cpu", "table0_control.set_next_hop_id", "_drop"],
+ "base_default_next" : "node_6",
+ "next_tables" : {
+ "set_egress_port" : "node_6",
+ "send_to_cpu" : "node_6",
+ "table0_control.set_next_hop_id" : "node_6",
+ "_drop" : "node_6"
+ },
+ "default_entry" : {
+ "action_id" : 2,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "process_set_source_sink.tb_set_source",
+ "id" : 3,
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 101,
+ "column" : 10,
+ "source_fragment" : "tb_set_source"
+ },
+ "key" : [
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "src_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "dst_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["scalars", "local_metadata_t.l4_src_port"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["scalars", "local_metadata_t.l4_dst_port"],
+ "mask" : null
+ }
+ ],
+ "match_type" : "ternary",
+ "type" : "simple",
+ "max_size" : 1024,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [6, 3],
+ "actions" : ["process_set_source_sink.int_set_source", "NoAction"],
+ "base_default_next" : "process_set_source_sink.tb_set_sink",
+ "next_tables" : {
+ "process_set_source_sink.int_set_source" : "process_set_source_sink.tb_set_sink",
+ "NoAction" : "process_set_source_sink.tb_set_sink"
+ },
+ "default_entry" : {
+ "action_id" : 3,
+ "action_const" : false,
+ "action_data" : [],
+ "action_entry_const" : false
+ }
+ },
+ {
+ "name" : "process_set_source_sink.tb_set_sink",
+ "id" : 4,
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 115,
+ "column" : 10,
+ "source_fragment" : "tb_set_sink"
+ },
+ "key" : [
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "src_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "dst_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["scalars", "local_metadata_t.l4_src_port"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["scalars", "local_metadata_t.l4_dst_port"],
+ "mask" : null
+ }
+ ],
+ "match_type" : "ternary",
+ "type" : "simple",
+ "max_size" : 1024,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [7, 4],
+ "actions" : ["process_set_source_sink.int_set_sink", "NoAction"],
+ "base_default_next" : null,
+ "next_tables" : {
+ "process_set_source_sink.int_set_sink" : null,
+ "NoAction" : null
+ },
+ "default_entry" : {
+ "action_id" : 4,
+ "action_const" : false,
+ "action_data" : [],
+ "action_entry_const" : false
+ }
+ }
+ ],
+ "action_profiles" : [],
+ "conditionals" : [
+ {
+ "name" : "node_3",
+ "id" : 0,
+ "source_info" : {
+ "filename" : "./include/packet_io.p4",
+ "line" : 26,
+ "column" : 12,
+ "source_fragment" : "standard_metadata.ingress_port == CPU_PORT"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x00ff"
+ }
+ }
+ },
+ "true_next" : "tbl_act_0",
+ "false_next" : "table0_control.table0"
+ },
+ {
+ "name" : "node_6",
+ "id" : 1,
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 130,
+ "column" : 12,
+ "source_fragment" : "hdr.udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "field",
+ "value" : ["udp", "$valid$"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "false_next" : null,
+ "true_next" : "process_set_source_sink.tb_set_source"
+ }
+ ]
+ },
+ {
+ "name" : "egress",
+ "id" : 1,
+ "source_info" : {
+ "filename" : "int.p4",
+ "line" : 49,
+ "column" : 8,
+ "source_fragment" : "int_egress"
+ },
+ "init_table" : "node_11",
+ "tables" : [
+ {
+ "name" : "process_int_source.tb_int_source",
+ "id" : 5,
+ "source_info" : {
+ "filename" : "./include/int_source.p4",
+ "line" : 64,
+ "column" : 10,
+ "source_fragment" : "tb_int_source"
+ },
+ "key" : [
+ {
+ "match_type" : "exact",
+ "target" : ["int_meta", "sink"],
+ "mask" : null
+ },
+ {
+ "match_type" : "exact",
+ "target" : ["int_meta", "source"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "src_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["ipv4", "dst_addr"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["scalars", "local_metadata_t.l4_src_port"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "target" : ["scalars", "local_metadata_t.l4_dst_port"],
+ "mask" : null
+ }
+ ],
+ "match_type" : "ternary",
+ "type" : "simple",
+ "max_size" : 1024,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [14, 10],
+ "actions" : ["process_int_source.int_source", "NoAction"],
+ "base_default_next" : "node_13",
+ "next_tables" : {
+ "process_int_source.int_source" : "node_13",
+ "NoAction" : "node_13"
+ },
+ "default_entry" : {
+ "action_id" : 10,
+ "action_const" : false,
+ "action_data" : [],
+ "action_entry_const" : false
+ }
+ },
+ {
+ "name" : "process_int_transit.tb_int_insert",
+ "id" : 6,
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 227,
+ "column" : 10,
+ "source_fragment" : "tb_int_insert"
+ },
+ "key" : [
+ {
+ "match_type" : "exact",
+ "target" : ["int_meta", "sink"],
+ "mask" : null
+ }
+ ],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 2,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [16, 11],
+ "actions" : ["process_int_transit.int_transit", "NoAction"],
+ "base_default_next" : "process_int_transit.tb_int_inst_0003",
+ "next_tables" : {
+ "process_int_transit.int_transit" : "process_int_transit.tb_int_inst_0003",
+ "NoAction" : "process_int_transit.tb_int_inst_0003"
+ },
+ "default_entry" : {
+ "action_id" : 11,
+ "action_const" : false,
+ "action_data" : [],
+ "action_entry_const" : false
+ }
+ },
+ {
+ "name" : "process_int_transit.tb_int_inst_0003",
+ "id" : 7,
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 239,
+ "column" : 10,
+ "source_fragment" : "tb_int_inst_0003"
+ },
+ "key" : [
+ {
+ "match_type" : "exact",
+ "target" : ["int_header", "instruction_mask_0003"],
+ "mask" : null
+ }
+ ],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 16,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 12],
+ "actions" : ["process_int_transit.int_set_header_0003_i0", "process_int_transit.int_set_header_0003_i1", "process_int_transit.int_set_header_0003_i2", "process_int_transit.int_set_header_0003_i3", "process_int_transit.int_set_header_0003_i4", "process_int_transit.int_set_header_0003_i5", "process_int_transit.int_set_header_0003_i6", "process_int_transit.int_set_header_0003_i7", "process_int_transit.int_set_header_0003_i8", "process_int_transit.int_set_header_0003_i9", "process_int_transit.int_set_header_0003_i10", "process_int_transit.int_set_header_0003_i11", "process_int_transit.int_set_header_0003_i12", "process_int_transit.int_set_header_0003_i13", "process_int_transit.int_set_header_0003_i14", "process_int_transit.int_set_header_0003_i15", "NoAction"],
+ "base_default_next" : "process_int_transit.tb_int_inst_0407",
+ "next_tables" : {
+ "process_int_transit.int_set_header_0003_i0" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i1" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i2" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i3" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i4" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i5" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i6" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i7" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i8" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i9" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i10" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i11" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i12" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i13" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i14" : "process_int_transit.tb_int_inst_0407",
+ "process_int_transit.int_set_header_0003_i15" : "process_int_transit.tb_int_inst_0407",
+ "NoAction" : "process_int_transit.tb_int_inst_0407"
+ },
+ "default_entry" : {
+ "action_id" : 12,
+ "action_const" : false,
+ "action_data" : [],
+ "action_entry_const" : false
+ }
+ },
+ {
+ "name" : "process_int_transit.tb_int_inst_0407",
+ "id" : 8,
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 266,
+ "column" : 10,
+ "source_fragment" : "tb_int_inst_0407"
+ },
+ "key" : [
+ {
+ "match_type" : "exact",
+ "target" : ["int_header", "instruction_mask_0407"],
+ "mask" : null
+ }
+ ],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 16,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 13],
+ "actions" : ["process_int_transit.int_set_header_0407_i0", "process_int_transit.int_set_header_0407_i1", "process_int_transit.int_set_header_0407_i2", "process_int_transit.int_set_header_0407_i3", "process_int_transit.int_set_header_0407_i4", "process_int_transit.int_set_header_0407_i5", "process_int_transit.int_set_header_0407_i6", "process_int_transit.int_set_header_0407_i7", "process_int_transit.int_set_header_0407_i8", "process_int_transit.int_set_header_0407_i9", "process_int_transit.int_set_header_0407_i10", "process_int_transit.int_set_header_0407_i11", "process_int_transit.int_set_header_0407_i12", "process_int_transit.int_set_header_0407_i13", "process_int_transit.int_set_header_0407_i14", "process_int_transit.int_set_header_0407_i15", "NoAction"],
+ "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "next_tables" : {
+ "process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
+ },
+ "default_entry" : {
+ "action_id" : 13,
+ "action_const" : false,
+ "action_data" : [],
+ "action_entry_const" : false
+ }
+ },
+ {
+ "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "id" : 9,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [15],
+ "actions" : ["process_int_transit.int_update_total_hop_cnt"],
+ "base_default_next" : "node_18",
+ "next_tables" : {
+ "process_int_transit.int_update_total_hop_cnt" : "node_18"
+ },
+ "default_entry" : {
+ "action_id" : 15,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_process_int_outer_encap_int_update_ipv4",
+ "id" : 10,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [49],
+ "actions" : ["process_int_outer_encap.int_update_ipv4"],
+ "base_default_next" : "node_20",
+ "next_tables" : {
+ "process_int_outer_encap.int_update_ipv4" : "node_20"
+ },
+ "default_entry" : {
+ "action_id" : 49,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_process_int_outer_encap_int_update_udp",
+ "id" : 11,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [50],
+ "actions" : ["process_int_outer_encap.int_update_udp"],
+ "base_default_next" : "node_22",
+ "next_tables" : {
+ "process_int_outer_encap.int_update_udp" : "node_22"
+ },
+ "default_entry" : {
+ "action_id" : 50,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_process_int_sink_int_sink",
+ "id" : 12,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [51],
+ "actions" : ["process_int_sink.int_sink"],
+ "base_default_next" : "tbl_process_int_sink_restore_port",
+ "next_tables" : {
+ "process_int_sink.int_sink" : "tbl_process_int_sink_restore_port"
+ },
+ "default_entry" : {
+ "action_id" : 51,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_process_int_sink_restore_port",
+ "id" : 13,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [52],
+ "actions" : ["process_int_sink.restore_port"],
+ "base_default_next" : "tbl_act_1",
+ "next_tables" : {
+ "process_int_sink.restore_port" : "tbl_act_1"
+ },
+ "default_entry" : {
+ "action_id" : 52,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_1",
+ "id" : 14,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [54],
+ "actions" : ["act_2"],
+ "base_default_next" : "node_26",
+ "next_tables" : {
+ "act_2" : "node_26"
+ },
+ "default_entry" : {
+ "action_id" : 54,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_2",
+ "id" : 15,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [53],
+ "actions" : ["act_1"],
+ "base_default_next" : null,
+ "next_tables" : {
+ "act_1" : null
+ },
+ "default_entry" : {
+ "action_id" : 53,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ }
+ ],
+ "action_profiles" : [],
+ "conditionals" : [
+ {
+ "name" : "node_11",
+ "id" : 2,
+ "source_info" : {
+ "filename" : "int.p4",
+ "line" : 55,
+ "column" : 12,
+ "source_fragment" : "standard_metadata.ingress_port != CPU_PORT && ..."
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "and",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "and",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "!=",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x00ff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "!=",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x00ff"
+ }
+ }
+ }
+ }
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "field",
+ "value" : ["udp", "$valid$"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ }
+ }
+ },
+ "true_next" : "process_int_source.tb_int_source",
+ "false_next" : "tbl_act_1"
+ },
+ {
+ "name" : "node_13",
+ "id" : 3,
+ "source_info" : {
+ "filename" : "int.p4",
+ "line" : 59,
+ "column" : 15,
+ "source_fragment" : "hdr.udp.dst_port == INT_PORT"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "field",
+ "value" : ["udp", "dst_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xd431"
+ }
+ }
+ },
+ "true_next" : "process_int_transit.tb_int_insert",
+ "false_next" : "tbl_act_1"
+ },
+ {
+ "name" : "node_18",
+ "id" : 4,
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 314,
+ "column" : 12,
+ "source_fragment" : "hdr.ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "field",
+ "value" : ["ipv4", "$valid$"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
+ "false_next" : "node_20"
+ },
+ {
+ "name" : "node_20",
+ "id" : 5,
+ "source_info" : {
+ "filename" : "./include/int_transit.p4",
+ "line" : 318,
+ "column" : 12,
+ "source_fragment" : "hdr.intl4_shim.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "field",
+ "value" : ["intl4_shim", "$valid$"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "true_next" : "tbl_process_int_outer_encap_int_update_udp",
+ "false_next" : "node_22"
+ },
+ {
+ "name" : "node_22",
+ "id" : 6,
+ "source_info" : {
+ "filename" : "./include/int_sink.p4",
+ "line" : 44,
+ "column" : 12,
+ "source_fragment" : "local_metadata.int_meta.sink == 1"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "field",
+ "value" : ["int_meta", "sink"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "true_next" : "tbl_process_int_sink_int_sink",
+ "false_next" : "tbl_act_1"
+ },
+ {
+ "name" : "node_26",
+ "id" : 7,
+ "source_info" : {
+ "filename" : "./include/packet_io.p4",
+ "line" : 37,
+ "column" : 12,
+ "source_fragment" : "standard_metadata.egress_port == CPU_PORT"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x00ff"
+ }
+ }
+ },
+ "false_next" : null,
+ "true_next" : "tbl_act_2"
+ }
+ ]
+ }
+ ],
+ "checksums" : [],
+ "force_arith" : [],
+ "extern_instances" : [],
+ "field_aliases" : [
+ [
+ "queueing_metadata.enq_timestamp",
+ ["standard_metadata", "enq_timestamp"]
+ ],
+ [
+ "queueing_metadata.enq_qdepth",
+ ["standard_metadata", "enq_qdepth"]
+ ],
+ [
+ "queueing_metadata.deq_timedelta",
+ ["standard_metadata", "deq_timedelta"]
+ ],
+ [
+ "queueing_metadata.deq_qdepth",
+ ["standard_metadata", "deq_qdepth"]
+ ],
+ [
+ "intrinsic_metadata.ingress_global_timestamp",
+ ["standard_metadata", "ingress_global_timestamp"]
+ ],
+ [
+ "intrinsic_metadata.lf_field_list",
+ ["standard_metadata", "lf_field_list"]
+ ],
+ [
+ "intrinsic_metadata.mcast_grp",
+ ["standard_metadata", "mcast_grp"]
+ ],
+ [
+ "intrinsic_metadata.resubmit_flag",
+ ["standard_metadata", "resubmit_flag"]
+ ],
+ [
+ "intrinsic_metadata.egress_rid",
+ ["standard_metadata", "egress_rid"]
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/pipelines/basic/src/main/resources/p4c-out/bmv2/int.p4info b/pipelines/basic/src/main/resources/p4c-out/bmv2/int.p4info
new file mode 100644
index 0000000..cf2ad55
--- /dev/null
+++ b/pipelines/basic/src/main/resources/p4c-out/bmv2/int.p4info
@@ -0,0 +1,844 @@
+tables {
+ preamble {
+ id: 33571508
+ name: "table0_control.table0"
+ alias: "table0"
+ }
+ match_fields {
+ id: 1
+ name: "standard_metadata.ingress_port"
+ bitwidth: 9
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 2
+ name: "hdr.ethernet.src_addr"
+ bitwidth: 48
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 3
+ name: "hdr.ethernet.dst_addr"
+ bitwidth: 48
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 4
+ name: "hdr.ethernet.ether_type"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 5
+ name: "hdr.ipv4.src_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 6
+ name: "hdr.ipv4.dst_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 7
+ name: "hdr.ipv4.protocol"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 8
+ name: "local_metadata.l4_src_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 9
+ name: "local_metadata.l4_dst_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ action_refs {
+ id: 16794308
+ }
+ action_refs {
+ id: 16829080
+ }
+ action_refs {
+ id: 16802895
+ }
+ action_refs {
+ id: 16784184
+ }
+ const_default_action_id: 16784184
+ direct_resource_ids: 302046050
+ size: 1024
+}
+tables {
+ preamble {
+ id: 33573105
+ name: "process_set_source_sink.tb_set_source"
+ alias: "tb_set_source"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.ipv4.src_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 2
+ name: "hdr.ipv4.dst_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 3
+ name: "local_metadata.l4_src_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 4
+ name: "local_metadata.l4_dst_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ action_refs {
+ id: 16816387
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 302036180
+ size: 1024
+}
+tables {
+ preamble {
+ id: 33590037
+ name: "process_set_source_sink.tb_set_sink"
+ alias: "tb_set_sink"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.ipv4.src_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 2
+ name: "hdr.ipv4.dst_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 3
+ name: "local_metadata.l4_src_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 4
+ name: "local_metadata.l4_dst_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ action_refs {
+ id: 16784579
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 302053848
+ size: 1024
+}
+tables {
+ preamble {
+ id: 33564814
+ name: "process_int_source.tb_int_source"
+ alias: "tb_int_source"
+ }
+ match_fields {
+ id: 1
+ name: "local_metadata.int_meta.sink"
+ bitwidth: 1
+ match_type: EXACT
+ }
+ match_fields {
+ id: 2
+ name: "local_metadata.int_meta.source"
+ bitwidth: 1
+ match_type: EXACT
+ }
+ match_fields {
+ id: 3
+ name: "hdr.ipv4.src_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 4
+ name: "hdr.ipv4.dst_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 5
+ name: "local_metadata.l4_src_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 6
+ name: "local_metadata.l4_dst_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ action_refs {
+ id: 16841774
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 302000881
+ size: 1024
+}
+tables {
+ preamble {
+ id: 33600740
+ name: "process_int_transit.tb_int_insert"
+ alias: "tb_int_insert"
+ }
+ match_fields {
+ id: 1
+ name: "local_metadata.int_meta.sink"
+ bitwidth: 1
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16789590
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 302042285
+ size: 2
+}
+tables {
+ preamble {
+ id: 33618009
+ name: "process_int_transit.tb_int_inst_0003"
+ alias: "tb_int_inst_0003"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.int_header.instruction_mask_0003"
+ bitwidth: 4
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16828526
+ }
+ action_refs {
+ id: 16836578
+ }
+ action_refs {
+ id: 16814467
+ }
+ action_refs {
+ id: 16821517
+ }
+ action_refs {
+ id: 16840381
+ }
+ action_refs {
+ id: 16781880
+ }
+ action_refs {
+ id: 16777709
+ }
+ action_refs {
+ id: 16833199
+ }
+ action_refs {
+ id: 16837746
+ }
+ action_refs {
+ id: 16779495
+ }
+ action_refs {
+ id: 16816340
+ }
+ action_refs {
+ id: 16824234
+ }
+ action_refs {
+ id: 16818993
+ }
+ action_refs {
+ id: 16794339
+ }
+ action_refs {
+ id: 16812675
+ }
+ action_refs {
+ id: 16819981
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 301996916
+ size: 16
+}
+tables {
+ preamble {
+ id: 33609974
+ name: "process_int_transit.tb_int_inst_0407"
+ alias: "tb_int_inst_0407"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.int_header.instruction_mask_0407"
+ bitwidth: 4
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16810351
+ }
+ action_refs {
+ id: 16803354
+ }
+ action_refs {
+ id: 16795736
+ }
+ action_refs {
+ id: 16788717
+ }
+ action_refs {
+ id: 16809154
+ }
+ action_refs {
+ id: 16832591
+ }
+ action_refs {
+ id: 16791085
+ }
+ action_refs {
+ id: 16814496
+ }
+ action_refs {
+ id: 16838516
+ }
+ action_refs {
+ id: 16796409
+ }
+ action_refs {
+ id: 16828750
+ }
+ action_refs {
+ id: 16788965
+ }
+ action_refs {
+ id: 16813720
+ }
+ action_refs {
+ id: 16802606
+ }
+ action_refs {
+ id: 16828339
+ }
+ action_refs {
+ id: 16816215
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 302022203
+ size: 16
+}
+actions {
+ preamble {
+ id: 16794308
+ name: "set_egress_port"
+ alias: "set_egress_port"
+ }
+ params {
+ id: 1
+ name: "port"
+ bitwidth: 9
+ }
+}
+actions {
+ preamble {
+ id: 16829080
+ name: "send_to_cpu"
+ alias: "send_to_cpu"
+ }
+}
+actions {
+ preamble {
+ id: 16784184
+ name: "_drop"
+ alias: "_drop"
+ }
+}
+actions {
+ preamble {
+ id: 16800567
+ name: "NoAction"
+ alias: "NoAction"
+ }
+}
+actions {
+ preamble {
+ id: 16802895
+ name: "table0_control.set_next_hop_id"
+ alias: "set_next_hop_id"
+ }
+ params {
+ id: 1
+ name: "next_hop_id"
+ bitwidth: 16
+ }
+}
+actions {
+ preamble {
+ id: 16816387
+ name: "process_set_source_sink.int_set_source"
+ alias: "int_set_source"
+ }
+}
+actions {
+ preamble {
+ id: 16784579
+ name: "process_set_source_sink.int_set_sink"
+ alias: "int_set_sink"
+ }
+}
+actions {
+ preamble {
+ id: 16841774
+ name: "process_int_source.int_source"
+ alias: "int_source"
+ }
+ params {
+ id: 1
+ name: "max_hop"
+ bitwidth: 8
+ }
+ params {
+ id: 2
+ name: "ins_cnt"
+ bitwidth: 5
+ }
+ params {
+ id: 3
+ name: "ins_mask0003"
+ bitwidth: 4
+ }
+ params {
+ id: 4
+ name: "ins_mask0407"
+ bitwidth: 4
+ }
+}
+actions {
+ preamble {
+ id: 16793257
+ name: "process_int_transit.int_update_total_hop_cnt"
+ alias: "int_update_total_hop_cnt"
+ }
+}
+actions {
+ preamble {
+ id: 16789590
+ name: "process_int_transit.int_transit"
+ alias: "int_transit"
+ }
+ params {
+ id: 1
+ name: "switch_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16828526
+ name: "process_int_transit.int_set_header_0003_i0"
+ alias: "int_set_header_0003_i0"
+ }
+}
+actions {
+ preamble {
+ id: 16836578
+ name: "process_int_transit.int_set_header_0003_i1"
+ alias: "int_set_header_0003_i1"
+ }
+}
+actions {
+ preamble {
+ id: 16814467
+ name: "process_int_transit.int_set_header_0003_i2"
+ alias: "int_set_header_0003_i2"
+ }
+}
+actions {
+ preamble {
+ id: 16821517
+ name: "process_int_transit.int_set_header_0003_i3"
+ alias: "int_set_header_0003_i3"
+ }
+}
+actions {
+ preamble {
+ id: 16840381
+ name: "process_int_transit.int_set_header_0003_i4"
+ alias: "int_set_header_0003_i4"
+ }
+}
+actions {
+ preamble {
+ id: 16781880
+ name: "process_int_transit.int_set_header_0003_i5"
+ alias: "int_set_header_0003_i5"
+ }
+}
+actions {
+ preamble {
+ id: 16777709
+ name: "process_int_transit.int_set_header_0003_i6"
+ alias: "int_set_header_0003_i6"
+ }
+}
+actions {
+ preamble {
+ id: 16833199
+ name: "process_int_transit.int_set_header_0003_i7"
+ alias: "int_set_header_0003_i7"
+ }
+}
+actions {
+ preamble {
+ id: 16837746
+ name: "process_int_transit.int_set_header_0003_i8"
+ alias: "int_set_header_0003_i8"
+ }
+}
+actions {
+ preamble {
+ id: 16779495
+ name: "process_int_transit.int_set_header_0003_i9"
+ alias: "int_set_header_0003_i9"
+ }
+}
+actions {
+ preamble {
+ id: 16816340
+ name: "process_int_transit.int_set_header_0003_i10"
+ alias: "int_set_header_0003_i10"
+ }
+}
+actions {
+ preamble {
+ id: 16824234
+ name: "process_int_transit.int_set_header_0003_i11"
+ alias: "int_set_header_0003_i11"
+ }
+}
+actions {
+ preamble {
+ id: 16818993
+ name: "process_int_transit.int_set_header_0003_i12"
+ alias: "int_set_header_0003_i12"
+ }
+}
+actions {
+ preamble {
+ id: 16794339
+ name: "process_int_transit.int_set_header_0003_i13"
+ alias: "int_set_header_0003_i13"
+ }
+}
+actions {
+ preamble {
+ id: 16812675
+ name: "process_int_transit.int_set_header_0003_i14"
+ alias: "int_set_header_0003_i14"
+ }
+}
+actions {
+ preamble {
+ id: 16819981
+ name: "process_int_transit.int_set_header_0003_i15"
+ alias: "int_set_header_0003_i15"
+ }
+}
+actions {
+ preamble {
+ id: 16810351
+ name: "process_int_transit.int_set_header_0407_i0"
+ alias: "int_set_header_0407_i0"
+ }
+}
+actions {
+ preamble {
+ id: 16803354
+ name: "process_int_transit.int_set_header_0407_i1"
+ alias: "int_set_header_0407_i1"
+ }
+}
+actions {
+ preamble {
+ id: 16795736
+ name: "process_int_transit.int_set_header_0407_i2"
+ alias: "int_set_header_0407_i2"
+ }
+}
+actions {
+ preamble {
+ id: 16788717
+ name: "process_int_transit.int_set_header_0407_i3"
+ alias: "int_set_header_0407_i3"
+ }
+}
+actions {
+ preamble {
+ id: 16809154
+ name: "process_int_transit.int_set_header_0407_i4"
+ alias: "int_set_header_0407_i4"
+ }
+}
+actions {
+ preamble {
+ id: 16832591
+ name: "process_int_transit.int_set_header_0407_i5"
+ alias: "int_set_header_0407_i5"
+ }
+}
+actions {
+ preamble {
+ id: 16791085
+ name: "process_int_transit.int_set_header_0407_i6"
+ alias: "int_set_header_0407_i6"
+ }
+}
+actions {
+ preamble {
+ id: 16814496
+ name: "process_int_transit.int_set_header_0407_i7"
+ alias: "int_set_header_0407_i7"
+ }
+}
+actions {
+ preamble {
+ id: 16838516
+ name: "process_int_transit.int_set_header_0407_i8"
+ alias: "int_set_header_0407_i8"
+ }
+}
+actions {
+ preamble {
+ id: 16796409
+ name: "process_int_transit.int_set_header_0407_i9"
+ alias: "int_set_header_0407_i9"
+ }
+}
+actions {
+ preamble {
+ id: 16828750
+ name: "process_int_transit.int_set_header_0407_i10"
+ alias: "int_set_header_0407_i10"
+ }
+}
+actions {
+ preamble {
+ id: 16788965
+ name: "process_int_transit.int_set_header_0407_i11"
+ alias: "int_set_header_0407_i11"
+ }
+}
+actions {
+ preamble {
+ id: 16813720
+ name: "process_int_transit.int_set_header_0407_i12"
+ alias: "int_set_header_0407_i12"
+ }
+}
+actions {
+ preamble {
+ id: 16802606
+ name: "process_int_transit.int_set_header_0407_i13"
+ alias: "int_set_header_0407_i13"
+ }
+}
+actions {
+ preamble {
+ id: 16828339
+ name: "process_int_transit.int_set_header_0407_i14"
+ alias: "int_set_header_0407_i14"
+ }
+}
+actions {
+ preamble {
+ id: 16816215
+ name: "process_int_transit.int_set_header_0407_i15"
+ alias: "int_set_header_0407_i15"
+ }
+}
+actions {
+ preamble {
+ id: 16805940
+ name: "process_int_outer_encap.int_update_ipv4"
+ alias: "int_update_ipv4"
+ }
+}
+actions {
+ preamble {
+ id: 16797634
+ name: "process_int_outer_encap.int_update_udp"
+ alias: "int_update_udp"
+ }
+}
+actions {
+ preamble {
+ id: 16826281
+ name: "process_int_sink.int_sink"
+ alias: "int_sink"
+ }
+}
+actions {
+ preamble {
+ id: 16792548
+ name: "process_int_sink.restore_port"
+ alias: "restore_port"
+ }
+}
+counters {
+ preamble {
+ id: 302012579
+ name: "port_counters_ingress.ingress_port_counter"
+ alias: "ingress_port_counter"
+ }
+ spec {
+ unit: PACKETS
+ }
+ size: 511
+}
+counters {
+ preamble {
+ id: 302012501
+ name: "port_counters_egress.egress_port_counter"
+ alias: "egress_port_counter"
+ }
+ spec {
+ unit: PACKETS
+ }
+ size: 511
+}
+direct_counters {
+ preamble {
+ id: 302046050
+ name: "table0_control.table0_counter"
+ alias: "table0_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33571508
+}
+direct_counters {
+ preamble {
+ id: 302036180
+ name: "process_set_source_sink.counter_set_source"
+ alias: "counter_set_source"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33573105
+}
+direct_counters {
+ preamble {
+ id: 302053848
+ name: "process_set_source_sink.counter_set_sink"
+ alias: "counter_set_sink"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33590037
+}
+direct_counters {
+ preamble {
+ id: 302000881
+ name: "process_int_source.counter_int_source"
+ alias: "counter_int_source"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33564814
+}
+direct_counters {
+ preamble {
+ id: 302042285
+ name: "process_int_transit.counter_int_insert"
+ alias: "counter_int_insert"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33600740
+}
+direct_counters {
+ preamble {
+ id: 301996916
+ name: "process_int_transit.counter_int_inst_0003"
+ alias: "counter_int_inst_0003"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33618009
+}
+direct_counters {
+ preamble {
+ id: 302022203
+ name: "process_int_transit.counter_int_inst_0407"
+ alias: "counter_int_inst_0407"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33609974
+}
+controller_packet_metadata {
+ preamble {
+ id: 2868941301
+ name: "packet_in"
+ annotations: "@controller_header(\"packet_in\")"
+ }
+ metadata {
+ id: 1
+ name: "ingress_port"
+ bitwidth: 9
+ }
+}
+controller_packet_metadata {
+ preamble {
+ id: 2868916615
+ name: "packet_out"
+ annotations: "@controller_header(\"packet_out\")"
+ }
+ metadata {
+ id: 1
+ name: "egress_port"
+ bitwidth: 9
+ }
+}