Refactor fabric.p4 INT support to allow compilation on more P4 targets
Also use constant entries for instruction mask tables to avoid
programming them at runtime.
Change-Id: Ia1ab1ecd42a433daec171f9a30bcdba3b8484061
diff --git a/pipelines/fabric/src/main/resources/Makefile b/pipelines/fabric/src/main/resources/Makefile
index 508bb1d..a83bc0f 100644
--- a/pipelines/fabric/src/main/resources/Makefile
+++ b/pipelines/fabric/src/main/resources/Makefile
@@ -7,10 +7,11 @@
@./bmv2-compile.sh "fabric-spgw" "-DWITH_SPGW"
fabric-int:
- @./bmv2-compile.sh "fabric-int" "-DWITH_INT"
+ @./bmv2-compile.sh "fabric-int" "-DWITH_INT_SOURCE -DWITH_INT_TRANSIT"
fabric-full:
- @./bmv2-compile.sh "fabric-full" "-DWITH_MULTICAST -DWITH_IPV6 -DWITH_SPGW -DWITH_INT"
+ @./bmv2-compile.sh "fabric-full" "-DWITH_MULTICAST -DWITH_IPV6 -DWITH_SPGW \
+ -DWITH_INT_SOURCE -DWITH_INT_TRANSIT -DWITH_INT_SINK"
constants:
onos-gen-p4-constants \
diff --git a/pipelines/fabric/src/main/resources/fabric.p4 b/pipelines/fabric/src/main/resources/fabric.p4
index 6ef205b..0aee32b 100644
--- a/pipelines/fabric/src/main/resources/fabric.p4
+++ b/pipelines/fabric/src/main/resources/fabric.p4
@@ -34,10 +34,7 @@
#endif // WITH_SPGW
#ifdef WITH_INT
-#include "include/int_source.p4"
-#include "include/int_transit.p4"
-#include "include/int_sink.p4"
-#include "include/int_report.p4"
+#include "include/int/int_main.p4"
#endif // WITH_INT
control FabricIngress (
@@ -70,16 +67,11 @@
forwarding.apply(hdr, fabric_metadata, standard_metadata);
next.apply(hdr, fabric_metadata, standard_metadata);
#ifdef WITH_PORT_COUNTER
+ // FIXME: we're not counting pkts punted to cpu or forwarded via multicast groups.
port_counters_control.apply(hdr, fabric_metadata, standard_metadata);
#endif // WITH_PORT_COUNTER
-#ifdef WITH_INT
+#if defined(WITH_INT_SOURCE) || defined(WITH_INT_SINK)
process_set_source_sink.apply(hdr, fabric_metadata, standard_metadata);
- if(fabric_metadata.int_meta.sink == 1) {
- // clone packet for Telemetry Report
- #ifdef __TARGET_BMV2__
- clone(CloneType.I2E, REPORT_MIRROR_SESSION_ID);
- #endif
- }
#endif
}
}
@@ -98,26 +90,7 @@
fabric_metadata.spgw, standard_metadata);
#endif // WITH_SPGW
#ifdef WITH_INT
- if (standard_metadata.ingress_port != CPU_PORT &&
- standard_metadata.egress_port != CPU_PORT &&
- (hdr.udp.isValid() || hdr.tcp.isValid())) {
- if (fabric_metadata.int_meta.source == 1) {
- process_int_source.apply(hdr, fabric_metadata, standard_metadata);
- }
- if(hdr.int_header.isValid()) {
- process_int_transit.apply(hdr, fabric_metadata, standard_metadata);
- // update underlay header based on INT information inserted
- process_int_outer_encap.apply(hdr, fabric_metadata, standard_metadata);
- if (standard_metadata.instance_type == PKT_INSTANCE_TYPE_INGRESS_CLONE) {
- /* send int report */
- process_int_report.apply(hdr, fabric_metadata, standard_metadata);
- }
- if (fabric_metadata.int_meta.sink == 1) {
- // int sink
- process_int_sink.apply(hdr, fabric_metadata, standard_metadata);
- }
- }
- }
+ process_int_main.apply(hdr, fabric_metadata, standard_metadata);
#endif
}
}
diff --git a/pipelines/fabric/src/main/resources/include/control/packetio.p4 b/pipelines/fabric/src/main/resources/include/control/packetio.p4
index 1086dac..a77d82a 100644
--- a/pipelines/fabric/src/main/resources/include/control/packetio.p4
+++ b/pipelines/fabric/src/main/resources/include/control/packetio.p4
@@ -26,6 +26,7 @@
standard_metadata.egress_spec = hdr.packet_out.egress_port;
hdr.packet_out.setInvalid();
fabric_metadata.is_controller_packet_out = _TRUE;
+ // No need for ingress processing, straight to egress.
exit;
}
}
@@ -41,7 +42,7 @@
}
apply {
if (fabric_metadata.is_controller_packet_out == _TRUE) {
- // No need to process through the rest of the pipeline.
+ // Transmit right away.
exit;
}
if (standard_metadata.egress_port == CPU_PORT) {
diff --git a/pipelines/fabric/src/main/resources/include/define.p4 b/pipelines/fabric/src/main/resources/include/define.p4
index 77808bd..26d3167 100644
--- a/pipelines/fabric/src/main/resources/include/define.p4
+++ b/pipelines/fabric/src/main/resources/include/define.p4
@@ -19,6 +19,10 @@
#define MAX_PORTS 511
+#if defined(WITH_INT_SOURCE) || defined(WITH_INT_TRANSIT) || defined(WITH_INT_SINK)
+#define WITH_INT
+#endif
+
#ifndef _BOOL
#define _BOOL bool
#endif
@@ -68,8 +72,6 @@
typedef bit<48> mac_addr_t;
typedef bit<16> group_id_t;
typedef bit<12> vlan_id_t;
-typedef bit<48> timestamp_t;
-typedef bit<32> switch_id_t;
typedef bit<32> ipv4_addr_t;
typedef bit<16> l4_port_t;
@@ -124,7 +126,10 @@
/* indicate INT at LSB of DSCP */
const bit<6> INT_DSCP = 0x1;
-const bit<8> INT_HEADER_LEN_WORD = 4;
+// Length of the whole INT header,
+// including shim and tail, excluding metadata stack.
+const bit<8> INT_HEADER_LEN_WORDS = 4;
+const bit<16> INT_HEADER_LEN_BYTES = 16;
const bit<8> CPU_MIRROR_SESSION_ID = 250;
const bit<32> REPORT_MIRROR_SESSION_ID = 500;
diff --git a/pipelines/fabric/src/main/resources/include/header.p4 b/pipelines/fabric/src/main/resources/include/header.p4
index 5591c11..46fa022 100644
--- a/pipelines/fabric/src/main/resources/include/header.p4
+++ b/pipelines/fabric/src/main/resources/include/header.p4
@@ -18,6 +18,7 @@
#define __HEADER__
#include "define.p4"
+#include "int/int_header.p4"
@controller_header("packet_in")
header packet_in_header_t {
@@ -147,122 +148,6 @@
}
#endif // WITH_SPGW
-#ifdef WITH_INT
-// Report Telemetry Headers
-header report_fixed_header_t {
- bit<4> ver;
- bit<4> nproto;
- bit<1> d;
- bit<1> q;
- bit<1> f;
- bit<15> rsvd;
- bit<6> hw_id;
- bit<32> seq_no;
- bit<32> ingress_tstamp;
-}
-
-// Telemetry drop report header
-header drop_report_header_t {
- bit<32> switch_id;
- bit<16> ingress_port_id;
- bit<16> egress_port_id;
- bit<8> queue_id;
- bit<8> drop_reason;
- bit<16> pad;
-}
-
-// Switch Local Report Header
-header local_report_header_t {
- bit<32> switch_id;
- bit<16> ingress_port_id;
- bit<16> egress_port_id;
- bit<8> queue_id;
- bit<24> queue_occupancy;
- bit<32> egress_tstamp;
-}
-
-header_union local_report_t {
- drop_report_header_t drop_report_header;
- local_report_header_t local_report_header;
-}
-
-// INT headers
-header int_header_t {
- bit<2> ver;
- bit<2> rep;
- bit<1> c;
- bit<1> e;
- bit<5> rsvd1;
- bit<5> ins_cnt;
- bit<8> max_hop_cnt;
- bit<8> total_hop_cnt;
- bit<4> instruction_mask_0003; /* split the bits for lookup */
- bit<4> instruction_mask_0407;
- bit<4> instruction_mask_0811;
- bit<4> instruction_mask_1215;
- bit<16> rsvd2;
-}
-
-// INT meta-value headers - different header for each value type
-header int_switch_id_t {
- bit<32> switch_id;
-}
-header int_port_ids_t {
- bit<16> ingress_port_id;
- bit<16> egress_port_id;
-}
-header int_hop_latency_t {
- bit<32> hop_latency;
-}
-header int_q_occupancy_t {
- bit<8> q_id;
- bit<24> q_occupancy;
-}
-header int_ingress_tstamp_t {
- bit<32> ingress_tstamp;
-}
-header int_egress_tstamp_t {
- bit<32> egress_tstamp;
-}
-header int_q_congestion_t {
- bit<8> q_id;
- bit<24> q_congestion;
-}
-header int_egress_port_tx_util_t {
- bit<32> egress_port_tx_util;
-}
-
-header int_data_t {
- // Maximum int metadata stack size in bits:
- // (0xFF -4) * 32 (excluding INT shim header, tail header and INT header)
- varbit<8032> data;
-}
-
-/* INT shim header for TCP/UDP */
-header intl4_shim_t {
- bit<8> int_type;
- bit<8> rsvd1;
- bit<8> len;
- bit<8> rsvd2;
-}
-/* INT tail header for TCP/UDP */
-header intl4_tail_t {
- bit<8> next_proto;
- bit<16> dest_port;
- bit<8> dscp;
-}
-
-struct int_metadata_t {
- switch_id_t switch_id;
- bit<16> insert_byte_cnt;
- bit<1> source;
- bit<1> sink;
- bit<8> mirror_id;
- bit<16> flow_id;
- bit<8> metadata_len;
-}
-#endif // WITH_INT
-
//Custom metadata definition
struct fabric_metadata_t {
fwd_type_t fwd_type;
@@ -279,7 +164,6 @@
#endif // WITH_SPGW
#ifdef WITH_INT
int_metadata_t int_meta;
- bool compute_checksum;
#endif // WITH_INT
}
@@ -304,18 +188,19 @@
icmp_t icmp;
packet_out_header_t packet_out;
packet_in_header_t packet_in;
-#ifdef WITH_INT
- // INT Report Encapsulation
+#ifdef WITH_INT_SINK
+ // INT Report encap
ethernet_t report_ethernet;
ipv4_t report_ipv4;
udp_t report_udp;
- // INT Report Headers
+ // INT Report header (support only fixed)
report_fixed_header_t report_fixed_header;
- local_report_t report_local;
+ // local_report_t report_local;
+#endif // WITH_INT_SINK
+#ifdef WITH_INT
// INT specific headers
intl4_shim_t intl4_shim;
int_header_t int_header;
- int_data_t int_data;
int_switch_id_t int_switch_id;
int_port_ids_t int_port_ids;
int_hop_latency_t int_hop_latency;
@@ -324,6 +209,7 @@
int_egress_tstamp_t int_egress_tstamp;
int_q_congestion_t int_q_congestion;
int_egress_port_tx_util_t int_egress_tx_util;
+ int_data_t int_data;
intl4_tail_t intl4_tail;
#endif //WITH_INT
}
diff --git a/pipelines/fabric/src/main/resources/include/int/int_header.p4 b/pipelines/fabric/src/main/resources/include/int/int_header.p4
new file mode 100644
index 0000000..f339995
--- /dev/null
+++ b/pipelines/fabric/src/main/resources/include/int/int_header.p4
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2017-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __INT_HEADER__
+#define __INT_HEADER__
+
+#include "../define.p4"
+
+struct int_metadata_t {
+ _BOOL source;
+ _BOOL transit;
+ _BOOL sink;
+ bit<32> switch_id;
+ bit<8> new_words;
+ bit<16> new_bytes;
+}
+
+// INT headers - 8 bytes
+header int_header_t {
+ bit<2> ver;
+ bit<2> rep;
+ bit<1> c;
+ bit<1> e;
+ bit<5> rsvd1;
+ bit<5> ins_cnt;
+ bit<8> max_hop_cnt;
+ bit<8> total_hop_cnt;
+ bit<4> instruction_mask_0003; /* split the bits for lookup */
+ bit<4> instruction_mask_0407;
+ bit<4> instruction_mask_0811;
+ bit<4> instruction_mask_1215;
+ bit<16> rsvd2;
+}
+
+// INT shim header for TCP/UDP - 4 bytes
+header intl4_shim_t {
+ bit<8> int_type;
+ bit<8> rsvd1;
+ bit<8> len_words; // 4-byte words.
+ bit<8> rsvd2;
+}
+// INT tail header for TCP/UDP - 4 bytes
+header intl4_tail_t {
+ bit<8> next_proto;
+ bit<16> dest_port;
+ bit<2> padding;
+ bit<6> dscp;
+}
+
+header int_data_t {
+ // Maximum int metadata stack size in bits:
+ // (0xFF -4) * 32 (excluding INT shim header, tail header and INT header)
+ varbit<8032> data;
+}
+
+#ifdef WITH_INT_TRANSIT
+// INT meta-value headers - 4 bytes each
+// Different header for each value type
+header int_switch_id_t {
+ bit<32> switch_id;
+}
+header int_port_ids_t {
+ bit<16> ingress_port_id;
+ bit<16> egress_port_id;
+}
+header int_hop_latency_t {
+ bit<32> hop_latency;
+}
+header int_q_occupancy_t {
+ bit<8> q_id;
+ bit<24> q_occupancy;
+}
+header int_ingress_tstamp_t {
+ bit<32> ingress_tstamp;
+}
+header int_egress_tstamp_t {
+ bit<32> egress_tstamp;
+}
+header int_q_congestion_t {
+ bit<8> q_id;
+ bit<24> q_congestion;
+}
+header int_egress_port_tx_util_t {
+ bit<32> egress_port_tx_util;
+}
+#endif // WITH_INT_TRANSIT
+
+#ifdef WITH_INT_SINK
+// Report Telemetry Headers
+header report_fixed_header_t {
+ bit<4> ver;
+ bit<4> nproto;
+ bit<1> d;
+ bit<1> q;
+ bit<1> f;
+ bit<15> rsvd;
+ bit<6> hw_id;
+ bit<32> seq_no;
+ bit<32> ingress_tstamp;
+}
+
+// Telemetry drop report header
+header drop_report_header_t {
+ bit<32> switch_id;
+ bit<16> ingress_port_id;
+ bit<16> egress_port_id;
+ bit<8> queue_id;
+ bit<8> drop_reason;
+ bit<16> pad;
+}
+
+// Switch Local Report Header
+header local_report_header_t {
+ bit<32> switch_id;
+ bit<16> ingress_port_id;
+ bit<16> egress_port_id;
+ bit<8> queue_id;
+ bit<24> queue_occupancy;
+ bit<32> egress_tstamp;
+}
+
+header_union local_report_t {
+ drop_report_header_t drop_report_header;
+ local_report_header_t local_report_header;
+}
+#endif // WITH_INT_SINK
+
+#endif
diff --git a/pipelines/fabric/src/main/resources/include/int/int_main.p4 b/pipelines/fabric/src/main/resources/include/int/int_main.p4
new file mode 100644
index 0000000..ef81cc9
--- /dev/null
+++ b/pipelines/fabric/src/main/resources/include/int/int_main.p4
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2018-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* -*- P4_16 -*- */
+#ifndef __INT_MAIN__
+#define __INT_MAIN__
+
+#ifdef WITH_INT_SOURCE
+#include "int_source.p4"
+#endif // WITH_INT_SOURCE
+
+#ifdef WITH_INT_TRANSIT
+#include "int_transit.p4"
+#endif // WITH_INT_TRANSIT
+
+#ifdef WITH_INT_SINK
+#include "int_sink.p4"
+#include "int_report.p4"
+#endif // WITH_INT_SINK
+
+control process_set_source_sink (
+ inout parsed_headers_t hdr,
+ inout fabric_metadata_t fabric_metadata,
+ inout standard_metadata_t standard_metadata) {
+
+ direct_counter(CounterType.packets_and_bytes) counter_set_source;
+
+ action int_set_source () {
+ fabric_metadata.int_meta.source = _TRUE;
+ counter_set_source.count();
+ }
+
+ table tb_set_source {
+ key = {
+ standard_metadata.ingress_port: exact;
+ }
+ actions = {
+ int_set_source;
+ }
+ counters = counter_set_source;
+ size = MAX_PORTS;
+ }
+
+#ifdef WITH_INT_SINK
+ direct_counter(CounterType.packets_and_bytes) counter_set_sink;
+
+ action int_set_sink () {
+ fabric_metadata.int_meta.sink = _TRUE;
+ counter_set_sink.count();
+ }
+
+ table tb_set_sink {
+ key = {
+ standard_metadata.egress_spec: exact;
+ }
+ actions = {
+ int_set_sink;
+ }
+ counters = counter_set_sink;
+ size = MAX_PORTS;
+ }
+#endif // WITH_INT_SINK
+
+ apply {
+ tb_set_source.apply();
+
+#ifdef WITH_INT_SINK
+ tb_set_sink.apply();
+ if(fabric_metadata.int_meta.sink == _TRUE) {
+ // FIXME: this works only on BMv2
+ #ifdef __TARGET_BMV2__
+ clone(CloneType.I2E, REPORT_MIRROR_SESSION_ID);
+ #endif
+ }
+#endif // WITH_INT_SINK
+ }
+}
+
+control process_int_main (
+ inout parsed_headers_t hdr,
+ inout fabric_metadata_t fabric_metadata,
+ inout standard_metadata_t standard_metadata) {
+
+ apply {
+ if (standard_metadata.ingress_port != CPU_PORT &&
+ standard_metadata.egress_port != CPU_PORT &&
+ (hdr.udp.isValid() || hdr.tcp.isValid())) {
+#ifdef WITH_INT_SOURCE
+ if (fabric_metadata.int_meta.source == _TRUE) {
+ process_int_source.apply(hdr, fabric_metadata, standard_metadata);
+ }
+#endif // WITH_INT_SOURCE
+ if(hdr.int_header.isValid()) {
+#ifdef WITH_INT_TRANSIT
+ process_int_transit.apply(hdr, fabric_metadata, standard_metadata);
+#endif // WITH_INT_TRANSIT
+#ifdef WITH_INT_SINK
+ if (standard_metadata.instance_type == PKT_INSTANCE_TYPE_INGRESS_CLONE) {
+ /* send int report */
+ process_int_report.apply(hdr, fabric_metadata, standard_metadata);
+ }
+ if (fabric_metadata.int_meta.sink == _TRUE) {
+ // int sink
+ process_int_sink.apply(hdr, fabric_metadata);
+ }
+#endif // WITH_INT_SINK
+ }
+ }
+ }
+}
+#endif
diff --git a/pipelines/fabric/src/main/resources/include/int_report.p4 b/pipelines/fabric/src/main/resources/include/int/int_report.p4
similarity index 95%
rename from pipelines/fabric/src/main/resources/include/int_report.p4
rename to pipelines/fabric/src/main/resources/include/int/int_report.p4
index 6d7c29d..9326375 100644
--- a/pipelines/fabric/src/main/resources/include/int_report.p4
+++ b/pipelines/fabric/src/main/resources/include/int/int_report.p4
@@ -40,8 +40,7 @@
// TODO how save a variable and increment
hdr.report_fixed_header.seq_no = 0;
//TODO how to get timestamp from ingress ns
- hdr.report_fixed_header.ingress_tstamp =
- (bit<32>) standard_metadata.enq_timestamp;
+ hdr.report_fixed_header.ingress_tstamp = (bit<32>) standard_metadata.enq_timestamp;
}
action do_report_encapsulation(mac_addr_t src_mac, mac_addr_t mon_mac, ipv4_addr_t src_ip,
@@ -77,7 +76,6 @@
hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN +
(bit<16>) ETH_HEADER_LEN + hdr.ipv4.total_len;
- fabric_metadata.compute_checksum = true;
add_report_fixed_header();
}
diff --git a/pipelines/fabric/src/main/resources/include/int_sink.p4 b/pipelines/fabric/src/main/resources/include/int/int_sink.p4
similarity index 83%
rename from pipelines/fabric/src/main/resources/include/int_sink.p4
rename to pipelines/fabric/src/main/resources/include/int/int_sink.p4
index 4c272d6..6c64e32 100644
--- a/pipelines/fabric/src/main/resources/include/int_sink.p4
+++ b/pipelines/fabric/src/main/resources/include/int/int_sink.p4
@@ -20,17 +20,18 @@
control process_int_sink (
inout parsed_headers_t hdr,
- inout fabric_metadata_t fabric_metadata,
- inout standard_metadata_t standard_metadata) {
+ inout fabric_metadata_t fabric_metadata) {
+
action restore_header () {
hdr.udp.dst_port = hdr.intl4_tail.dest_port;
- hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp;
+ hdr.ipv4.dscp = hdr.intl4_tail.dscp;
}
action int_sink() {
// restore length fields of IPv4 header and UDP header
- hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2);
- hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2);
+ bit<16> len_bytes = (bit<16>) (hdr.intl4_shim.len_words << 5w2);
+ hdr.ipv4.total_len = hdr.ipv4.total_len - len_bytes;
+ hdr.udp.len = hdr.udp.len - len_bytes;
// remove all the INT information from the packet
hdr.int_header.setInvalid();
hdr.int_data.setInvalid();
@@ -51,4 +52,4 @@
int_sink();
}
}
-#endif
\ No newline at end of file
+#endif
diff --git a/pipelines/fabric/src/main/resources/include/int_source.p4 b/pipelines/fabric/src/main/resources/include/int/int_source.p4
similarity index 65%
rename from pipelines/fabric/src/main/resources/include/int_source.p4
rename to pipelines/fabric/src/main/resources/include/int/int_source.p4
index 57c2b79..245fe7e 100644
--- a/pipelines/fabric/src/main/resources/include/int_source.p4
+++ b/pipelines/fabric/src/main/resources/include/int/int_source.p4
@@ -27,13 +27,12 @@
direct_counter(CounterType.packets_and_bytes) counter_int_source;
action int_source(bit<8> max_hop, bit<5> ins_cnt, bit<4> ins_mask0003, bit<4> ins_mask0407) {
- // insert INT shim header
+ // Insert INT shim header.
hdr.intl4_shim.setValid();
// int_type: Hop-by-hop type (1) , destination type (2)
hdr.intl4_shim.int_type = 1;
- hdr.intl4_shim.len = INT_HEADER_LEN_WORD;
-
- // insert INT header
+ hdr.intl4_shim.len_words = INT_HEADER_LEN_WORDS;
+ // Insert INT header.
hdr.int_header.setValid();
hdr.int_header.ver = 0;
hdr.int_header.rep = 0;
@@ -47,20 +46,20 @@
hdr.int_header.instruction_mask_0407 = ins_mask0407;
hdr.int_header.instruction_mask_0811 = 0; // not supported
hdr.int_header.instruction_mask_1215 = 0; // not supported
-
- // insert INT tail header
+ // Insert INT tail header.
hdr.intl4_tail.setValid();
hdr.intl4_tail.next_proto = hdr.ipv4.protocol;
hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port;
- hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp;
-
- // add the header len (8 bytes) to total len
- hdr.ipv4.total_len = hdr.ipv4.total_len + 16;
- hdr.udp.len = hdr.udp.len + 16;
+ hdr.intl4_tail.dscp = hdr.ipv4.dscp;
+ // Update IP and UDP (if not valid we don't care) lens (in bytes).
+ hdr.ipv4.total_len = hdr.ipv4.total_len + INT_HEADER_LEN_BYTES;
+ hdr.udp.len = hdr.udp.len + INT_HEADER_LEN_BYTES;
}
+
action int_source_dscp(bit<8> max_hop, bit<5> ins_cnt, bit<4> ins_mask0003, bit<4> ins_mask0407) {
int_source(max_hop, ins_cnt, ins_mask0003, ins_mask0407);
hdr.ipv4.dscp = INT_DSCP;
+ counter_int_source.count();
}
table tb_int_source {
@@ -74,54 +73,10 @@
int_source_dscp;
}
counters = counter_int_source;
- size = 1024;
}
apply {
tb_int_source.apply();
}
}
-
-control process_set_source_sink (
- inout parsed_headers_t hdr,
- inout fabric_metadata_t fabric_metadata,
- inout standard_metadata_t standard_metadata) {
-
- direct_counter(CounterType.packets_and_bytes) counter_set_source;
- direct_counter(CounterType.packets_and_bytes) counter_set_sink;
-
- action int_set_source () {
- fabric_metadata.int_meta.source = 1;
- }
-
- action int_set_sink () {
- fabric_metadata.int_meta.sink = 1;
- }
-
- table tb_set_source {
- key = {
- standard_metadata.ingress_port: exact;
- }
- actions = {
- int_set_source;
- }
- counters = counter_set_source;
- size = 256;
- }
- table tb_set_sink {
- key = {
- standard_metadata.egress_spec: exact;
- }
- actions = {
- int_set_sink;
- }
- counters = counter_set_sink;
- size = 256;
- }
-
- apply {
- tb_set_source.apply();
- tb_set_sink.apply();
- }
-}
#endif
diff --git a/pipelines/fabric/src/main/resources/include/int/int_transit.p4 b/pipelines/fabric/src/main/resources/include/int/int_transit.p4
new file mode 100644
index 0000000..4d4568b
--- /dev/null
+++ b/pipelines/fabric/src/main/resources/include/int/int_transit.p4
@@ -0,0 +1,389 @@
+/*
+ * Copyright 2017-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* -*- P4_16 -*- */
+#ifndef __INT_TRANSIT__
+#define __INT_TRANSIT__
+control process_int_transit (
+ inout parsed_headers_t hdr,
+ inout fabric_metadata_t fmeta,
+ inout standard_metadata_t smeta) {
+
+ action init_metadata(bit<32> switch_id) {
+ fmeta.int_meta.transit = _TRUE;
+#ifdef _INT_INIT_METADATA
+ // Allow other targets to initialize INT metadata in their own way.
+ _INT_INIT_METADATA
+#else
+ fmeta.int_meta.switch_id = switch_id;
+#endif // _INT_INIT_METADATA
+ }
+
+#ifdef _INT_METADATA_ACTIONS
+ _INT_METADATA_ACTIONS
+#else
+ // Switch ID.
+ action int_set_header_0() {
+ hdr.int_switch_id.setValid();
+ hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id;
+ }
+ // Port IDs.
+ action int_set_header_1() {
+ hdr.int_port_ids.setValid();
+ hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port;
+ hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port;
+ }
+ // Hop latency.
+ action int_set_header_2() {
+ hdr.int_hop_latency.setValid();
+ hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta;
+ }
+ // Queue occupancy.
+ action int_set_header_3() {
+ hdr.int_q_occupancy.setValid();
+ // TODO: support queues in BMv2. ATM we assume only one.
+ hdr.int_q_occupancy.q_id = 8w0;
+ hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth;
+ }
+ // Ingress timestamp.
+ action int_set_header_4() {
+ hdr.int_ingress_tstamp.setValid();
+ hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp;
+ }
+ // Egress timestamp.
+ action int_set_header_5() {
+ hdr.int_egress_tstamp.setValid();
+ hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta;
+ }
+ // Queue congestion.
+ action int_set_header_6() {
+ hdr.int_q_congestion.setValid();
+ // TODO: support queue congestion.
+ hdr.int_q_congestion.q_id = 8w0;
+ hdr.int_q_congestion.q_congestion = 24w0;
+ }
+ // Egress port utilization.
+ action int_set_header_7() {
+ hdr.int_egress_tx_util.setValid();
+ // TODO: implement tx utilization support in BMv2.
+ hdr.int_egress_tx_util.egress_port_tx_util = 32w0;
+ }
+#endif // _INT_METADATA_ACTIONS
+
+ // Actions to keep track of the new metadata added.
+ action add_1() {
+ fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1;
+ fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4;
+ }
+
+ action add_2() {
+ fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2;
+ fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8;
+ }
+
+ action add_3() {
+ fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3;
+ fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12;
+ }
+
+ action add_4() {
+ fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4;
+ fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16;
+ }
+
+ // Action function for bits 0-3 combinations, 0 is msb, 3 is lsb.
+ // Each bit set indicates that corresponding INT header should be added.
+ action int_set_header_0003_i0() {
+ }
+ action int_set_header_0003_i1() {
+ int_set_header_3();
+ add_1();
+ }
+ action int_set_header_0003_i2() {
+ int_set_header_2();
+ add_1();
+ }
+ action int_set_header_0003_i3() {
+ int_set_header_3();
+ int_set_header_2();
+ add_2();
+ }
+ action int_set_header_0003_i4() {
+ int_set_header_1();
+ add_1();
+ }
+ action int_set_header_0003_i5() {
+ int_set_header_3();
+ int_set_header_1();
+ add_2();
+ }
+ action int_set_header_0003_i6() {
+ int_set_header_2();
+ int_set_header_1();
+ add_2();
+ }
+ action int_set_header_0003_i7() {
+ int_set_header_3();
+ int_set_header_2();
+ int_set_header_1();
+ add_3();
+ }
+ action int_set_header_0003_i8() {
+ int_set_header_0();
+ add_1();
+ }
+ action int_set_header_0003_i9() {
+ int_set_header_3();
+ int_set_header_0();
+ add_2();
+ }
+ action int_set_header_0003_i10() {
+ int_set_header_2();
+ int_set_header_0();
+ add_2();
+ }
+ action int_set_header_0003_i11() {
+ int_set_header_3();
+ int_set_header_2();
+ int_set_header_0();
+ add_3();
+ }
+ action int_set_header_0003_i12() {
+ int_set_header_1();
+ int_set_header_0();
+ add_2();
+ }
+ action int_set_header_0003_i13() {
+ int_set_header_3();
+ int_set_header_1();
+ int_set_header_0();
+ add_3();
+ }
+ action int_set_header_0003_i14() {
+ int_set_header_2();
+ int_set_header_1();
+ int_set_header_0();
+ add_3();
+ }
+ action int_set_header_0003_i15() {
+ int_set_header_3();
+ int_set_header_2();
+ int_set_header_1();
+ int_set_header_0();
+ add_4();
+ }
+
+ // Action function for bits 4-7 combinations, 4 is msb, 7 is lsb.
+ action int_set_header_0407_i0() {
+ }
+ action int_set_header_0407_i1() {
+ int_set_header_7();
+ add_1();
+ }
+ action int_set_header_0407_i2() {
+ int_set_header_6();
+ add_1();
+ }
+ action int_set_header_0407_i3() {
+ int_set_header_7();
+ int_set_header_6();
+ add_2();
+ }
+ action int_set_header_0407_i4() {
+ int_set_header_5();
+ add_1();
+ }
+ action int_set_header_0407_i5() {
+ int_set_header_7();
+ int_set_header_5();
+ add_2();
+ }
+ action int_set_header_0407_i6() {
+ int_set_header_6();
+ int_set_header_5();
+ add_2();
+ }
+ action int_set_header_0407_i7() {
+ int_set_header_7();
+ int_set_header_6();
+ int_set_header_5();
+ add_3();
+ }
+ action int_set_header_0407_i8() {
+ int_set_header_4();
+ add_1();
+ }
+ action int_set_header_0407_i9() {
+ int_set_header_7();
+ int_set_header_4();
+ add_2();
+ }
+ action int_set_header_0407_i10() {
+ int_set_header_6();
+ int_set_header_4();
+ add_2();
+ }
+ action int_set_header_0407_i11() {
+ int_set_header_7();
+ int_set_header_6();
+ int_set_header_4();
+ add_3();
+ }
+ action int_set_header_0407_i12() {
+ int_set_header_5();
+ int_set_header_4();
+ add_2();
+ }
+ action int_set_header_0407_i13() {
+ int_set_header_7();
+ int_set_header_5();
+ int_set_header_4();
+ add_3();
+ }
+ action int_set_header_0407_i14() {
+ int_set_header_6();
+ int_set_header_5();
+ int_set_header_4();
+ add_3();
+ }
+ action int_set_header_0407_i15() {
+ int_set_header_7();
+ int_set_header_6();
+ int_set_header_5();
+ int_set_header_4();
+ add_4();
+ }
+
+ // Default action used to set switch ID.
+ table tb_int_insert {
+ key = {}
+ actions = {
+ init_metadata;
+ }
+ size = 0;
+ }
+
+ // Table to process instruction bits 0-3.
+ table tb_int_inst_0003 {
+ key = {
+ hdr.int_header.instruction_mask_0003 : exact;
+ }
+ actions = {
+ int_set_header_0003_i0;
+ int_set_header_0003_i1;
+ int_set_header_0003_i2;
+ int_set_header_0003_i3;
+ int_set_header_0003_i4;
+ int_set_header_0003_i5;
+ int_set_header_0003_i6;
+ int_set_header_0003_i7;
+ int_set_header_0003_i8;
+ int_set_header_0003_i9;
+ int_set_header_0003_i10;
+ int_set_header_0003_i11;
+ int_set_header_0003_i12;
+ int_set_header_0003_i13;
+ int_set_header_0003_i14;
+ int_set_header_0003_i15;
+ }
+ size = 16;
+ const entries = {
+ (0x0) : int_set_header_0003_i0();
+ (0x1) : int_set_header_0003_i1();
+ (0x2) : int_set_header_0003_i2();
+ (0x3) : int_set_header_0003_i3();
+ (0x4) : int_set_header_0003_i4();
+ (0x5) : int_set_header_0003_i5();
+ (0x6) : int_set_header_0003_i6();
+ (0x7) : int_set_header_0003_i7();
+ (0x8) : int_set_header_0003_i8();
+ (0x9) : int_set_header_0003_i9();
+ (0xA) : int_set_header_0003_i10();
+ (0xB) : int_set_header_0003_i11();
+ (0xC) : int_set_header_0003_i12();
+ (0xD) : int_set_header_0003_i13();
+ (0xE) : int_set_header_0003_i14();
+ (0xF) : int_set_header_0003_i15();
+ }
+ }
+
+ // Table to process instruction bits 4-7.
+ table tb_int_inst_0407 {
+ key = {
+ hdr.int_header.instruction_mask_0407 : exact;
+ }
+ actions = {
+ int_set_header_0407_i0;
+ int_set_header_0407_i1;
+ int_set_header_0407_i2;
+ int_set_header_0407_i3;
+ int_set_header_0407_i4;
+ int_set_header_0407_i5;
+ int_set_header_0407_i6;
+ int_set_header_0407_i7;
+ int_set_header_0407_i8;
+ int_set_header_0407_i9;
+ int_set_header_0407_i10;
+ int_set_header_0407_i11;
+ int_set_header_0407_i12;
+ int_set_header_0407_i13;
+ int_set_header_0407_i14;
+ int_set_header_0407_i15;
+ }
+ size = 16;
+ const entries = {
+ (0x0) : int_set_header_0407_i0();
+ (0x1) : int_set_header_0407_i1();
+ (0x2) : int_set_header_0407_i2();
+ (0x3) : int_set_header_0407_i3();
+ (0x4) : int_set_header_0407_i4();
+ (0x5) : int_set_header_0407_i5();
+ (0x6) : int_set_header_0407_i6();
+ (0x7) : int_set_header_0407_i7();
+ (0x8) : int_set_header_0407_i8();
+ (0x9) : int_set_header_0407_i9();
+ (0xA) : int_set_header_0407_i10();
+ (0xB) : int_set_header_0407_i11();
+ (0xC) : int_set_header_0407_i12();
+ (0xD) : int_set_header_0407_i13();
+ (0xE) : int_set_header_0407_i14();
+ (0xF) : int_set_header_0407_i15();
+ }
+ }
+
+ apply {
+ tb_int_insert.apply();
+ if (fmeta.int_meta.transit == _FALSE) {
+ return;
+ }
+ tb_int_inst_0003.apply();
+ tb_int_inst_0407.apply();
+ // Increment hop cnt
+ hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1;
+ // Update headers lengths.
+ if (hdr.ipv4.isValid()) {
+ hdr.ipv4.total_len = hdr.ipv4.total_len + fmeta.int_meta.new_bytes;
+ }
+ if (hdr.udp.isValid()) {
+ hdr.udp.len = hdr.udp.len + fmeta.int_meta.new_bytes;
+ }
+ if (hdr.intl4_shim.isValid()) {
+ hdr.intl4_shim.len_words = hdr.intl4_shim.len_words + fmeta.int_meta.new_words;
+ }
+ }
+}
+
+#endif
diff --git a/pipelines/fabric/src/main/resources/include/int_transit.p4 b/pipelines/fabric/src/main/resources/include/int_transit.p4
deleted file mode 100644
index 3f863e8..0000000
--- a/pipelines/fabric/src/main/resources/include/int_transit.p4
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* -*- P4_16 -*- */
-#ifndef __INT_TRANSIT__
-#define __INT_TRANSIT__
-control process_int_transit (
- inout parsed_headers_t hdr,
- inout fabric_metadata_t fabric_metadata,
- inout standard_metadata_t standard_metadata) {
-
- direct_counter(CounterType.packets_and_bytes) counter_int_insert;
- direct_counter(CounterType.packets_and_bytes) counter_int_inst_0003;
- direct_counter(CounterType.packets_and_bytes) counter_int_inst_0407;
-
- action int_update_total_hop_cnt() {
- hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1;
- }
-
- action int_transit(switch_id_t switch_id) {
- fabric_metadata.int_meta.switch_id = switch_id;
- fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2;
- }
-
- /* Instr Bit 0 */
- action int_set_header_0() { //switch_id
- hdr.int_switch_id.setValid();
- hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id;
- }
- action int_set_header_1() { //port_ids
- hdr.int_port_ids.setValid();
- hdr.int_port_ids.ingress_port_id =
- (bit<16>) standard_metadata.ingress_port;
- hdr.int_port_ids.egress_port_id =
- (bit<16>) standard_metadata.egress_port;
- }
- action int_set_header_2() { //hop_latency
- hdr.int_hop_latency.setValid();
- hdr.int_hop_latency.hop_latency =
- (bit<32>) standard_metadata.deq_timedelta;
- }
- action int_set_header_3() { //q_occupancy
- // TODO: Support egress queue ID
- hdr.int_q_occupancy.setValid();
- hdr.int_q_occupancy.q_id =
- 0;
- // (bit<8>) standard_metadata.egress_qid;
- hdr.int_q_occupancy.q_occupancy =
- (bit<24>) standard_metadata.deq_qdepth;
- }
- action int_set_header_4() { //ingress_tstamp
- hdr.int_ingress_tstamp.setValid();
- hdr.int_ingress_tstamp.ingress_tstamp =
- (bit<32>) standard_metadata.enq_timestamp;
- }
- action int_set_header_5() { //egress_timestamp
- hdr.int_egress_tstamp.setValid();
- hdr.int_egress_tstamp.egress_tstamp =
- (bit<32>) standard_metadata.enq_timestamp +
- (bit<32>) standard_metadata.deq_timedelta;
- }
- action int_set_header_6() { //q_congestion
- // TODO: implement queue congestion support in BMv2
- // TODO: update egress queue ID
- hdr.int_q_congestion.setValid();
- hdr.int_q_congestion.q_id =
- 0;
- // (bit<8>) standard_metadata.egress_qid;
- hdr.int_q_congestion.q_congestion =
- // (bit<24>) queueing_metadata.deq_congestion;
- 0;
- }
- action int_set_header_7() { //egress_port_tx_utilization
- // TODO: implement tx utilization support in BMv2
- hdr.int_egress_tx_util.setValid();
- hdr.int_egress_tx_util.egress_port_tx_util =
- // (bit<32>) queueing_metadata.tx_utilization;
- 0;
- }
-
- /* action function for bits 0-3 combinations, 0 is msb, 3 is lsb */
- /* Each bit set indicates that corresponding INT header should be added */
- action int_set_header_0003_i0() {
- }
- action int_set_header_0003_i1() {
- int_set_header_3();
- }
- action int_set_header_0003_i2() {
- int_set_header_2();
- }
- action int_set_header_0003_i3() {
- int_set_header_3();
- int_set_header_2();
- }
- action int_set_header_0003_i4() {
- int_set_header_1();
- }
- action int_set_header_0003_i5() {
- int_set_header_3();
- int_set_header_1();
- }
- action int_set_header_0003_i6() {
- int_set_header_2();
- int_set_header_1();
- }
- action int_set_header_0003_i7() {
- int_set_header_3();
- int_set_header_2();
- int_set_header_1();
- }
- action int_set_header_0003_i8() {
- int_set_header_0();
- }
- action int_set_header_0003_i9() {
- int_set_header_3();
- int_set_header_0();
- }
- action int_set_header_0003_i10() {
- int_set_header_2();
- int_set_header_0();
- }
- action int_set_header_0003_i11() {
- int_set_header_3();
- int_set_header_2();
- int_set_header_0();
- }
- action int_set_header_0003_i12() {
- int_set_header_1();
- int_set_header_0();
- }
- action int_set_header_0003_i13() {
- int_set_header_3();
- int_set_header_1();
- int_set_header_0();
- }
- action int_set_header_0003_i14() {
- int_set_header_2();
- int_set_header_1();
- int_set_header_0();
- }
- action int_set_header_0003_i15() {
- int_set_header_3();
- int_set_header_2();
- int_set_header_1();
- int_set_header_0();
- }
-
- /* action function for bits 4-7 combinations, 4 is msb, 7 is lsb */
- action int_set_header_0407_i0() {
- }
- action int_set_header_0407_i1() {
- int_set_header_7();
- }
- action int_set_header_0407_i2() {
- int_set_header_6();
- }
- action int_set_header_0407_i3() {
- int_set_header_7();
- int_set_header_6();
- }
- action int_set_header_0407_i4() {
- int_set_header_5();
- }
- action int_set_header_0407_i5() {
- int_set_header_7();
- int_set_header_5();
- }
- action int_set_header_0407_i6() {
- int_set_header_6();
- int_set_header_5();
- }
- action int_set_header_0407_i7() {
- int_set_header_7();
- int_set_header_6();
- int_set_header_5();
- }
- action int_set_header_0407_i8() {
- int_set_header_4();
- }
- action int_set_header_0407_i9() {
- int_set_header_7();
- int_set_header_4();
- }
- action int_set_header_0407_i10() {
- int_set_header_6();
- int_set_header_4();
- }
- action int_set_header_0407_i11() {
- int_set_header_7();
- int_set_header_6();
- int_set_header_4();
- }
- action int_set_header_0407_i12() {
- int_set_header_5();
- int_set_header_4();
- }
- action int_set_header_0407_i13() {
- int_set_header_7();
- int_set_header_5();
- int_set_header_4();
- }
- action int_set_header_0407_i14() {
- int_set_header_6();
- int_set_header_5();
- int_set_header_4();
- }
- action int_set_header_0407_i15() {
- int_set_header_7();
- int_set_header_6();
- int_set_header_5();
- int_set_header_4();
- }
-
- table tb_int_insert {
- key = {}
- actions = {
- int_transit;
- }
- counters = counter_int_insert;
- size = 2;
- }
-
- /* Table to process instruction bits 0-3 */
- table tb_int_inst_0003 {
- key = {
- hdr.int_header.instruction_mask_0003 : exact;
- }
- actions = {
- int_set_header_0003_i0;
- int_set_header_0003_i1;
- int_set_header_0003_i2;
- int_set_header_0003_i3;
- int_set_header_0003_i4;
- int_set_header_0003_i5;
- int_set_header_0003_i6;
- int_set_header_0003_i7;
- int_set_header_0003_i8;
- int_set_header_0003_i9;
- int_set_header_0003_i10;
- int_set_header_0003_i11;
- int_set_header_0003_i12;
- int_set_header_0003_i13;
- int_set_header_0003_i14;
- int_set_header_0003_i15;
- }
- counters = counter_int_inst_0003;
- size = 16;
- }
-
- /* Table to process instruction bits 4-7 */
- table tb_int_inst_0407 {
- key = {
- hdr.int_header.instruction_mask_0407 : exact;
- }
- actions = {
- int_set_header_0407_i0;
- int_set_header_0407_i1;
- int_set_header_0407_i2;
- int_set_header_0407_i3;
- int_set_header_0407_i4;
- int_set_header_0407_i5;
- int_set_header_0407_i6;
- int_set_header_0407_i7;
- int_set_header_0407_i8;
- int_set_header_0407_i9;
- int_set_header_0407_i10;
- int_set_header_0407_i11;
- int_set_header_0407_i12;
- int_set_header_0407_i13;
- int_set_header_0407_i14;
- int_set_header_0407_i15;
- }
- counters = counter_int_inst_0407;
- size = 16;
- }
-
- apply {
- tb_int_insert.apply();
- tb_int_inst_0003.apply();
- tb_int_inst_0407.apply();
- int_update_total_hop_cnt();
- }
-}
-
-control process_int_outer_encap (
- inout parsed_headers_t hdr,
- inout fabric_metadata_t fabric_metadata,
- inout standard_metadata_t standard_metadata) {
-
- action int_update_ipv4() {
- hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt;
- }
- action int_update_udp() {
- hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt;
- }
- action int_update_shim() {
- hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt;
- }
-
- apply {
- if (hdr.ipv4.isValid()) {
- int_update_ipv4();
- }
- if (hdr.udp.isValid()) {
- int_update_udp();
- }
- if (hdr.intl4_shim.isValid()) {
- int_update_shim();
- }
- }
-}
-
-#endif
diff --git a/pipelines/fabric/src/main/resources/include/parser.p4 b/pipelines/fabric/src/main/resources/include/parser.p4
index 20c310c..3f77df9 100644
--- a/pipelines/fabric/src/main/resources/include/parser.p4
+++ b/pipelines/fabric/src/main/resources/include/parser.p4
@@ -25,6 +25,8 @@
inout fabric_metadata_t fabric_metadata,
inout standard_metadata_t standard_metadata) {
+ bit<6> last_ipv4_dscp = 0;
+
state start {
transition select(standard_metadata.ingress_port) {
CPU_PORT: parse_packet_out;
@@ -82,6 +84,7 @@
state parse_ipv4 {
packet.extract(hdr.ipv4);
fabric_metadata.ip_proto = hdr.ipv4.protocol;
+ last_ipv4_dscp = hdr.ipv4.dscp;
//Need header verification?
transition select(hdr.ipv4.protocol) {
PROTO_TCP: parse_tcp;
@@ -114,10 +117,7 @@
fabric_metadata.l4_src_port = hdr.tcp.src_port;
fabric_metadata.l4_dst_port = hdr.tcp.dst_port;
#ifdef WITH_INT
- transition select(hdr.ipv4.isValid() && ((hdr.ipv4.dscp & INT_DSCP) == INT_DSCP)) {
- true: parse_intl4_shim;
- default: accept;
- }
+ transition parse_int;
#else
transition accept;
#endif // WITH_INT
@@ -127,19 +127,16 @@
packet.extract(hdr.udp);
fabric_metadata.l4_src_port = hdr.udp.src_port;
fabric_metadata.l4_dst_port = hdr.udp.dst_port;
-#ifdef WITH_SPGW
transition select(hdr.udp.dst_port) {
+#ifdef WITH_SPGW
UDP_PORT_GTPU: parse_gtpu;
- default: accept;
- }
-#elif WITH_INT
- transition select(hdr.ipv4.isValid() && (hdr.ipv4.dscp & INT_DSCP) == INT_DSCP) {
- true: parse_intl4_shim;
- default: accept;
- }
+#endif // WITH_SPGW
+#ifdef WITH_INT
+ default: parse_int;
#else
- transition accept;
-#endif // WITH_SPGW, WITH_INT
+ default: accept;
+#endif // WITH_INT
+ }
}
state parse_icmp {
@@ -147,36 +144,6 @@
transition accept;
}
-#ifdef WITH_INT
- state parse_intl4_shim {
- packet.extract(hdr.intl4_shim);
- transition parse_int_header;
- }
-
- state parse_int_header {
- packet.extract(hdr.int_header);
- // If there is no INT metadata but the INT header (and corresponding shim header
- // and tail header) exists, default value of length field in shim header
- // should be INT_HEADER_LEN_WORD.
- fabric_metadata.int_meta.metadata_len = hdr.intl4_shim.len - INT_HEADER_LEN_WORD;
- transition select (fabric_metadata.int_meta.metadata_len) {
- 0: parse_intl4_tail;
- default: parse_int_data;
- }
- }
-
- state parse_int_data {
- // Parse INT metadata, not INT header, INT shim header and INT tail header
- packet.extract(hdr.int_data, (bit<32>) ((hdr.intl4_shim.len - INT_HEADER_LEN_WORD) << 5));
- transition parse_intl4_tail;
- }
-
- state parse_intl4_tail {
- packet.extract(hdr.intl4_tail);
- transition accept;
- }
-#endif // WITH_INT
-
#ifdef WITH_SPGW
state parse_gtpu {
transition select(hdr.ipv4.dst_addr[31:32-S1U_SGW_PREFIX_LEN]) {
@@ -196,6 +163,7 @@
state parse_inner_ipv4 {
packet.extract(hdr.inner_ipv4);
+ last_ipv4_dscp = hdr.inner_ipv4.dscp;
transition select(hdr.inner_ipv4.protocol) {
PROTO_TCP: parse_tcp;
PROTO_UDP: parse_inner_udp;
@@ -209,26 +177,63 @@
fabric_metadata.l4_src_port = hdr.inner_udp.src_port;
fabric_metadata.l4_dst_port = hdr.inner_udp.dst_port;
#ifdef WITH_INT
- transition select(hdr.ipv4.isValid() && (hdr.ipv4.dscp & INT_DSCP) == INT_DSCP) {
- true: parse_intl4_shim;
- default: accept;
- }
+ transition parse_int;
#else
transition accept;
#endif // WITH_INT
}
#endif // WITH_SPGW
+
+#ifdef WITH_INT
+ state parse_int {
+ transition select(last_ipv4_dscp) {
+ INT_DSCP &&& INT_DSCP: parse_intl4_shim;
+ default: accept;
+ }
+ }
+
+ state parse_intl4_shim {
+ packet.extract(hdr.intl4_shim);
+ transition parse_int_header;
+ }
+
+ state parse_int_header {
+ packet.extract(hdr.int_header);
+ // If there is no INT metadata but the INT header (plus shim and tail)
+ // exists, default value of length field in shim header should be
+ // INT_HEADER_LEN_WORDS.
+ transition select (hdr.intl4_shim.len_words) {
+ INT_HEADER_LEN_WORDS: parse_intl4_tail;
+ default: parse_int_data;
+ }
+ }
+
+ state parse_int_data {
+#ifdef WITH_INT_SINK
+ // Parse INT metadata stack, but not tail
+ packet.extract(hdr.int_data, (bit<32>) (hdr.intl4_shim.len_words - INT_HEADER_LEN_WORDS) << 5);
+ transition parse_intl4_tail;
+#else // not interested in INT data
+ transition accept;
+#endif // WITH_INT_SINK
+ }
+
+ state parse_intl4_tail {
+ packet.extract(hdr.intl4_tail);
+ transition accept;
+ }
+#endif // WITH_INT
}
control FabricDeparser(packet_out packet, in parsed_headers_t hdr) {
apply {
packet.emit(hdr.packet_in);
-#ifdef WITH_INT
+#ifdef WITH_INT_SINK
packet.emit(hdr.report_ethernet);
packet.emit(hdr.report_ipv4);
packet.emit(hdr.report_udp);
packet.emit(hdr.report_fixed_header);
-#endif // WITH_INT
+#endif // WITH_INT_SINK
packet.emit(hdr.ethernet);
packet.emit(hdr.vlan_tag);
packet.emit(hdr.mpls);
@@ -248,6 +253,7 @@
#ifdef WITH_INT
packet.emit(hdr.intl4_shim);
packet.emit(hdr.int_header);
+#ifdef WITH_INT_TRANSIT
packet.emit(hdr.int_switch_id);
packet.emit(hdr.int_port_ids);
packet.emit(hdr.int_hop_latency);
@@ -256,6 +262,7 @@
packet.emit(hdr.int_egress_tstamp);
packet.emit(hdr.int_q_congestion);
packet.emit(hdr.int_egress_tx_util);
+#endif // WITH_INT_TRANSIT
packet.emit(hdr.int_data);
packet.emit(hdr.intl4_tail);
#endif // WITH_INT
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
index 40f5a60..246401b 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
@@ -4,13 +4,12 @@
"name" : "scalars_0",
"id" : 0,
"fields" : [
+ ["last_ipv4_dscp", 6, false],
["tmp", 4, false],
- ["tmp_0", 1, false],
+ ["tmp_0", 8, false],
["tmp_1", 32, false],
- ["tmp_2", 8, false],
- ["tmp_3", 1, false],
- ["tmp_4", 32, false],
- ["tmp_5", 32, false],
+ ["tmp_2", 32, false],
+ ["tmp_3", 32, false],
["spgw_ingress_tmp_1", 1, false],
["spgw_ingress_tmp_2", 1, false],
["filtering_tmp_0", 1, false],
@@ -20,6 +19,7 @@
["spgw_normalizer_hasReturned_0", 1, false],
["spgw_ingress_hasReturned_0", 1, false],
["next_hasReturned_0", 1, false],
+ ["process_int_main_process_int_transit_hasReturned_0", 1, false],
["fabric_metadata_t.fwd_type", 3, false],
["fabric_metadata_t.next_id", 32, false],
["fabric_metadata_t.pop_vlan_when_packet_in", 1, false],
@@ -29,8 +29,7 @@
["fabric_metadata_t.ip_proto", 8, false],
["fabric_metadata_t.l4_src_port", 16, false],
["fabric_metadata_t.l4_dst_port", 16, false],
- ["fabric_metadata_t.compute_checksum", 1, false],
- ["_padding_2", 1, false]
+ ["_padding_2", 5, false]
]
},
{
@@ -219,42 +218,18 @@
]
},
{
- "name" : "drop_report_header_t",
- "id" : 15,
- "fields" : [
- ["switch_id", 32, false],
- ["ingress_port_id", 16, false],
- ["egress_port_id", 16, false],
- ["queue_id", 8, false],
- ["drop_reason", 8, false],
- ["pad", 16, false]
- ]
- },
- {
- "name" : "local_report_header_t",
- "id" : 16,
- "fields" : [
- ["switch_id", 32, false],
- ["ingress_port_id", 16, false],
- ["egress_port_id", 16, false],
- ["queue_id", 8, false],
- ["queue_occupancy", 24, false],
- ["egress_tstamp", 32, false]
- ]
- },
- {
"name" : "intl4_shim_t",
- "id" : 17,
+ "id" : 15,
"fields" : [
["int_type", 8, false],
["rsvd1", 8, false],
- ["len", 8, false],
+ ["len_words", 8, false],
["rsvd2", 8, false]
]
},
{
"name" : "int_header_t",
- "id" : 18,
+ "id" : 16,
"fields" : [
["ver", 2, false],
["rep", 2, false],
@@ -272,23 +247,15 @@
]
},
{
- "name" : "int_data_t",
- "id" : 19,
- "fields" : [
- ["data", "*"]
- ],
- "max_length" : 1004
- },
- {
"name" : "int_switch_id_t",
- "id" : 20,
+ "id" : 17,
"fields" : [
["switch_id", 32, false]
]
},
{
"name" : "int_port_ids_t",
- "id" : 21,
+ "id" : 18,
"fields" : [
["ingress_port_id", 16, false],
["egress_port_id", 16, false]
@@ -296,14 +263,14 @@
},
{
"name" : "int_hop_latency_t",
- "id" : 22,
+ "id" : 19,
"fields" : [
["hop_latency", 32, false]
]
},
{
"name" : "int_q_occupancy_t",
- "id" : 23,
+ "id" : 20,
"fields" : [
["q_id", 8, false],
["q_occupancy", 24, false]
@@ -311,21 +278,21 @@
},
{
"name" : "int_ingress_tstamp_t",
- "id" : 24,
+ "id" : 21,
"fields" : [
["ingress_tstamp", 32, false]
]
},
{
"name" : "int_egress_tstamp_t",
- "id" : 25,
+ "id" : 22,
"fields" : [
["egress_tstamp", 32, false]
]
},
{
"name" : "int_q_congestion_t",
- "id" : 26,
+ "id" : 23,
"fields" : [
["q_id", 8, false],
["q_congestion", 24, false]
@@ -333,23 +300,32 @@
},
{
"name" : "int_egress_port_tx_util_t",
- "id" : 27,
+ "id" : 24,
"fields" : [
["egress_port_tx_util", 32, false]
]
},
{
+ "name" : "int_data_t",
+ "id" : 25,
+ "fields" : [
+ ["data", "*"]
+ ],
+ "max_length" : 1004
+ },
+ {
"name" : "intl4_tail_t",
- "id" : 28,
+ "id" : 26,
"fields" : [
["next_proto", 8, false],
["dest_port", 16, false],
- ["dscp", 8, false]
+ ["padding", 2, false],
+ ["dscp", 6, false]
]
},
{
"name" : "spgw_meta_t",
- "id" : 29,
+ "id" : 27,
"fields" : [
["direction", 2, false],
["ipv4_len", 16, false],
@@ -361,16 +337,15 @@
},
{
"name" : "int_metadata_t",
- "id" : 30,
+ "id" : 28,
"fields" : [
+ ["source", 1, 0],
+ ["transit", 1, 0],
+ ["sink", 1, 0],
["switch_id", 32, false],
- ["insert_byte_cnt", 16, false],
- ["source", 1, false],
- ["sink", 1, false],
- ["mirror_id", 8, false],
- ["flow_id", 16, false],
- ["metadata_len", 8, false],
- ["_padding_1", 6, false]
+ ["new_words", 8, false],
+ ["new_bytes", 16, false],
+ ["_padding_1", 5, false]
]
}
],
@@ -530,138 +505,107 @@
"pi_omit" : true
},
{
- "name" : "report_local.drop_report_header",
- "id" : 22,
- "header_type" : "drop_report_header_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "report_local.local_report_header",
- "id" : 23,
- "header_type" : "local_report_header_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
"name" : "intl4_shim",
- "id" : 24,
+ "id" : 22,
"header_type" : "intl4_shim_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_header",
- "id" : 25,
+ "id" : 23,
"header_type" : "int_header_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "int_data",
- "id" : 26,
- "header_type" : "int_data_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
"name" : "int_switch_id",
- "id" : 27,
+ "id" : 24,
"header_type" : "int_switch_id_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_port_ids",
- "id" : 28,
+ "id" : 25,
"header_type" : "int_port_ids_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_hop_latency",
- "id" : 29,
+ "id" : 26,
"header_type" : "int_hop_latency_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_q_occupancy",
- "id" : 30,
+ "id" : 27,
"header_type" : "int_q_occupancy_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_ingress_tstamp",
- "id" : 31,
+ "id" : 28,
"header_type" : "int_ingress_tstamp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_egress_tstamp",
- "id" : 32,
+ "id" : 29,
"header_type" : "int_egress_tstamp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_q_congestion",
- "id" : 33,
+ "id" : 30,
"header_type" : "int_q_congestion_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_egress_tx_util",
- "id" : 34,
+ "id" : 31,
"header_type" : "int_egress_port_tx_util_t",
"metadata" : false,
"pi_omit" : true
},
{
+ "name" : "int_data",
+ "id" : 32,
+ "header_type" : "int_data_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
"name" : "intl4_tail",
- "id" : 35,
+ "id" : 33,
"header_type" : "intl4_tail_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "userMetadata.spgw",
- "id" : 36,
+ "id" : 34,
"header_type" : "spgw_meta_t",
"metadata" : true,
"pi_omit" : true
},
{
"name" : "userMetadata.int_meta",
- "id" : 37,
+ "id" : 35,
"header_type" : "int_metadata_t",
"metadata" : true,
"pi_omit" : true
}
],
"header_stacks" : [],
- "header_union_types" : [
- {
- "name" : "local_report_t",
- "id" : 0,
- "headers" : [
- ["drop_report_header", "drop_report_header_t"],
- ["local_report_header", "local_report_header_t"]
- ]
- }
- ],
- "header_unions" : [
- {
- "name" : "report_local",
- "id" : 0,
- "union_type" : "local_report_t",
- "header_ids" : [22, 23],
- "pi_omit" : true
- }
- ],
+ "header_union_types" : [],
+ "header_unions" : [],
"header_union_stacks" : [],
"field_lists" : [
{
@@ -681,7 +625,21 @@
{
"name" : "start",
"id" : 0,
- "parser_ops" : [],
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "last_ipv4_dscp"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "op" : "set"
+ }
+ ],
"transitions" : [
{
"type" : "hexstr",
@@ -913,6 +871,19 @@
}
],
"op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "last_ipv4_dscp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "dscp"]
+ }
+ ],
+ "op" : "set"
}
],
"transitions" : [
@@ -1067,94 +1038,16 @@
}
],
"op" : "set"
- },
- {
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_0"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "?",
- "left" : {
- "type" : "hexstr",
- "value" : "0x01"
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x00"
- },
- "cond" : {
- "type" : "expression",
- "value" : {
- "op" : "and",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["ipv4", "$valid$"]
- }
- }
- },
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "dscp"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- }
- }
- }
- }
- }
- }
- ],
- "op" : "set"
}
],
"transitions" : [
{
- "type" : "hexstr",
- "value" : "0x01",
- "mask" : null,
- "next_state" : "parse_intl4_shim"
- },
- {
"value" : "default",
"mask" : null,
- "next_state" : null
+ "next_state" : "parse_int"
}
],
- "transition_key" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_0"]
- }
- ]
+ "transition_key" : []
},
{
"name" : "parse_udp",
@@ -1206,7 +1099,7 @@
{
"value" : "default",
"mask" : null,
- "next_state" : null
+ "next_state" : "parse_int"
}
],
"transition_key" : [
@@ -1240,212 +1133,14 @@
"transition_key" : []
},
{
- "name" : "parse_intl4_shim",
+ "name" : "parse_gtpu",
"id" : 11,
"parser_ops" : [
{
"parameters" : [
{
- "type" : "regular",
- "value" : "intl4_shim"
- }
- ],
- "op" : "extract"
- },
- {
- "parameters" : [
- {
- "type" : "regular",
- "value" : "int_header"
- }
- ],
- "op" : "extract"
- },
- {
- "parameters" : [
- {
"type" : "field",
- "value" : ["userMetadata.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" : [
- {
- "type" : "hexstr",
- "value" : "0x00",
- "mask" : null,
- "next_state" : "parse_intl4_tail"
- },
- {
- "value" : "default",
- "mask" : null,
- "next_state" : "parse_int_data"
- }
- ],
- "transition_key" : [
- {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "metadata_len"]
- }
- ]
- },
- {
- "name" : "parse_int_data",
- "id" : 12,
- "parser_ops" : [
- {
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_1"]
- },
- {
- "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_1"]
- }
- }
- ],
- "op" : "extract_VL"
- }
- ],
- "transitions" : [
- {
- "value" : "default",
- "mask" : null,
- "next_state" : "parse_intl4_tail"
- }
- ],
- "transition_key" : []
- },
- {
- "name" : "parse_intl4_tail",
- "id" : 13,
- "parser_ops" : [
- {
- "parameters" : [
- {
- "type" : "regular",
- "value" : "intl4_tail"
- }
- ],
- "op" : "extract"
- }
- ],
- "transitions" : [
- {
- "value" : "default",
- "mask" : null,
- "next_state" : null
- }
- ],
- "transition_key" : []
- },
- {
- "name" : "parse_gtpu",
- "id" : 14,
- "parser_ops" : [
- {
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_0"]
},
{
"type" : "expression",
@@ -1504,13 +1199,13 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_0"]
}
]
},
{
"name" : "do_parse_gtpu",
- "id" : 15,
+ "id" : 12,
"parser_ops" : [
{
"parameters" : [
@@ -1529,6 +1224,19 @@
}
],
"op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "last_ipv4_dscp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "dscp"]
+ }
+ ],
+ "op" : "set"
}
],
"transitions" : [
@@ -1565,7 +1273,7 @@
},
{
"name" : "parse_inner_udp",
- "id" : 16,
+ "id" : 13,
"parser_ops" : [
{
"parameters" : [
@@ -1601,80 +1309,26 @@
}
],
"op" : "set"
- },
- {
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_3"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "?",
- "left" : {
- "type" : "hexstr",
- "value" : "0x01"
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x00"
- },
- "cond" : {
- "type" : "expression",
- "value" : {
- "op" : "and",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["ipv4", "$valid$"]
- }
- }
- },
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "dscp"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- }
- }
- }
- }
- }
- }
- ],
- "op" : "set"
}
],
"transitions" : [
{
+ "value" : "default",
+ "mask" : null,
+ "next_state" : "parse_int"
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_int",
+ "id" : 14,
+ "parser_ops" : [],
+ "transitions" : [
+ {
"type" : "hexstr",
"value" : "0x01",
- "mask" : null,
+ "mask" : "0x01",
"next_state" : "parse_intl4_shim"
},
{
@@ -1686,9 +1340,171 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "last_ipv4_dscp"]
}
]
+ },
+ {
+ "name" : "parse_intl4_shim",
+ "id" : 15,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "intl4_shim"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "int_header"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "hexstr",
+ "value" : "0x04",
+ "mask" : null,
+ "next_state" : "parse_intl4_tail"
+ },
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : "parse_int_data"
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_shim", "len_words"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_int_data",
+ "id" : 16,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "tmp_1"]
+ },
+ {
+ "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_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xfc"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x5"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffffffff"
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "int_data"
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "field",
+ "value" : ["scalars", "tmp_1"]
+ }
+ }
+ ],
+ "op" : "extract_VL"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : "parse_intl4_tail"
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_intl4_tail",
+ "id" : 17,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "intl4_tail"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : []
}
]
}
@@ -1700,7 +1516,7 @@
"id" : 0,
"source_info" : {
"filename" : "include/parser.p4",
- "line" : 223,
+ "line" : 228,
"column" : 8,
"source_fragment" : "FabricDeparser"
},
@@ -1818,32 +1634,14 @@
"is_direct" : false
},
{
- "name" : "FabricEgress.process_int_source.counter_int_source",
+ "name" : "FabricEgress.process_int_main.process_int_source.counter_int_source",
"id" : 16,
"is_direct" : true,
- "binding" : "FabricEgress.process_int_source.tb_int_source"
- },
- {
- "name" : "FabricEgress.process_int_transit.counter_int_insert",
- "id" : 17,
- "is_direct" : true,
- "binding" : "FabricEgress.process_int_transit.tb_int_insert"
- },
- {
- "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
- "id" : 18,
- "is_direct" : true,
- "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
- },
- {
- "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
- "id" : 19,
- "is_direct" : true,
- "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
+ "binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source"
},
{
"name" : "FabricEgress.egress_next.egress_vlan_counter",
- "id" : 20,
+ "id" : 17,
"is_direct" : true,
"binding" : "FabricEgress.egress_next.egress_vlan"
}
@@ -2277,15 +2075,25 @@
"value" : ["userMetadata.int_meta", "source"]
},
{
- "type" : "hexstr",
- "value" : "0x01"
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 94,
+ "filename" : "include/int/int_main.p4",
+ "line" : 42,
"column" : 8,
- "source_fragment" : "fabric_metadata.int_meta.source = 1"
+ "source_fragment" : "fabric_metadata.int_meta.source = true"
}
}
]
@@ -2303,15 +2111,25 @@
"value" : ["userMetadata.int_meta", "sink"]
},
{
- "type" : "hexstr",
- "value" : "0x01"
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 98,
+ "filename" : "include/int/int_main.p4",
+ "line" : 61,
"column" : 8,
- "source_fragment" : "fabric_metadata.int_meta.sink = 1"
+ "source_fragment" : "fabric_metadata.int_meta.sink = true"
}
}
]
@@ -2460,7 +2278,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 89,
+ "line" : 91,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -3124,7 +2942,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -3200,7 +3018,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -3315,7 +3133,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -3391,7 +3209,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -3683,7 +3501,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -3759,7 +3577,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -3874,7 +3692,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -3950,7 +3768,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -4068,7 +3886,7 @@
],
"source_info" : {
"filename" : "fabric.p4",
- "line" : 57,
+ "line" : 54,
"column" : 50,
"source_fragment" : "hdr.gtpu_ipv4"
}
@@ -4083,7 +3901,7 @@
],
"source_info" : {
"filename" : "fabric.p4",
- "line" : 57,
+ "line" : 54,
"column" : 65,
"source_fragment" : "hdr.gtpu_udp"
}
@@ -4374,7 +4192,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 119,
+ "line" : 121,
"column" : 36,
"source_fragment" : "2w1; ..."
}
@@ -4460,7 +4278,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 120,
+ "line" : 122,
"column" : 38,
"source_fragment" : "2w2; ..."
}
@@ -4486,7 +4304,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 118,
+ "line" : 120,
"column" : 37,
"source_fragment" : "2w0; ..."
}
@@ -4657,7 +4475,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 109,
+ "line" : 111,
"column" : 31,
"source_fragment" : "7; ..."
}
@@ -4683,7 +4501,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 92,
+ "line" : 94,
"column" : 31,
"source_fragment" : "0x0800; ..."
}
@@ -5044,7 +4862,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_4"]
+ "value" : ["scalars", "tmp_2"]
},
{
"type" : "expression",
@@ -5080,7 +4898,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_4"]
+ "value" : ["scalars", "tmp_2"]
}
],
"source_info" : {
@@ -5102,7 +4920,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_5"]
+ "value" : ["scalars", "tmp_3"]
},
{
"type" : "expression",
@@ -5138,7 +4956,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_5"]
+ "value" : ["scalars", "tmp_3"]
}
],
"source_info" : {
@@ -5313,7 +5131,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 101,
+ "line" : 103,
"column" : 28,
"source_fragment" : "5; ..."
}
@@ -5469,7 +5287,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 114,
+ "line" : 116,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -5488,7 +5306,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 98,
+ "line" : 100,
"column" : 25,
"source_fragment" : "17; ..."
}
@@ -5853,7 +5671,7 @@
]
},
{
- "name" : "FabricEgress.process_int_source.int_source_dscp",
+ "name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
"id" : 84,
"runtime_data" : [
{
@@ -5883,7 +5701,7 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
+ "filename" : "include/int/int_source.p4",
"line" : 31,
"column" : 8,
"source_fragment" : "hdr.intl4_shim.setValid()"
@@ -5902,7 +5720,7 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
+ "filename" : "include/int/int_source.p4",
"line" : 33,
"column" : 8,
"source_fragment" : "hdr.intl4_shim.int_type = 1"
@@ -5913,7 +5731,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["intl4_shim", "len"]
+ "value" : ["intl4_shim", "len_words"]
},
{
"type" : "hexstr",
@@ -5922,8 +5740,8 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 127,
- "column" : 35,
+ "line" : 131,
+ "column" : 36,
"source_fragment" : "4; ..."
}
},
@@ -5936,8 +5754,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 37,
+ "filename" : "include/int/int_source.p4",
+ "line" : 36,
"column" : 8,
"source_fragment" : "hdr.int_header.setValid()"
}
@@ -5955,8 +5773,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 38,
+ "filename" : "include/int/int_source.p4",
+ "line" : 37,
"column" : 8,
"source_fragment" : "hdr.int_header.ver = 0"
}
@@ -5974,8 +5792,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 39,
+ "filename" : "include/int/int_source.p4",
+ "line" : 38,
"column" : 8,
"source_fragment" : "hdr.int_header.rep = 0"
}
@@ -5993,8 +5811,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 40,
+ "filename" : "include/int/int_source.p4",
+ "line" : 39,
"column" : 8,
"source_fragment" : "hdr.int_header.c = 0"
}
@@ -6012,8 +5830,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 41,
+ "filename" : "include/int/int_source.p4",
+ "line" : 40,
"column" : 8,
"source_fragment" : "hdr.int_header.e = 0"
}
@@ -6031,8 +5849,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 42,
+ "filename" : "include/int/int_source.p4",
+ "line" : 41,
"column" : 8,
"source_fragment" : "hdr.int_header.rsvd1 = 0"
}
@@ -6050,8 +5868,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 43,
+ "filename" : "include/int/int_source.p4",
+ "line" : 42,
"column" : 8,
"source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
}
@@ -6069,8 +5887,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 44,
+ "filename" : "include/int/int_source.p4",
+ "line" : 43,
"column" : 8,
"source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
}
@@ -6088,8 +5906,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 45,
+ "filename" : "include/int/int_source.p4",
+ "line" : 44,
"column" : 8,
"source_fragment" : "hdr.int_header.total_hop_cnt = 0"
}
@@ -6107,8 +5925,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 46,
+ "filename" : "include/int/int_source.p4",
+ "line" : 45,
"column" : 8,
"source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
}
@@ -6126,8 +5944,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 47,
+ "filename" : "include/int/int_source.p4",
+ "line" : 46,
"column" : 8,
"source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
}
@@ -6145,8 +5963,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 48,
+ "filename" : "include/int/int_source.p4",
+ "line" : 47,
"column" : 8,
"source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
}
@@ -6164,8 +5982,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 49,
+ "filename" : "include/int/int_source.p4",
+ "line" : 48,
"column" : 8,
"source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
}
@@ -6179,8 +5997,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 52,
+ "filename" : "include/int/int_source.p4",
+ "line" : 50,
"column" : 8,
"source_fragment" : "hdr.intl4_tail.setValid()"
}
@@ -6198,8 +6016,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 53,
+ "filename" : "include/int/int_source.p4",
+ "line" : 51,
"column" : 8,
"source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
}
@@ -6217,8 +6035,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 54,
+ "filename" : "include/int/int_source.p4",
+ "line" : 52,
"column" : 8,
"source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
}
@@ -6231,28 +6049,15 @@
"value" : ["intl4_tail", "dscp"]
},
{
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "dscp"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xff"
- }
- }
- }
+ "type" : "field",
+ "value" : ["ipv4", "dscp"]
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 55,
+ "filename" : "include/int/int_source.p4",
+ "line" : 53,
"column" : 8,
- "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
+ "source_fragment" : "hdr.intl4_tail.dscp = hdr.ipv4.dscp"
}
},
{
@@ -6291,10 +6096,10 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 58,
+ "filename" : "include/int/int_source.p4",
+ "line" : 55,
"column" : 8,
- "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
+ "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + INT_HEADER_LEN_BYTES"
}
},
{
@@ -6333,10 +6138,10 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 59,
+ "filename" : "include/int/int_source.p4",
+ "line" : 56,
"column" : 8,
- "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
+ "source_fragment" : "hdr.udp.len = hdr.udp.len + INT_HEADER_LEN_BYTES"
}
},
{
@@ -6353,7 +6158,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 125,
+ "line" : 127,
"column" : 24,
"source_fragment" : "0x1; ..."
}
@@ -6361,16 +6166,148 @@
]
},
{
- "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
+ "name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
"id" : 85,
- "runtime_data" : [],
+ "runtime_data" : [
+ {
+ "name" : "switch_id",
+ "bitwidth" : 32
+ }
+ ],
"primitives" : [
{
"op" : "assign",
"parameters" : [
{
"type" : "field",
- "value" : ["int_header", "total_hop_cnt"]
+ "value" : ["userMetadata.int_meta", "transit"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 26,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.transit = true"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "switch_id"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 0
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 31,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.switch_id = switch_id"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
+ "id" : 86,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
+ "id" : 87,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
},
{
"type" : "expression",
@@ -6384,7 +6321,7 @@
"op" : "+",
"left" : {
"type" : "field",
- "value" : ["int_header", "total_hop_cnt"]
+ "value" : ["userMetadata.int_meta", "new_words"]
},
"right" : {
"type" : "hexstr",
@@ -6401,41 +6338,10 @@
}
],
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 30,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
"column" : 8,
- "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_transit",
- "id" : 86,
- "runtime_data" : [
- {
- "name" : "switch_id",
- "bitwidth" : 32
- }
- ],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "switch_id"]
- },
- {
- "type" : "runtime_data",
- "value" : 0
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 34,
- "column" : 8,
- "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
}
},
{
@@ -6443,7 +6349,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
+ "value" : ["userMetadata.int_meta", "new_bytes"]
},
{
"type" : "expression",
@@ -6454,24 +6360,14 @@
"left" : {
"type" : "expression",
"value" : {
- "op" : "<<",
+ "op" : "+",
"left" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "field",
- "value" : ["int_header", "ins_cnt"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
},
"right" : {
"type" : "hexstr",
- "value" : "0x2"
+ "value" : "0x0004"
}
}
},
@@ -6484,22 +6380,16 @@
}
],
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 35,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
"column" : 8,
- "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
}
}
]
},
{
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
- "id" : 87,
- "runtime_data" : [],
- "primitives" : []
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
"id" : 88,
"runtime_data" : [],
"primitives" : [
@@ -6508,84 +6398,11 @@
"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" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
- "id" : 89,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "add_header",
- "parameters" : [
- {
- "type" : "header",
"value" : "int_hop_latency"
}
],
"source_info" : {
- "filename" : "include/int_transit.p4",
+ "filename" : "include/int/int_transit.p4",
"line" : 51,
"column" : 8,
"source_fragment" : "hdr.int_hop_latency.setValid()"
@@ -6604,32 +6421,10 @@
}
],
"source_info" : {
- "filename" : "include/int_transit.p4",
+ "filename" : "include/int/int_transit.p4",
"line" : 52,
"column" : 8,
- "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
- "id" : 90,
- "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()"
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
}
},
{
@@ -6637,1903 +6432,7 @@
"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" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
- "id" : 91,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
- "id" : 92,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
- "id" : 93,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
- "id" : 94,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
- "id" : 95,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
- "id" : 96,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
- "id" : 97,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
- "id" : 98,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
- "id" : 99,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
- "id" : 100,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
- "id" : 101,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
- "id" : 102,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
- "id" : 103,
- "runtime_data" : [],
- "primitives" : []
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
- "id" : 104,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
- "id" : 105,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
- "id" : 106,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
- "id" : 107,
- "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"]
+ "value" : ["userMetadata.int_meta", "new_words"]
},
{
"type" : "expression",
@@ -8547,1438 +6446,11 @@
"op" : "+",
"left" : {
"type" : "field",
- "value" : ["standard_metadata", "enq_timestamp"]
+ "value" : ["userMetadata.int_meta", "new_words"]
},
"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" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
- "id" : 108,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
- "id" : 109,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
- "id" : 110,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
- "id" : 111,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
- "id" : 112,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
- "id" : 113,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
- "id" : 114,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
- "id" : 115,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
- "id" : 116,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
- "id" : 117,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
- "id" : 118,
- "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" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
- "id" : 119,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["ipv4", "total_len"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "+",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "total_len"]
- },
- "right" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 304,
- "column" : 8,
- "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
- "id" : 120,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["udp", "len"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "+",
- "left" : {
- "type" : "field",
- "value" : ["udp", "len"]
- },
- "right" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 307,
- "column" : 8,
- "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
- "id" : 121,
- "runtime_data" : [],
- "primitives" : [
- {
- "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"
- }
- }
+ "type" : "hexstr",
+ "value" : "0x01"
}
}
},
@@ -9991,17 +6463,5641 @@
}
],
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 310,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
"column" : 8,
- "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
}
}
]
},
{
- "name" : "FabricEgress.process_int_report.do_report_encapsulation",
- "id" : 122,
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
+ "id" : 89,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
+ "id" : 90,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
+ "id" : 91,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
+ "id" : 92,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
+ "id" : 93,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
+ "id" : 94,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
+ "id" : 95,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
+ "id" : 96,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
+ "id" : 97,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
+ "id" : 98,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
+ "id" : 99,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
+ "id" : 100,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
+ "id" : 101,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x04"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 103,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0010"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 104,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
+ "id" : 102,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
+ "id" : 103,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
+ "id" : 104,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
+ "id" : 105,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
+ "id" : 106,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
+ "id" : 107,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
+ "id" : 108,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
+ "id" : 109,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
+ "id" : 110,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
+ "id" : 111,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
+ "id" : 112,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
+ "id" : 113,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
+ "id" : 114,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
+ "id" : 115,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
+ "id" : 116,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
+ "id" : 117,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x04"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 103,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0010"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 104,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_report.do_report_encapsulation",
+ "id" : 118,
"runtime_data" : [
{
"name" : "src_mac",
@@ -10034,8 +12130,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 50,
+ "filename" : "include/int/int_report.p4",
+ "line" : 49,
"column" : 8,
"source_fragment" : "hdr.report_ethernet.setValid()"
}
@@ -10053,8 +12149,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 51,
+ "filename" : "include/int/int_report.p4",
+ "line" : 50,
"column" : 8,
"source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
}
@@ -10072,8 +12168,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 52,
+ "filename" : "include/int/int_report.p4",
+ "line" : 51,
"column" : 8,
"source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
}
@@ -10092,7 +12188,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 92,
+ "line" : 94,
"column" : 31,
"source_fragment" : "0x0800; ..."
}
@@ -10106,8 +12202,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 56,
+ "filename" : "include/int/int_report.p4",
+ "line" : 55,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.setValid()"
}
@@ -10125,8 +12221,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 57,
+ "filename" : "include/int/int_report.p4",
+ "line" : 56,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.version = 4w4"
}
@@ -10144,8 +12240,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 58,
+ "filename" : "include/int/int_report.p4",
+ "line" : 57,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.ihl = 4w5"
}
@@ -10163,8 +12259,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 59,
+ "filename" : "include/int/int_report.p4",
+ "line" : 58,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.dscp = 6w0"
}
@@ -10182,8 +12278,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 60,
+ "filename" : "include/int/int_report.p4",
+ "line" : 59,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.ecn = 2w0"
}
@@ -10224,8 +12320,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 62,
+ "filename" : "include/int/int_report.p4",
+ "line" : 61,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
}
@@ -10243,8 +12339,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 65,
+ "filename" : "include/int/int_report.p4",
+ "line" : 64,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.identification = 0"
}
@@ -10262,8 +12358,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 66,
+ "filename" : "include/int/int_report.p4",
+ "line" : 65,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.flags = 0"
}
@@ -10281,8 +12377,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 67,
+ "filename" : "include/int/int_report.p4",
+ "line" : 66,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.frag_offset = 0"
}
@@ -10300,8 +12396,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 68,
+ "filename" : "include/int/int_report.p4",
+ "line" : 67,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
}
@@ -10320,7 +12416,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 98,
+ "line" : 100,
"column" : 25,
"source_fragment" : "17; ..."
}
@@ -10338,8 +12434,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 70,
+ "filename" : "include/int/int_report.p4",
+ "line" : 69,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
}
@@ -10357,8 +12453,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 71,
+ "filename" : "include/int/int_report.p4",
+ "line" : 70,
"column" : 8,
"source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
}
@@ -10372,8 +12468,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 74,
+ "filename" : "include/int/int_report.p4",
+ "line" : 73,
"column" : 8,
"source_fragment" : "hdr.report_udp.setValid()"
}
@@ -10391,8 +12487,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 75,
+ "filename" : "include/int/int_report.p4",
+ "line" : 74,
"column" : 8,
"source_fragment" : "hdr.report_udp.src_port = 0"
}
@@ -10410,8 +12506,8 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 76,
+ "filename" : "include/int/int_report.p4",
+ "line" : 75,
"column" : 8,
"source_fragment" : "hdr.report_udp.dst_port = mon_port"
}
@@ -10452,42 +12548,13 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 77,
+ "filename" : "include/int/int_report.p4",
+ "line" : 76,
"column" : 8,
"source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
}
},
{
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 80,
- "column" : 8,
- "source_fragment" : "fabric_metadata.compute_checksum = true"
- }
- },
- {
"op" : "add_header",
"parameters" : [
{
@@ -10496,7 +12563,7 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_report.p4",
"line" : 30,
"column" : 8,
"source_fragment" : "hdr.report_fixed_header.setValid()"
@@ -10515,7 +12582,7 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_report.p4",
"line" : 31,
"column" : 8,
"source_fragment" : "hdr.report_fixed_header.ver = 0"
@@ -10535,7 +12602,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 132,
+ "line" : 137,
"column" : 31,
"source_fragment" : "0; ..."
}
@@ -10553,7 +12620,7 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_report.p4",
"line" : 34,
"column" : 8,
"source_fragment" : "hdr.report_fixed_header.d = 0"
@@ -10572,7 +12639,7 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_report.p4",
"line" : 35,
"column" : 8,
"source_fragment" : "hdr.report_fixed_header.q = 0"
@@ -10591,7 +12658,7 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_report.p4",
"line" : 36,
"column" : 8,
"source_fragment" : "hdr.report_fixed_header.f = 1"
@@ -10610,7 +12677,7 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_report.p4",
"line" : 37,
"column" : 8,
"source_fragment" : "hdr.report_fixed_header.rsvd = 0"
@@ -10630,7 +12697,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 136,
+ "line" : 141,
"column" : 21,
"source_fragment" : "1; ..."
}
@@ -10648,7 +12715,7 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_report.p4",
"line" : 41,
"column" : 8,
"source_fragment" : "hdr.report_fixed_header.seq_no = 0"
@@ -10667,17 +12734,17 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_report.p4",
"line" : 43,
"column" : 8,
- "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
+ "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = (bit<32>) standard_metadata.enq_timestamp"
}
}
]
},
{
- "name" : "FabricEgress.process_int_sink.restore_header",
- "id" : 123,
+ "name" : "FabricEgress.process_int_main.process_int_sink.restore_header",
+ "id" : 119,
"runtime_data" : [],
"primitives" : [
{
@@ -10693,7 +12760,7 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
+ "filename" : "include/int/int_sink.p4",
"line" : 26,
"column" : 8,
"source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
@@ -10707,35 +12774,22 @@
"value" : ["ipv4", "dscp"]
},
{
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "field",
- "value" : ["intl4_tail", "dscp"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x3f"
- }
- }
- }
+ "type" : "field",
+ "value" : ["intl4_tail", "dscp"]
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
+ "filename" : "include/int/int_sink.p4",
"line" : 27,
"column" : 8,
- "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
+ "source_fragment" : "hdr.ipv4.dscp = hdr.intl4_tail.dscp"
}
}
]
},
{
- "name" : "FabricEgress.process_int_sink.int_sink",
- "id" : 124,
+ "name" : "FabricEgress.process_int_main.process_int_sink.int_sink",
+ "id" : 120,
"runtime_data" : [],
"primitives" : [
{
@@ -10773,11 +12827,11 @@
"op" : "<<",
"left" : {
"type" : "field",
- "value" : ["intl4_shim", "len"]
+ "value" : ["intl4_shim", "len_words"]
},
"right" : {
"type" : "hexstr",
- "value" : "0x2"
+ "value" : "0x02"
}
}
},
@@ -10804,10 +12858,10 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 32,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 33,
"column" : 8,
- "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
+ "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - len_bytes"
}
},
{
@@ -10845,11 +12899,11 @@
"op" : "<<",
"left" : {
"type" : "field",
- "value" : ["intl4_shim", "len"]
+ "value" : ["intl4_shim", "len_words"]
},
"right" : {
"type" : "hexstr",
- "value" : "0x2"
+ "value" : "0x02"
}
}
},
@@ -10876,10 +12930,10 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 33,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 34,
"column" : 8,
- "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
+ "source_fragment" : "hdr.udp.len = hdr.udp.len - len_bytes"
}
},
{
@@ -10891,8 +12945,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 35,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 36,
"column" : 8,
"source_fragment" : "hdr.int_header.setInvalid()"
}
@@ -10906,8 +12960,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 36,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 37,
"column" : 8,
"source_fragment" : "hdr.int_data.setInvalid()"
}
@@ -10921,8 +12975,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 37,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 38,
"column" : 8,
"source_fragment" : "hdr.intl4_shim.setInvalid()"
}
@@ -10936,8 +12990,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 38,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 39,
"column" : 8,
"source_fragment" : "hdr.intl4_tail.setInvalid()"
}
@@ -10951,8 +13005,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 39,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 40,
"column" : 8,
"source_fragment" : "hdr.int_switch_id.setInvalid()"
}
@@ -10966,8 +13020,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 40,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 41,
"column" : 8,
"source_fragment" : "hdr.int_port_ids.setInvalid()"
}
@@ -10981,8 +13035,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 41,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 42,
"column" : 8,
"source_fragment" : "hdr.int_hop_latency.setInvalid()"
}
@@ -10996,8 +13050,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 42,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 43,
"column" : 8,
"source_fragment" : "hdr.int_q_occupancy.setInvalid()"
}
@@ -11011,8 +13065,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 43,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 44,
"column" : 8,
"source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
}
@@ -11026,8 +13080,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 44,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 45,
"column" : 8,
"source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
}
@@ -11041,8 +13095,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 45,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 46,
"column" : 8,
"source_fragment" : "hdr.int_q_congestion.setInvalid()"
}
@@ -11056,8 +13110,8 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 46,
+ "filename" : "include/int/int_sink.p4",
+ "line" : 47,
"column" : 8,
"source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
}
@@ -11066,7 +13120,7 @@
},
{
"name" : "FabricEgress.pkt_io_egress.pop_vlan",
- "id" : 125,
+ "id" : 121,
"runtime_data" : [],
"primitives" : [
{
@@ -11083,7 +13137,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 39,
+ "line" : 40,
"column" : 8,
"source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
}
@@ -11098,7 +13152,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 40,
+ "line" : 41,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -11107,7 +13161,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 126,
+ "id" : 122,
"runtime_data" : [],
"primitives" : [
{
@@ -11148,7 +13202,7 @@
},
{
"name" : "act_31",
- "id" : 127,
+ "id" : 123,
"runtime_data" : [],
"primitives" : [
{
@@ -11161,7 +13215,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 56,
+ "line" : 57,
"column" : 12,
"source_fragment" : "hdr.packet_in.setValid()"
}
@@ -11180,12 +13234,274 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 57,
+ "line" : 58,
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
}
]
+ },
+ {
+ "name" : "act_32",
+ "id" : 124,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : false
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name" : "act_33",
+ "id" : 125,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 370,
+ "column" : 12,
+ "source_fragment" : "return"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_34",
+ "id" : 126,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ipv4", "total_len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["ipv4", "total_len"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 378,
+ "column" : 12,
+ "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fmeta.int_meta.new_bytes"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_35",
+ "id" : 127,
+ "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/int_transit.p4",
+ "line" : 375,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_36",
+ "id" : 128,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["udp", "len"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 381,
+ "column" : 12,
+ "source_fragment" : "hdr.udp.len = hdr.udp.len + fmeta.int_meta.new_bytes"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_37",
+ "id" : 129,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_shim", "len_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["intl4_shim", "len_words"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 384,
+ "column" : 12,
+ "source_fragment" : "hdr.intl4_shim.len_words = hdr.intl4_shim.len_words + fmeta.int_meta.new_words"
+ }
+ }
+ ]
}
],
"pipelines" : [
@@ -11194,7 +13510,7 @@
"id" : 0,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 43,
+ "line" : 40,
"column" : 8,
"source_fragment" : "FabricIngress"
},
@@ -12538,8 +14854,8 @@
"name" : "FabricIngress.process_set_source_sink.tb_set_source",
"id" : 46,
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 101,
+ "filename" : "include/int/int_main.p4",
+ "line" : 46,
"column" : 10,
"source_fragment" : "tb_set_source"
},
@@ -12553,7 +14869,7 @@
],
"match_type" : "exact",
"type" : "simple",
- "max_size" : 256,
+ "max_size" : 511,
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
@@ -12575,8 +14891,8 @@
"name" : "FabricIngress.process_set_source_sink.tb_set_sink",
"id" : 47,
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 111,
+ "filename" : "include/int/int_main.p4",
+ "line" : 65,
"column" : 10,
"source_fragment" : "tb_set_sink"
},
@@ -12590,7 +14906,7 @@
],
"match_type" : "exact",
"type" : "simple",
- "max_size" : 256,
+ "max_size" : 511,
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
@@ -13226,22 +15542,29 @@
"name" : "node_72",
"id" : 22,
"source_info" : {
- "filename" : "fabric.p4",
- "line" : 77,
+ "filename" : "include/int/int_main.p4",
+ "line" : 82,
"column" : 11,
- "source_fragment" : "fabric_metadata.int_meta.sink == 1"
+ "source_fragment" : "fabric_metadata.int_meta.sink == true"
},
"expression" : {
"type" : "expression",
"value" : {
"op" : "==",
"left" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "sink"]
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "sink"]
+ }
+ }
},
"right" : {
- "type" : "hexstr",
- "value" : "0x01"
+ "type" : "bool",
+ "value" : true
}
}
},
@@ -13255,7 +15578,7 @@
"id" : 1,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 87,
+ "line" : 79,
"column" : 8,
"source_fragment" : "FabricEgress"
},
@@ -13271,14 +15594,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [125],
+ "action_ids" : [121],
"actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
"base_default_next" : "node_80",
"next_tables" : {
"FabricEgress.pkt_io_egress.pop_vlan" : "node_80"
},
"default_entry" : {
- "action_id" : 125,
+ "action_id" : 121,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -13317,14 +15640,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [127],
+ "action_ids" : [123],
"actions" : ["act_31"],
"base_default_next" : null,
"next_tables" : {
"act_31" : null
},
"default_entry" : {
- "action_id" : 127,
+ "action_id" : 123,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -13382,7 +15705,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [126, 80],
+ "action_ids" : [122, 80],
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
"base_default_next" : "node_86",
"next_tables" : {
@@ -13420,11 +15743,11 @@
}
},
{
- "name" : "FabricEgress.process_int_source.tb_int_source",
+ "name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
"id" : 55,
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 66,
+ "filename" : "include/int/int_source.p4",
+ "line" : 65,
"column" : 10,
"source_fragment" : "tb_int_source"
},
@@ -13461,10 +15784,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [84, 75],
- "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
+ "actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "NoAction"],
"base_default_next" : "node_91",
"next_tables" : {
- "FabricEgress.process_int_source.int_source_dscp" : "node_91",
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_91",
"NoAction" : "node_91"
},
"default_entry" : {
@@ -13475,27 +15798,50 @@
}
},
{
- "name" : "FabricEgress.process_int_transit.tb_int_insert",
+ "name" : "tbl_act_32",
"id" : 56,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [124],
+ "actions" : ["act_32"],
+ "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
+ "next_tables" : {
+ "act_32" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
+ },
+ "default_entry" : {
+ "action_id" : 124,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
+ "id" : 57,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 227,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 271,
"column" : 10,
"source_fragment" : "tb_int_insert"
},
"key" : [],
"match_type" : "exact",
"type" : "simple",
- "max_size" : 2,
- "with_counters" : true,
+ "max_size" : 1024,
+ "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [86, 76],
- "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
- "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
+ "action_ids" : [85, 76],
+ "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "NoAction"],
+ "base_default_next" : "node_94",
"next_tables" : {
- "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
- "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_94",
+ "NoAction" : "node_94"
},
"default_entry" : {
"action_id" : 76,
@@ -13505,11 +15851,34 @@
}
},
{
- "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
- "id" : 57,
+ "name" : "tbl_act_33",
+ "id" : 58,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [125],
+ "actions" : ["act_33"],
+ "base_default_next" : "node_96",
+ "next_tables" : {
+ "act_33" : "node_96"
+ },
+ "default_entry" : {
+ "action_id" : 125,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
+ "id" : 59,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 237,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 280,
"column" : 10,
"source_fragment" : "tb_int_inst_0003"
},
@@ -13524,44 +15893,254 @@
"match_type" : "exact",
"type" : "simple",
"max_size" : 16,
- "with_counters" : true,
+ "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 77],
- "actions" : ["FabricEgress.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_transit.int_set_header_0003_i15", "NoAction"],
- "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
+ "action_ids" : [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 77],
+ "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
+ "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"next_tables" : {
- "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
},
"default_entry" : {
"action_id" : 77,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
- }
+ },
+ "entries" : [
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x00"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 86,
+ "action_data" : []
+ },
+ "priority" : 1
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x01"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 87,
+ "action_data" : []
+ },
+ "priority" : 2
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x02"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 88,
+ "action_data" : []
+ },
+ "priority" : 3
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x03"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 89,
+ "action_data" : []
+ },
+ "priority" : 4
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x04"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 90,
+ "action_data" : []
+ },
+ "priority" : 5
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x05"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 91,
+ "action_data" : []
+ },
+ "priority" : 6
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x06"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 92,
+ "action_data" : []
+ },
+ "priority" : 7
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x07"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 93,
+ "action_data" : []
+ },
+ "priority" : 8
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x08"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 94,
+ "action_data" : []
+ },
+ "priority" : 9
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x09"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 95,
+ "action_data" : []
+ },
+ "priority" : 10
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0a"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 96,
+ "action_data" : []
+ },
+ "priority" : 11
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0b"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 97,
+ "action_data" : []
+ },
+ "priority" : 12
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0c"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 98,
+ "action_data" : []
+ },
+ "priority" : 13
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0d"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 99,
+ "action_data" : []
+ },
+ "priority" : 14
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0e"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 100,
+ "action_data" : []
+ },
+ "priority" : 15
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0f"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 101,
+ "action_data" : []
+ },
+ "priority" : 16
+ }
+ ]
},
{
- "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "id" : 58,
+ "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "id" : 60,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 264,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 324,
"column" : 10,
"source_fragment" : "tb_int_inst_0407"
},
@@ -13576,86 +16155,250 @@
"match_type" : "exact",
"type" : "simple",
"max_size" : 16,
- "with_counters" : true,
+ "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 78],
- "actions" : ["FabricEgress.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_transit.int_set_header_0407_i15", "NoAction"],
- "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "action_ids" : [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 78],
+ "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
+ "base_default_next" : "tbl_act_34",
"next_tables" : {
- "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.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"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_34",
+ "NoAction" : "tbl_act_34"
},
"default_entry" : {
"action_id" : 78,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
- }
- },
- {
- "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "id" : 59,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [85],
- "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
- "base_default_next" : "node_96",
- "next_tables" : {
- "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_96"
},
- "default_entry" : {
- "action_id" : 85,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
+ "entries" : [
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x00"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 102,
+ "action_data" : []
+ },
+ "priority" : 1
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x01"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 103,
+ "action_data" : []
+ },
+ "priority" : 2
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x02"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 104,
+ "action_data" : []
+ },
+ "priority" : 3
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x03"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 105,
+ "action_data" : []
+ },
+ "priority" : 4
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x04"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 106,
+ "action_data" : []
+ },
+ "priority" : 5
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x05"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 107,
+ "action_data" : []
+ },
+ "priority" : 6
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x06"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 108,
+ "action_data" : []
+ },
+ "priority" : 7
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x07"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 109,
+ "action_data" : []
+ },
+ "priority" : 8
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x08"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 110,
+ "action_data" : []
+ },
+ "priority" : 9
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x09"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 111,
+ "action_data" : []
+ },
+ "priority" : 10
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0a"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 112,
+ "action_data" : []
+ },
+ "priority" : 11
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0b"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 113,
+ "action_data" : []
+ },
+ "priority" : 12
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0c"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 114,
+ "action_data" : []
+ },
+ "priority" : 13
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0d"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 115,
+ "action_data" : []
+ },
+ "priority" : 14
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0e"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 116,
+ "action_data" : []
+ },
+ "priority" : 15
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0f"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 117,
+ "action_data" : []
+ },
+ "priority" : 16
+ }
+ ]
},
{
- "name" : "tbl_process_int_outer_encap_int_update_ipv4",
- "id" : 60,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [119],
- "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
- "base_default_next" : "node_98",
- "next_tables" : {
- "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_98"
- },
- "default_entry" : {
- "action_id" : 119,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_process_int_outer_encap_int_update_udp",
+ "name" : "tbl_act_34",
"id" : 61,
"key" : [],
"match_type" : "exact",
@@ -13664,21 +16407,21 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [120],
- "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
+ "action_ids" : [127],
+ "actions" : ["act_35"],
"base_default_next" : "node_100",
"next_tables" : {
- "FabricEgress.process_int_outer_encap.int_update_udp" : "node_100"
+ "act_35" : "node_100"
},
"default_entry" : {
- "action_id" : 120,
+ "action_id" : 127,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_process_int_outer_encap_int_update_shim",
+ "name" : "tbl_act_35",
"id" : 62,
"key" : [],
"match_type" : "exact",
@@ -13687,25 +16430,71 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [121],
- "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
+ "action_ids" : [126],
+ "actions" : ["act_34"],
"base_default_next" : "node_102",
"next_tables" : {
- "FabricEgress.process_int_outer_encap.int_update_shim" : "node_102"
+ "act_34" : "node_102"
},
"default_entry" : {
- "action_id" : 121,
+ "action_id" : 126,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "FabricEgress.process_int_report.tb_generate_report",
+ "name" : "tbl_act_36",
"id" : 63,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [128],
+ "actions" : ["act_36"],
+ "base_default_next" : "node_104",
+ "next_tables" : {
+ "act_36" : "node_104"
+ },
+ "default_entry" : {
+ "action_id" : 128,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_37",
+ "id" : 64,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [129],
+ "actions" : ["act_37"],
+ "base_default_next" : "node_106",
+ "next_tables" : {
+ "act_37" : "node_106"
+ },
+ "default_entry" : {
+ "action_id" : 129,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
+ "id" : 65,
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 87,
+ "filename" : "include/int/int_report.p4",
+ "line" : 85,
"column" : 10,
"source_fragment" : "tb_generate_report"
},
@@ -13716,12 +16505,12 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [122, 79],
- "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
- "base_default_next" : "node_104",
+ "action_ids" : [118, 79],
+ "actions" : ["FabricEgress.process_int_main.process_int_report.do_report_encapsulation", "NoAction"],
+ "base_default_next" : "node_108",
"next_tables" : {
- "FabricEgress.process_int_report.do_report_encapsulation" : "node_104",
- "NoAction" : "node_104"
+ "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_108",
+ "NoAction" : "node_108"
},
"default_entry" : {
"action_id" : 79,
@@ -13731,8 +16520,8 @@
}
},
{
- "name" : "tbl_process_int_sink_restore_header",
- "id" : 64,
+ "name" : "tbl_process_int_main_process_int_sink_restore_header",
+ "id" : 66,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -13740,22 +16529,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [123],
- "actions" : ["FabricEgress.process_int_sink.restore_header"],
- "base_default_next" : "tbl_process_int_sink_int_sink",
+ "action_ids" : [119],
+ "actions" : ["FabricEgress.process_int_main.process_int_sink.restore_header"],
+ "base_default_next" : "tbl_process_int_main_process_int_sink_int_sink",
"next_tables" : {
- "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
+ "FabricEgress.process_int_main.process_int_sink.restore_header" : "tbl_process_int_main_process_int_sink_int_sink"
},
"default_entry" : {
- "action_id" : 123,
+ "action_id" : 119,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_process_int_sink_int_sink",
- "id" : 65,
+ "name" : "tbl_process_int_main_process_int_sink_int_sink",
+ "id" : 67,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -13763,14 +16552,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [124],
- "actions" : ["FabricEgress.process_int_sink.int_sink"],
+ "action_ids" : [120],
+ "actions" : ["FabricEgress.process_int_main.process_int_sink.int_sink"],
"base_default_next" : null,
"next_tables" : {
- "FabricEgress.process_int_sink.int_sink" : null
+ "FabricEgress.process_int_main.process_int_sink.int_sink" : null
},
"default_entry" : {
- "action_id" : 124,
+ "action_id" : 120,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -13784,7 +16573,7 @@
"id" : 23,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 43,
+ "line" : 44,
"column" : 12,
"source_fragment" : "fabric_metadata.is_controller_packet_out == true"
},
@@ -13817,7 +16606,7 @@
"id" : 24,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
+ "line" : 48,
"column" : 12,
"source_fragment" : "standard_metadata.egress_port == 255"
},
@@ -13843,7 +16632,7 @@
"id" : 25,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 48,
+ "line" : 49,
"column" : 16,
"source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
},
@@ -13893,7 +16682,7 @@
"id" : 26,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 51,
+ "line" : 52,
"column" : 16,
"source_fragment" : "fabric_metadata.is_multicast == true && ..."
},
@@ -14031,8 +16820,8 @@
"name" : "node_88",
"id" : 29,
"source_info" : {
- "filename" : "fabric.p4",
- "line" : 101,
+ "filename" : "include/int/int_main.p4",
+ "line" : 98,
"column" : 12,
"source_fragment" : "standard_metadata.ingress_port != 255 && ..."
},
@@ -14111,34 +16900,41 @@
"name" : "node_89",
"id" : 30,
"source_info" : {
- "filename" : "fabric.p4",
- "line" : 104,
+ "filename" : "include/int/int_main.p4",
+ "line" : 102,
"column" : 16,
- "source_fragment" : "fabric_metadata.int_meta.source == 1"
+ "source_fragment" : "fabric_metadata.int_meta.source == true"
},
"expression" : {
"type" : "expression",
"value" : {
"op" : "==",
"left" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "source"]
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "source"]
+ }
+ }
},
"right" : {
- "type" : "hexstr",
- "value" : "0x01"
+ "type" : "bool",
+ "value" : true
}
}
},
- "true_next" : "FabricEgress.process_int_source.tb_int_source",
+ "true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
"false_next" : "node_91"
},
{
"name" : "node_91",
"id" : 31,
"source_info" : {
- "filename" : "fabric.p4",
- "line" : 107,
+ "filename" : "include/int/int_main.p4",
+ "line" : 106,
"column" : 15,
"source_fragment" : "hdr.int_header.isValid()"
},
@@ -14154,14 +16950,71 @@
}
},
"false_next" : null,
- "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
+ "true_next" : "tbl_act_32"
+ },
+ {
+ "name" : "node_94",
+ "id" : 32,
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 369,
+ "column" : 12,
+ "source_fragment" : "fmeta.int_meta.transit == false"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "transit"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "bool",
+ "value" : false
+ }
+ }
+ },
+ "true_next" : "tbl_act_33",
+ "false_next" : "node_96"
},
{
"name" : "node_96",
- "id" : 32,
+ "id" : 33,
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "not",
+ "left" : null,
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
+ }
+ }
+ }
+ }
+ },
+ "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
+ "false_next" : "node_106"
+ },
+ {
+ "name" : "node_100",
+ "id" : 34,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 314,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 377,
"column" : 12,
"source_fragment" : "hdr.ipv4.isValid()"
},
@@ -14176,15 +17029,15 @@
}
}
},
- "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
- "false_next" : "node_98"
+ "true_next" : "tbl_act_35",
+ "false_next" : "node_102"
},
{
- "name" : "node_98",
- "id" : 33,
+ "name" : "node_102",
+ "id" : 35,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 317,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 380,
"column" : 12,
"source_fragment" : "hdr.udp.isValid()"
},
@@ -14199,15 +17052,15 @@
}
}
},
- "true_next" : "tbl_process_int_outer_encap_int_update_udp",
- "false_next" : "node_100"
+ "true_next" : "tbl_act_36",
+ "false_next" : "node_104"
},
{
- "name" : "node_100",
- "id" : 34,
+ "name" : "node_104",
+ "id" : 36,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 320,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 383,
"column" : 12,
"source_fragment" : "hdr.intl4_shim.isValid()"
},
@@ -14222,14 +17075,14 @@
}
}
},
- "true_next" : "tbl_process_int_outer_encap_int_update_shim",
- "false_next" : "node_102"
+ "true_next" : "tbl_act_37",
+ "false_next" : "node_106"
},
{
- "name" : "node_102",
- "id" : 35,
+ "name" : "node_106",
+ "id" : 37,
"source_info" : {
- "filename" : "fabric.p4",
+ "filename" : "include/int/int_main.p4",
"line" : 111,
"column" : 20,
"source_fragment" : "standard_metadata.instance_type == 1"
@@ -14248,34 +17101,41 @@
}
}
},
- "true_next" : "FabricEgress.process_int_report.tb_generate_report",
- "false_next" : "node_104"
+ "true_next" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
+ "false_next" : "node_108"
},
{
- "name" : "node_104",
- "id" : 36,
+ "name" : "node_108",
+ "id" : 38,
"source_info" : {
- "filename" : "fabric.p4",
+ "filename" : "include/int/int_main.p4",
"line" : 115,
"column" : 20,
- "source_fragment" : "fabric_metadata.int_meta.sink == 1"
+ "source_fragment" : "fabric_metadata.int_meta.sink == true"
},
"expression" : {
"type" : "expression",
"value" : {
"op" : "==",
"left" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "sink"]
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "sink"]
+ }
+ }
},
"right" : {
- "type" : "hexstr",
- "value" : "0x01"
+ "type" : "bool",
+ "value" : true
}
}
},
"false_next" : null,
- "true_next" : "tbl_process_int_sink_restore_header"
+ "true_next" : "tbl_process_int_main_process_int_sink_restore_header"
}
]
}
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
index e955159..5fcf0f6 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
@@ -59,7 +59,7 @@
annotations: "@defaultonly()"
}
direct_resource_ids: 318787614
- size: 256
+ size: 511
idle_timeout_behavior: NO_TIMEOUT
}
tables {
@@ -82,7 +82,7 @@
annotations: "@defaultonly()"
}
direct_resource_ids: 318770551
- size: 256
+ size: 511
idle_timeout_behavior: NO_TIMEOUT
}
tables {
@@ -473,8 +473,8 @@
}
tables {
preamble {
- id: 33566961
- name: "FabricEgress.process_int_source.tb_int_source"
+ id: 33612258
+ name: "FabricEgress.process_int_main.process_int_source.tb_int_source"
alias: "tb_int_source"
}
match_fields {
@@ -502,37 +502,36 @@
match_type: TERNARY
}
action_refs {
- id: 16807851
+ id: 16785857
}
action_refs {
id: 16800567
annotations: "@defaultonly()"
}
- direct_resource_ids: 318776637
+ direct_resource_ids: 318800047
size: 1024
idle_timeout_behavior: NO_TIMEOUT
}
tables {
preamble {
- id: 33602084
- name: "FabricEgress.process_int_transit.tb_int_insert"
+ id: 33599867
+ name: "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
alias: "tb_int_insert"
}
action_refs {
- id: 16806530
+ id: 16780783
}
action_refs {
id: 16800567
annotations: "@defaultonly()"
}
- direct_resource_ids: 318794595
- size: 2
+ size: 1024
idle_timeout_behavior: NO_TIMEOUT
}
tables {
preamble {
- id: 33561642
- name: "FabricEgress.process_int_transit.tb_int_inst_0003"
+ id: 33569467
+ name: "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
alias: "tb_int_inst_0003"
}
match_fields {
@@ -542,65 +541,65 @@
match_type: EXACT
}
action_refs {
- id: 16788439
+ id: 16809886
}
action_refs {
- id: 16792702
+ id: 16783130
}
action_refs {
- id: 16834796
+ id: 16809096
}
action_refs {
- id: 16815381
+ id: 16834117
}
action_refs {
- id: 16824457
+ id: 16825314
}
action_refs {
- id: 16796364
+ id: 16811436
}
action_refs {
- id: 16806322
+ id: 16802199
}
action_refs {
- id: 16819063
+ id: 16796779
}
action_refs {
- id: 16828306
+ id: 16787676
}
action_refs {
- id: 16799786
+ id: 16825351
}
action_refs {
- id: 16796975
+ id: 16793999
}
action_refs {
- id: 16801652
+ id: 16786714
}
action_refs {
- id: 16778440
+ id: 16814203
}
action_refs {
- id: 16790887
+ id: 16807054
}
action_refs {
- id: 16783849
+ id: 16800064
}
action_refs {
- id: 16837726
+ id: 16792997
}
action_refs {
id: 16800567
annotations: "@defaultonly()"
}
- direct_resource_ids: 318777781
size: 16
idle_timeout_behavior: NO_TIMEOUT
+ is_const_table: true
}
tables {
preamble {
- id: 33571998
- name: "FabricEgress.process_int_transit.tb_int_inst_0407"
+ id: 33595914
+ name: "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
alias: "tb_int_inst_0407"
}
match_fields {
@@ -610,69 +609,69 @@
match_type: EXACT
}
action_refs {
- id: 16839298
+ id: 16819022
}
action_refs {
- id: 16837018
+ id: 16804144
}
action_refs {
- id: 16827414
+ id: 16829117
}
action_refs {
- id: 16786021
+ id: 16797781
}
action_refs {
- id: 16785131
+ id: 16813543
}
action_refs {
- id: 16808652
+ id: 16824974
}
action_refs {
- id: 16799296
+ id: 16815362
}
action_refs {
- id: 16780668
+ id: 16835399
}
action_refs {
- id: 16805625
+ id: 16834505
}
action_refs {
- id: 16778495
+ id: 16811493
}
action_refs {
- id: 16784981
+ id: 16825476
}
action_refs {
- id: 16806353
+ id: 16799777
}
action_refs {
- id: 16802140
+ id: 16829592
}
action_refs {
- id: 16827601
+ id: 16805877
}
action_refs {
- id: 16820295
+ id: 16780182
}
action_refs {
- id: 16810955
+ id: 16799476
}
action_refs {
id: 16800567
annotations: "@defaultonly()"
}
- direct_resource_ids: 318818305
size: 16
idle_timeout_behavior: NO_TIMEOUT
+ is_const_table: true
}
tables {
preamble {
- id: 33607792
- name: "FabricEgress.process_int_report.tb_generate_report"
+ id: 33618104
+ name: "FabricEgress.process_int_main.process_int_report.tb_generate_report"
alias: "tb_generate_report"
}
action_refs {
- id: 16814383
+ id: 16788620
}
action_refs {
id: 16800567
@@ -1160,8 +1159,8 @@
}
actions {
preamble {
- id: 16807851
- name: "FabricEgress.process_int_source.int_source_dscp"
+ id: 16785857
+ name: "FabricEgress.process_int_main.process_int_source.int_source_dscp"
alias: "int_source_dscp"
}
params {
@@ -1187,16 +1186,9 @@
}
actions {
preamble {
- id: 16806280
- name: "FabricEgress.process_int_transit.int_update_total_hop_cnt"
- alias: "int_update_total_hop_cnt"
- }
-}
-actions {
- preamble {
- id: 16806530
- name: "FabricEgress.process_int_transit.int_transit"
- alias: "int_transit"
+ id: 16780783
+ name: "FabricEgress.process_int_main.process_int_transit.init_metadata"
+ alias: "init_metadata"
}
params {
id: 1
@@ -1206,253 +1198,232 @@
}
actions {
preamble {
- id: 16788439
- name: "FabricEgress.process_int_transit.int_set_header_0003_i0"
+ id: 16809886
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0"
alias: "int_set_header_0003_i0"
}
}
actions {
preamble {
- id: 16792702
- name: "FabricEgress.process_int_transit.int_set_header_0003_i1"
+ id: 16783130
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1"
alias: "int_set_header_0003_i1"
}
}
actions {
preamble {
- id: 16834796
- name: "FabricEgress.process_int_transit.int_set_header_0003_i2"
+ id: 16809096
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2"
alias: "int_set_header_0003_i2"
}
}
actions {
preamble {
- id: 16815381
- name: "FabricEgress.process_int_transit.int_set_header_0003_i3"
+ id: 16834117
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3"
alias: "int_set_header_0003_i3"
}
}
actions {
preamble {
- id: 16824457
- name: "FabricEgress.process_int_transit.int_set_header_0003_i4"
+ id: 16825314
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4"
alias: "int_set_header_0003_i4"
}
}
actions {
preamble {
- id: 16796364
- name: "FabricEgress.process_int_transit.int_set_header_0003_i5"
+ id: 16811436
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5"
alias: "int_set_header_0003_i5"
}
}
actions {
preamble {
- id: 16806322
- name: "FabricEgress.process_int_transit.int_set_header_0003_i6"
+ id: 16802199
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6"
alias: "int_set_header_0003_i6"
}
}
actions {
preamble {
- id: 16819063
- name: "FabricEgress.process_int_transit.int_set_header_0003_i7"
+ id: 16796779
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7"
alias: "int_set_header_0003_i7"
}
}
actions {
preamble {
- id: 16828306
- name: "FabricEgress.process_int_transit.int_set_header_0003_i8"
+ id: 16787676
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8"
alias: "int_set_header_0003_i8"
}
}
actions {
preamble {
- id: 16799786
- name: "FabricEgress.process_int_transit.int_set_header_0003_i9"
+ id: 16825351
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9"
alias: "int_set_header_0003_i9"
}
}
actions {
preamble {
- id: 16796975
- name: "FabricEgress.process_int_transit.int_set_header_0003_i10"
+ id: 16793999
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10"
alias: "int_set_header_0003_i10"
}
}
actions {
preamble {
- id: 16801652
- name: "FabricEgress.process_int_transit.int_set_header_0003_i11"
+ id: 16786714
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11"
alias: "int_set_header_0003_i11"
}
}
actions {
preamble {
- id: 16778440
- name: "FabricEgress.process_int_transit.int_set_header_0003_i12"
+ id: 16814203
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12"
alias: "int_set_header_0003_i12"
}
}
actions {
preamble {
- id: 16790887
- name: "FabricEgress.process_int_transit.int_set_header_0003_i13"
+ id: 16807054
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13"
alias: "int_set_header_0003_i13"
}
}
actions {
preamble {
- id: 16783849
- name: "FabricEgress.process_int_transit.int_set_header_0003_i14"
+ id: 16800064
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14"
alias: "int_set_header_0003_i14"
}
}
actions {
preamble {
- id: 16837726
- name: "FabricEgress.process_int_transit.int_set_header_0003_i15"
+ id: 16792997
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15"
alias: "int_set_header_0003_i15"
}
}
actions {
preamble {
- id: 16839298
- name: "FabricEgress.process_int_transit.int_set_header_0407_i0"
+ id: 16819022
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0"
alias: "int_set_header_0407_i0"
}
}
actions {
preamble {
- id: 16837018
- name: "FabricEgress.process_int_transit.int_set_header_0407_i1"
+ id: 16804144
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1"
alias: "int_set_header_0407_i1"
}
}
actions {
preamble {
- id: 16827414
- name: "FabricEgress.process_int_transit.int_set_header_0407_i2"
+ id: 16829117
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2"
alias: "int_set_header_0407_i2"
}
}
actions {
preamble {
- id: 16786021
- name: "FabricEgress.process_int_transit.int_set_header_0407_i3"
+ id: 16797781
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3"
alias: "int_set_header_0407_i3"
}
}
actions {
preamble {
- id: 16785131
- name: "FabricEgress.process_int_transit.int_set_header_0407_i4"
+ id: 16813543
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4"
alias: "int_set_header_0407_i4"
}
}
actions {
preamble {
- id: 16808652
- name: "FabricEgress.process_int_transit.int_set_header_0407_i5"
+ id: 16824974
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5"
alias: "int_set_header_0407_i5"
}
}
actions {
preamble {
- id: 16799296
- name: "FabricEgress.process_int_transit.int_set_header_0407_i6"
+ id: 16815362
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6"
alias: "int_set_header_0407_i6"
}
}
actions {
preamble {
- id: 16780668
- name: "FabricEgress.process_int_transit.int_set_header_0407_i7"
+ id: 16835399
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7"
alias: "int_set_header_0407_i7"
}
}
actions {
preamble {
- id: 16805625
- name: "FabricEgress.process_int_transit.int_set_header_0407_i8"
+ id: 16834505
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8"
alias: "int_set_header_0407_i8"
}
}
actions {
preamble {
- id: 16778495
- name: "FabricEgress.process_int_transit.int_set_header_0407_i9"
+ id: 16811493
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9"
alias: "int_set_header_0407_i9"
}
}
actions {
preamble {
- id: 16784981
- name: "FabricEgress.process_int_transit.int_set_header_0407_i10"
+ id: 16825476
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10"
alias: "int_set_header_0407_i10"
}
}
actions {
preamble {
- id: 16806353
- name: "FabricEgress.process_int_transit.int_set_header_0407_i11"
+ id: 16799777
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11"
alias: "int_set_header_0407_i11"
}
}
actions {
preamble {
- id: 16802140
- name: "FabricEgress.process_int_transit.int_set_header_0407_i12"
+ id: 16829592
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12"
alias: "int_set_header_0407_i12"
}
}
actions {
preamble {
- id: 16827601
- name: "FabricEgress.process_int_transit.int_set_header_0407_i13"
+ id: 16805877
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13"
alias: "int_set_header_0407_i13"
}
}
actions {
preamble {
- id: 16820295
- name: "FabricEgress.process_int_transit.int_set_header_0407_i14"
+ id: 16780182
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14"
alias: "int_set_header_0407_i14"
}
}
actions {
preamble {
- id: 16810955
- name: "FabricEgress.process_int_transit.int_set_header_0407_i15"
+ id: 16799476
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15"
alias: "int_set_header_0407_i15"
}
}
actions {
preamble {
- id: 16816602
- name: "FabricEgress.process_int_outer_encap.int_update_ipv4"
- alias: "int_update_ipv4"
- }
-}
-actions {
- preamble {
- id: 16829666
- name: "FabricEgress.process_int_outer_encap.int_update_udp"
- alias: "int_update_udp"
- }
-}
-actions {
- preamble {
- id: 16826978
- name: "FabricEgress.process_int_outer_encap.int_update_shim"
- alias: "int_update_shim"
- }
-}
-actions {
- preamble {
- id: 16814383
- name: "FabricEgress.process_int_report.do_report_encapsulation"
+ id: 16788620
+ name: "FabricEgress.process_int_main.process_int_report.do_report_encapsulation"
alias: "do_report_encapsulation"
}
params {
@@ -1483,15 +1454,15 @@
}
actions {
preamble {
- id: 16810741
- name: "FabricEgress.process_int_sink.restore_header"
+ id: 16816369
+ name: "FabricEgress.process_int_main.process_int_sink.restore_header"
alias: "restore_header"
}
}
actions {
preamble {
- id: 16787662
- name: "FabricEgress.process_int_sink.int_sink"
+ id: 16834566
+ name: "FabricEgress.process_int_main.process_int_sink.int_sink"
alias: "int_sink"
}
}
@@ -1697,47 +1668,14 @@
}
direct_counters {
preamble {
- id: 318776637
- name: "FabricEgress.process_int_source.counter_int_source"
+ id: 318800047
+ name: "FabricEgress.process_int_main.process_int_source.counter_int_source"
alias: "counter_int_source"
}
spec {
unit: BOTH
}
- direct_table_id: 33566961
-}
-direct_counters {
- preamble {
- id: 318794595
- name: "FabricEgress.process_int_transit.counter_int_insert"
- alias: "counter_int_insert"
- }
- spec {
- unit: BOTH
- }
- direct_table_id: 33602084
-}
-direct_counters {
- preamble {
- id: 318777781
- name: "FabricEgress.process_int_transit.counter_int_inst_0003"
- alias: "counter_int_inst_0003"
- }
- spec {
- unit: BOTH
- }
- direct_table_id: 33561642
-}
-direct_counters {
- preamble {
- id: 318818305
- name: "FabricEgress.process_int_transit.counter_int_inst_0407"
- alias: "counter_int_inst_0407"
- }
- spec {
- unit: BOTH
- }
- direct_table_id: 33571998
+ direct_table_id: 33612258
}
direct_counters {
preamble {
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
index f0917e4..a179079 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
@@ -4,17 +4,16 @@
"name" : "scalars_0",
"id" : 0,
"fields" : [
+ ["last_ipv4_dscp", 6, false],
["tmp", 4, false],
- ["tmp_0", 1, false],
- ["tmp_1", 1, false],
- ["tmp_2", 32, false],
- ["tmp_3", 32, false],
- ["tmp_4", 32, false],
+ ["tmp_0", 32, false],
+ ["tmp_1", 32, false],
["filtering_tmp_0", 1, false],
["next_tmp_2", 1, false],
["next_tmp_3", 1, false],
["next_tmp_4", 1, false],
["next_hasReturned_0", 1, false],
+ ["process_int_main_process_int_transit_hasReturned_0", 1, false],
["fabric_metadata_t.fwd_type", 3, false],
["fabric_metadata_t.next_id", 32, false],
["fabric_metadata_t.pop_vlan_when_packet_in", 1, false],
@@ -24,8 +23,7 @@
["fabric_metadata_t.ip_proto", 8, false],
["fabric_metadata_t.l4_src_port", 16, false],
["fabric_metadata_t.l4_dst_port", 16, false],
- ["fabric_metadata_t.compute_checksum", 1, false],
- ["_padding_1", 5, false]
+ ["_padding_1", 1, false]
]
},
{
@@ -170,57 +168,18 @@
]
},
{
- "name" : "report_fixed_header_t",
- "id" : 12,
- "fields" : [
- ["ver", 4, false],
- ["nproto", 4, false],
- ["d", 1, false],
- ["q", 1, false],
- ["f", 1, false],
- ["rsvd", 15, false],
- ["hw_id", 6, false],
- ["seq_no", 32, false],
- ["ingress_tstamp", 32, false]
- ]
- },
- {
- "name" : "drop_report_header_t",
- "id" : 13,
- "fields" : [
- ["switch_id", 32, false],
- ["ingress_port_id", 16, false],
- ["egress_port_id", 16, false],
- ["queue_id", 8, false],
- ["drop_reason", 8, false],
- ["pad", 16, false]
- ]
- },
- {
- "name" : "local_report_header_t",
- "id" : 14,
- "fields" : [
- ["switch_id", 32, false],
- ["ingress_port_id", 16, false],
- ["egress_port_id", 16, false],
- ["queue_id", 8, false],
- ["queue_occupancy", 24, false],
- ["egress_tstamp", 32, false]
- ]
- },
- {
"name" : "intl4_shim_t",
- "id" : 15,
+ "id" : 12,
"fields" : [
["int_type", 8, false],
["rsvd1", 8, false],
- ["len", 8, false],
+ ["len_words", 8, false],
["rsvd2", 8, false]
]
},
{
"name" : "int_header_t",
- "id" : 16,
+ "id" : 13,
"fields" : [
["ver", 2, false],
["rep", 2, false],
@@ -238,23 +197,15 @@
]
},
{
- "name" : "int_data_t",
- "id" : 17,
- "fields" : [
- ["data", "*"]
- ],
- "max_length" : 1004
- },
- {
"name" : "int_switch_id_t",
- "id" : 18,
+ "id" : 14,
"fields" : [
["switch_id", 32, false]
]
},
{
"name" : "int_port_ids_t",
- "id" : 19,
+ "id" : 15,
"fields" : [
["ingress_port_id", 16, false],
["egress_port_id", 16, false]
@@ -262,14 +213,14 @@
},
{
"name" : "int_hop_latency_t",
- "id" : 20,
+ "id" : 16,
"fields" : [
["hop_latency", 32, false]
]
},
{
"name" : "int_q_occupancy_t",
- "id" : 21,
+ "id" : 17,
"fields" : [
["q_id", 8, false],
["q_occupancy", 24, false]
@@ -277,21 +228,21 @@
},
{
"name" : "int_ingress_tstamp_t",
- "id" : 22,
+ "id" : 18,
"fields" : [
["ingress_tstamp", 32, false]
]
},
{
"name" : "int_egress_tstamp_t",
- "id" : 23,
+ "id" : 19,
"fields" : [
["egress_tstamp", 32, false]
]
},
{
"name" : "int_q_congestion_t",
- "id" : 24,
+ "id" : 20,
"fields" : [
["q_id", 8, false],
["q_congestion", 24, false]
@@ -299,32 +250,40 @@
},
{
"name" : "int_egress_port_tx_util_t",
- "id" : 25,
+ "id" : 21,
"fields" : [
["egress_port_tx_util", 32, false]
]
},
{
+ "name" : "int_data_t",
+ "id" : 22,
+ "fields" : [
+ ["data", "*"]
+ ],
+ "max_length" : 1004
+ },
+ {
"name" : "intl4_tail_t",
- "id" : 26,
+ "id" : 23,
"fields" : [
["next_proto", 8, false],
["dest_port", 16, false],
- ["dscp", 8, false]
+ ["padding", 2, false],
+ ["dscp", 6, false]
]
},
{
"name" : "int_metadata_t",
- "id" : 27,
+ "id" : 24,
"fields" : [
+ ["source", 1, 0],
+ ["transit", 1, 0],
+ ["sink", 1, 0],
["switch_id", 32, false],
- ["insert_byte_cnt", 16, false],
- ["source", 1, false],
- ["sink", 1, false],
- ["mirror_id", 8, false],
- ["flow_id", 16, false],
- ["metadata_len", 8, false],
- ["_padding_0", 6, false]
+ ["new_words", 8, false],
+ ["new_bytes", 16, false],
+ ["_padding_0", 5, false]
]
}
],
@@ -414,167 +373,102 @@
"pi_omit" : true
},
{
- "name" : "report_ethernet",
- "id" : 12,
- "header_type" : "ethernet_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "report_ipv4",
- "id" : 13,
- "header_type" : "ipv4_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "report_udp",
- "id" : 14,
- "header_type" : "udp_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "report_fixed_header",
- "id" : 15,
- "header_type" : "report_fixed_header_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "report_local.drop_report_header",
- "id" : 16,
- "header_type" : "drop_report_header_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "report_local.local_report_header",
- "id" : 17,
- "header_type" : "local_report_header_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
"name" : "intl4_shim",
- "id" : 18,
+ "id" : 12,
"header_type" : "intl4_shim_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_header",
- "id" : 19,
+ "id" : 13,
"header_type" : "int_header_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "int_data",
- "id" : 20,
- "header_type" : "int_data_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
"name" : "int_switch_id",
- "id" : 21,
+ "id" : 14,
"header_type" : "int_switch_id_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_port_ids",
- "id" : 22,
+ "id" : 15,
"header_type" : "int_port_ids_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_hop_latency",
- "id" : 23,
+ "id" : 16,
"header_type" : "int_hop_latency_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_q_occupancy",
- "id" : 24,
+ "id" : 17,
"header_type" : "int_q_occupancy_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_ingress_tstamp",
- "id" : 25,
+ "id" : 18,
"header_type" : "int_ingress_tstamp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_egress_tstamp",
- "id" : 26,
+ "id" : 19,
"header_type" : "int_egress_tstamp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_q_congestion",
- "id" : 27,
+ "id" : 20,
"header_type" : "int_q_congestion_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_egress_tx_util",
- "id" : 28,
+ "id" : 21,
"header_type" : "int_egress_port_tx_util_t",
"metadata" : false,
"pi_omit" : true
},
{
+ "name" : "int_data",
+ "id" : 22,
+ "header_type" : "int_data_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
"name" : "intl4_tail",
- "id" : 29,
+ "id" : 23,
"header_type" : "intl4_tail_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "userMetadata.int_meta",
- "id" : 30,
+ "id" : 24,
"header_type" : "int_metadata_t",
"metadata" : true,
"pi_omit" : true
}
],
"header_stacks" : [],
- "header_union_types" : [
- {
- "name" : "local_report_t",
- "id" : 0,
- "headers" : [
- ["drop_report_header", "drop_report_header_t"],
- ["local_report_header", "local_report_header_t"]
- ]
- }
- ],
- "header_unions" : [
- {
- "name" : "report_local",
- "id" : 0,
- "union_type" : "local_report_t",
- "header_ids" : [16, 17],
- "pi_omit" : true
- }
- ],
+ "header_union_types" : [],
+ "header_unions" : [],
"header_union_stacks" : [],
- "field_lists" : [
- {
- "id" : 1,
- "name" : "fl",
- "elements" : []
- }
- ],
+ "field_lists" : [],
"errors" : [],
"enums" : [],
"parsers" : [
@@ -800,6 +694,19 @@
}
],
"op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "last_ipv4_dscp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "dscp"]
+ }
+ ],
+ "op" : "set"
}
],
"transitions" : [
@@ -895,94 +802,16 @@
}
],
"op" : "set"
- },
- {
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_0"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "?",
- "left" : {
- "type" : "hexstr",
- "value" : "0x01"
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x00"
- },
- "cond" : {
- "type" : "expression",
- "value" : {
- "op" : "and",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["ipv4", "$valid$"]
- }
- }
- },
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "dscp"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- }
- }
- }
- }
- }
- }
- ],
- "op" : "set"
}
],
"transitions" : [
{
- "type" : "hexstr",
- "value" : "0x01",
- "mask" : null,
- "next_state" : "parse_intl4_shim"
- },
- {
"value" : "default",
"mask" : null,
- "next_state" : null
+ "next_state" : "parse_int"
}
],
- "transition_key" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_0"]
- }
- ]
+ "transition_key" : []
},
{
"name" : "parse_udp",
@@ -1022,92 +851,19 @@
}
],
"op" : "set"
- },
- {
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_1"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "?",
- "left" : {
- "type" : "hexstr",
- "value" : "0x01"
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x00"
- },
- "cond" : {
- "type" : "expression",
- "value" : {
- "op" : "and",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["ipv4", "$valid$"]
- }
- }
- },
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "dscp"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- }
- }
- }
- }
- }
- }
- ],
- "op" : "set"
}
],
"transitions" : [
{
- "type" : "hexstr",
- "value" : "0x01",
- "mask" : null,
- "next_state" : "parse_intl4_shim"
- },
- {
"value" : "default",
"mask" : null,
- "next_state" : null
+ "next_state" : "parse_int"
}
],
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["udp", "dst_port"]
}
]
},
@@ -1135,8 +891,32 @@
"transition_key" : []
},
{
- "name" : "parse_intl4_shim",
+ "name" : "parse_int",
"id" : 10,
+ "parser_ops" : [],
+ "transitions" : [
+ {
+ "type" : "hexstr",
+ "value" : "0x01",
+ "mask" : "0x01",
+ "next_state" : "parse_intl4_shim"
+ },
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "last_ipv4_dscp"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_intl4_shim",
+ "id" : 11,
"parser_ops" : [
{
"parameters" : [
@@ -1155,48 +935,12 @@
}
],
"op" : "extract"
- },
- {
- "parameters" : [
- {
- "type" : "field",
- "value" : ["userMetadata.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" : [
{
"type" : "hexstr",
- "value" : "0x00",
+ "value" : "0x04",
"mask" : null,
"next_state" : "parse_intl4_tail"
},
@@ -1209,109 +953,26 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["userMetadata.int_meta", "metadata_len"]
+ "value" : ["intl4_shim", "len_words"]
}
]
},
{
"name" : "parse_int_data",
- "id" : 11,
- "parser_ops" : [
- {
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "tmp_2"]
- },
- {
- "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_2"]
- }
- }
- ],
- "op" : "extract_VL"
- }
- ],
+ "id" : 12,
+ "parser_ops" : [],
"transitions" : [
{
"value" : "default",
"mask" : null,
- "next_state" : "parse_intl4_tail"
+ "next_state" : null
}
],
"transition_key" : []
},
{
"name" : "parse_intl4_tail",
- "id" : 12,
+ "id" : 13,
"parser_ops" : [
{
"parameters" : [
@@ -1342,11 +1003,11 @@
"id" : 0,
"source_info" : {
"filename" : "include/parser.p4",
- "line" : 223,
+ "line" : 228,
"column" : 8,
"source_fragment" : "FabricDeparser"
},
- "order" : ["packet_in", "report_ethernet", "report_ipv4", "report_udp", "report_fixed_header", "ethernet", "vlan_tag", "mpls", "arp", "ipv4", "tcp", "udp", "icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_tx_util", "int_data", "intl4_tail"]
+ "order" : ["packet_in", "ethernet", "vlan_tag", "mpls", "arp", "ipv4", "tcp", "udp", "icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_tx_util", "int_data", "intl4_tail"]
}
],
"meter_arrays" : [],
@@ -1358,74 +1019,68 @@
"binding" : "FabricIngress.process_set_source_sink.tb_set_source"
},
{
- "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
- "id" : 1,
- "is_direct" : true,
- "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
- },
- {
"name" : "FabricIngress.filtering.ingress_port_vlan_counter",
- "id" : 2,
+ "id" : 1,
"is_direct" : true,
"binding" : "FabricIngress.filtering.ingress_port_vlan"
},
{
"name" : "FabricIngress.filtering.fwd_classifier_counter",
- "id" : 3,
+ "id" : 2,
"is_direct" : true,
"binding" : "FabricIngress.filtering.fwd_classifier"
},
{
"name" : "FabricIngress.forwarding.bridging_counter",
- "id" : 4,
+ "id" : 3,
"is_direct" : true,
"binding" : "FabricIngress.forwarding.bridging"
},
{
"name" : "FabricIngress.forwarding.mpls_counter",
- "id" : 5,
+ "id" : 4,
"is_direct" : true,
"binding" : "FabricIngress.forwarding.mpls"
},
{
"name" : "FabricIngress.forwarding.routing_v4_counter",
- "id" : 6,
+ "id" : 5,
"is_direct" : true,
"binding" : "FabricIngress.forwarding.routing_v4"
},
{
"name" : "FabricIngress.forwarding.acl_counter",
- "id" : 7,
+ "id" : 6,
"is_direct" : true,
"binding" : "FabricIngress.forwarding.acl"
},
{
"name" : "FabricIngress.next.vlan_meta_counter",
- "id" : 8,
+ "id" : 7,
"is_direct" : true,
"binding" : "FabricIngress.next.vlan_meta"
},
{
"name" : "FabricIngress.next.simple_counter",
- "id" : 9,
+ "id" : 8,
"is_direct" : true,
"binding" : "FabricIngress.next.simple"
},
{
"name" : "FabricIngress.next.hashed_counter",
- "id" : 10,
+ "id" : 9,
"is_direct" : true,
"binding" : "FabricIngress.next.hashed"
},
{
"name" : "FabricIngress.next.multicast_counter",
- "id" : 11,
+ "id" : 10,
"is_direct" : true,
"binding" : "FabricIngress.next.multicast"
},
{
"name" : "FabricIngress.port_counters_control.egress_port_counter",
- "id" : 12,
+ "id" : 11,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 23,
@@ -1437,7 +1092,7 @@
},
{
"name" : "FabricIngress.port_counters_control.ingress_port_counter",
- "id" : 13,
+ "id" : 12,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 24,
@@ -1448,32 +1103,14 @@
"is_direct" : false
},
{
- "name" : "FabricEgress.process_int_source.counter_int_source",
- "id" : 14,
+ "name" : "FabricEgress.process_int_main.process_int_source.counter_int_source",
+ "id" : 13,
"is_direct" : true,
- "binding" : "FabricEgress.process_int_source.tb_int_source"
- },
- {
- "name" : "FabricEgress.process_int_transit.counter_int_insert",
- "id" : 15,
- "is_direct" : true,
- "binding" : "FabricEgress.process_int_transit.tb_int_insert"
- },
- {
- "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
- "id" : 16,
- "is_direct" : true,
- "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
- },
- {
- "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
- "id" : 17,
- "is_direct" : true,
- "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
+ "binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source"
},
{
"name" : "FabricEgress.egress_next.egress_vlan_counter",
- "id" : 18,
+ "id" : 14,
"is_direct" : true,
"binding" : "FabricEgress.egress_next.egress_vlan"
}
@@ -1648,20 +1285,14 @@
"primitives" : []
},
{
- "name" : "NoAction",
+ "name" : "nop",
"id" : 7,
"runtime_data" : [],
"primitives" : []
},
{
- "name" : "nop",
- "id" : 8,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "FabricIngress.process_set_source_sink.int_set_source",
- "id" : 9,
+ "id" : 8,
"runtime_data" : [],
"primitives" : [
{
@@ -1672,48 +1303,32 @@
"value" : ["userMetadata.int_meta", "source"]
},
{
- "type" : "hexstr",
- "value" : "0x01"
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 94,
+ "filename" : "include/int/int_main.p4",
+ "line" : 42,
"column" : 8,
- "source_fragment" : "fabric_metadata.int_meta.source = 1"
- }
- }
- ]
- },
- {
- "name" : "FabricIngress.process_set_source_sink.int_set_sink",
- "id" : 10,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "sink"]
- },
- {
- "type" : "hexstr",
- "value" : "0x01"
- }
- ],
- "source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 98,
- "column" : 8,
- "source_fragment" : "fabric_metadata.int_meta.sink = 1"
+ "source_fragment" : "fabric_metadata.int_meta.source = true"
}
}
]
},
{
"name" : "FabricIngress.filtering.drop",
- "id" : 11,
+ "id" : 9,
"runtime_data" : [],
"primitives" : [
{
@@ -1730,7 +1345,7 @@
},
{
"name" : "FabricIngress.filtering.set_vlan",
- "id" : 12,
+ "id" : 10,
"runtime_data" : [
{
"name" : "new_vlan_id",
@@ -1761,7 +1376,7 @@
},
{
"name" : "FabricIngress.filtering.push_internal_vlan",
- "id" : 13,
+ "id" : 11,
"runtime_data" : [
{
"name" : "new_vlan_id",
@@ -1855,7 +1470,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 89,
+ "line" : 91,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -1912,13 +1527,13 @@
},
{
"name" : "FabricIngress.filtering.nop_ingress_port_vlan",
- "id" : 14,
+ "id" : 12,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricIngress.filtering.set_forwarding_type",
- "id" : 15,
+ "id" : 13,
"runtime_data" : [
{
"name" : "fwd_type",
@@ -1949,7 +1564,7 @@
},
{
"name" : "FabricIngress.forwarding.set_next_id_bridging",
- "id" : 16,
+ "id" : 14,
"runtime_data" : [
{
"name" : "next_id",
@@ -1980,7 +1595,7 @@
},
{
"name" : "FabricIngress.forwarding.pop_mpls_and_next",
- "id" : 17,
+ "id" : 15,
"runtime_data" : [
{
"name" : "next_id",
@@ -2026,7 +1641,7 @@
},
{
"name" : "FabricIngress.forwarding.set_next_id_routing_v4",
- "id" : 18,
+ "id" : 16,
"runtime_data" : [
{
"name" : "next_id",
@@ -2057,13 +1672,13 @@
},
{
"name" : "FabricIngress.forwarding.nop_routing_v4",
- "id" : 19,
+ "id" : 17,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricIngress.forwarding.set_next_id_acl",
- "id" : 20,
+ "id" : 18,
"runtime_data" : [
{
"name" : "next_id",
@@ -2094,7 +1709,7 @@
},
{
"name" : "FabricIngress.forwarding.punt_to_cpu",
- "id" : 21,
+ "id" : 19,
"runtime_data" : [],
"primitives" : [
{
@@ -2130,7 +1745,7 @@
},
{
"name" : "FabricIngress.forwarding.clone_to_cpu",
- "id" : 22,
+ "id" : 20,
"runtime_data" : [],
"primitives" : [
{
@@ -2166,7 +1781,7 @@
},
{
"name" : "FabricIngress.forwarding.drop",
- "id" : 23,
+ "id" : 21,
"runtime_data" : [],
"primitives" : [
{
@@ -2183,13 +1798,13 @@
},
{
"name" : "FabricIngress.forwarding.nop_acl",
- "id" : 24,
+ "id" : 22,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricIngress.next.set_vlan",
- "id" : 25,
+ "id" : 23,
"runtime_data" : [
{
"name" : "new_vlan_id",
@@ -2220,7 +1835,7 @@
},
{
"name" : "FabricIngress.next.output_simple",
- "id" : 26,
+ "id" : 24,
"runtime_data" : [
{
"name" : "port_num",
@@ -2251,7 +1866,7 @@
},
{
"name" : "FabricIngress.next.set_vlan_output",
- "id" : 27,
+ "id" : 25,
"runtime_data" : [
{
"name" : "new_vlan_id",
@@ -2305,7 +1920,7 @@
},
{
"name" : "FabricIngress.next.l3_routing_simple",
- "id" : 28,
+ "id" : 26,
"runtime_data" : [
{
"name" : "port_num",
@@ -2382,7 +1997,7 @@
},
{
"name" : "FabricIngress.next.mpls_routing_v4_simple",
- "id" : 29,
+ "id" : 27,
"runtime_data" : [
{
"name" : "port_num",
@@ -2488,7 +2103,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -2564,7 +2179,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -2573,7 +2188,7 @@
},
{
"name" : "FabricIngress.next.mpls_routing_v6_simple",
- "id" : 30,
+ "id" : 28,
"runtime_data" : [
{
"name" : "port_num",
@@ -2679,7 +2294,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -2755,7 +2370,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -2764,7 +2379,7 @@
},
{
"name" : "FabricIngress.next.l3_routing_vlan",
- "id" : 31,
+ "id" : 29,
"runtime_data" : [
{
"name" : "port_num",
@@ -2864,7 +2479,7 @@
},
{
"name" : "FabricIngress.next.l3_routing_hashed",
- "id" : 32,
+ "id" : 30,
"runtime_data" : [
{
"name" : "port_num",
@@ -2941,7 +2556,7 @@
},
{
"name" : "FabricIngress.next.mpls_routing_v4_hashed",
- "id" : 33,
+ "id" : 31,
"runtime_data" : [
{
"name" : "port_num",
@@ -3047,7 +2662,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -3123,7 +2738,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -3132,7 +2747,7 @@
},
{
"name" : "FabricIngress.next.mpls_routing_v6_hashed",
- "id" : 34,
+ "id" : 32,
"runtime_data" : [
{
"name" : "port_num",
@@ -3238,7 +2853,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -3314,7 +2929,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -3323,7 +2938,7 @@
},
{
"name" : "FabricIngress.next.set_mcast_group",
- "id" : 35,
+ "id" : 33,
"runtime_data" : [
{
"name" : "gid",
@@ -3383,7 +2998,7 @@
},
{
"name" : "act",
- "id" : 36,
+ "id" : 34,
"runtime_data" : [],
"primitives" : [
{
@@ -3453,7 +3068,7 @@
},
{
"name" : "act_0",
- "id" : 37,
+ "id" : 35,
"runtime_data" : [],
"primitives" : [
{
@@ -3483,7 +3098,7 @@
},
{
"name" : "act_1",
- "id" : 38,
+ "id" : 36,
"runtime_data" : [],
"primitives" : [
{
@@ -3513,7 +3128,7 @@
},
{
"name" : "act_2",
- "id" : 39,
+ "id" : 37,
"runtime_data" : [],
"primitives" : [
{
@@ -3530,7 +3145,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 109,
+ "line" : 111,
"column" : 31,
"source_fragment" : "7; ..."
}
@@ -3539,7 +3154,7 @@
},
{
"name" : "act_3",
- "id" : 40,
+ "id" : 38,
"runtime_data" : [],
"primitives" : [
{
@@ -3556,7 +3171,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 92,
+ "line" : 94,
"column" : 31,
"source_fragment" : "0x0800; ..."
}
@@ -3565,7 +3180,7 @@
},
{
"name" : "act_4",
- "id" : 41,
+ "id" : 39,
"runtime_data" : [],
"primitives" : [
{
@@ -3595,7 +3210,7 @@
},
{
"name" : "act_5",
- "id" : 42,
+ "id" : 40,
"runtime_data" : [],
"primitives" : [
{
@@ -3625,7 +3240,7 @@
},
{
"name" : "act_6",
- "id" : 43,
+ "id" : 41,
"runtime_data" : [],
"primitives" : [
{
@@ -3655,7 +3270,7 @@
},
{
"name" : "act_7",
- "id" : 44,
+ "id" : 42,
"runtime_data" : [],
"primitives" : [
{
@@ -3685,7 +3300,7 @@
},
{
"name" : "act_8",
- "id" : 45,
+ "id" : 43,
"runtime_data" : [],
"primitives" : [
{
@@ -3715,7 +3330,7 @@
},
{
"name" : "act_9",
- "id" : 46,
+ "id" : 44,
"runtime_data" : [],
"primitives" : [
{
@@ -3745,7 +3360,7 @@
},
{
"name" : "act_10",
- "id" : 47,
+ "id" : 45,
"runtime_data" : [],
"primitives" : [
{
@@ -3775,7 +3390,7 @@
},
{
"name" : "act_11",
- "id" : 48,
+ "id" : 46,
"runtime_data" : [],
"primitives" : [
{
@@ -3811,7 +3426,7 @@
},
{
"name" : "act_12",
- "id" : 49,
+ "id" : 47,
"runtime_data" : [],
"primitives" : [
{
@@ -3860,7 +3475,7 @@
},
{
"name" : "act_13",
- "id" : 50,
+ "id" : 48,
"runtime_data" : [],
"primitives" : [
{
@@ -3868,7 +3483,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_0"]
},
{
"type" : "expression",
@@ -3904,7 +3519,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_0"]
}
],
"source_info" : {
@@ -3918,7 +3533,7 @@
},
{
"name" : "act_14",
- "id" : 51,
+ "id" : 49,
"runtime_data" : [],
"primitives" : [
{
@@ -3926,7 +3541,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_4"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "expression",
@@ -3962,7 +3577,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_4"]
+ "value" : ["scalars", "tmp_1"]
}
],
"source_info" : {
@@ -3975,24 +3590,22 @@
]
},
{
- "name" : "act_15",
+ "name" : "NoAction",
+ "id" : 50,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "NoAction",
+ "id" : 51,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "NoAction",
"id" : 52,
"runtime_data" : [],
- "primitives" : [
- {
- "op" : "clone_ingress_pkt_to_egress",
- "parameters" : [
- {
- "type" : "hexstr",
- "value" : "0x000001f4"
- },
- {
- "type" : "hexstr",
- "value" : "0x1"
- }
- ]
- }
- ]
+ "primitives" : []
},
{
"name" : "NoAction",
@@ -4001,92 +3614,68 @@
"primitives" : []
},
{
- "name" : "NoAction",
+ "name" : "nop",
"id" : 54,
"runtime_data" : [],
"primitives" : []
},
{
- "name" : "NoAction",
+ "name" : "drop_now",
"id" : 55,
"runtime_data" : [],
- "primitives" : []
+ "primitives" : [
+ {
+ "op" : "drop",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/../action.p4",
+ "line" : 24,
+ "column" : 4,
+ "source_fragment" : "mark_to_drop()"
+ }
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/../action.p4",
+ "line" : 25,
+ "column" : 4,
+ "source_fragment" : "exit"
+ }
+ }
+ ]
},
{
- "name" : "NoAction",
+ "name" : "drop_now",
"id" : 56,
"runtime_data" : [],
- "primitives" : []
+ "primitives" : [
+ {
+ "op" : "drop",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/../action.p4",
+ "line" : 24,
+ "column" : 4,
+ "source_fragment" : "mark_to_drop()"
+ }
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/../action.p4",
+ "line" : 25,
+ "column" : 4,
+ "source_fragment" : "exit"
+ }
+ }
+ ]
},
{
- "name" : "NoAction",
+ "name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
"id" : 57,
- "runtime_data" : [],
- "primitives" : []
- },
- {
- "name" : "nop",
- "id" : 58,
- "runtime_data" : [],
- "primitives" : []
- },
- {
- "name" : "drop_now",
- "id" : 59,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "drop",
- "parameters" : [],
- "source_info" : {
- "filename" : "include/control/../action.p4",
- "line" : 24,
- "column" : 4,
- "source_fragment" : "mark_to_drop()"
- }
- },
- {
- "op" : "exit",
- "parameters" : [],
- "source_info" : {
- "filename" : "include/control/../action.p4",
- "line" : 25,
- "column" : 4,
- "source_fragment" : "exit"
- }
- }
- ]
- },
- {
- "name" : "drop_now",
- "id" : 60,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "drop",
- "parameters" : [],
- "source_info" : {
- "filename" : "include/control/../action.p4",
- "line" : 24,
- "column" : 4,
- "source_fragment" : "mark_to_drop()"
- }
- },
- {
- "op" : "exit",
- "parameters" : [],
- "source_info" : {
- "filename" : "include/control/../action.p4",
- "line" : 25,
- "column" : 4,
- "source_fragment" : "exit"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_source.int_source_dscp",
- "id" : 61,
"runtime_data" : [
{
"name" : "max_hop",
@@ -4115,7 +3704,7 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
+ "filename" : "include/int/int_source.p4",
"line" : 31,
"column" : 8,
"source_fragment" : "hdr.intl4_shim.setValid()"
@@ -4134,7 +3723,7 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
+ "filename" : "include/int/int_source.p4",
"line" : 33,
"column" : 8,
"source_fragment" : "hdr.intl4_shim.int_type = 1"
@@ -4145,7 +3734,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["intl4_shim", "len"]
+ "value" : ["intl4_shim", "len_words"]
},
{
"type" : "hexstr",
@@ -4154,8 +3743,8 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 127,
- "column" : 35,
+ "line" : 131,
+ "column" : 36,
"source_fragment" : "4; ..."
}
},
@@ -4168,8 +3757,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 37,
+ "filename" : "include/int/int_source.p4",
+ "line" : 36,
"column" : 8,
"source_fragment" : "hdr.int_header.setValid()"
}
@@ -4187,8 +3776,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 38,
+ "filename" : "include/int/int_source.p4",
+ "line" : 37,
"column" : 8,
"source_fragment" : "hdr.int_header.ver = 0"
}
@@ -4206,8 +3795,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 39,
+ "filename" : "include/int/int_source.p4",
+ "line" : 38,
"column" : 8,
"source_fragment" : "hdr.int_header.rep = 0"
}
@@ -4225,8 +3814,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 40,
+ "filename" : "include/int/int_source.p4",
+ "line" : 39,
"column" : 8,
"source_fragment" : "hdr.int_header.c = 0"
}
@@ -4244,8 +3833,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 41,
+ "filename" : "include/int/int_source.p4",
+ "line" : 40,
"column" : 8,
"source_fragment" : "hdr.int_header.e = 0"
}
@@ -4263,8 +3852,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 42,
+ "filename" : "include/int/int_source.p4",
+ "line" : 41,
"column" : 8,
"source_fragment" : "hdr.int_header.rsvd1 = 0"
}
@@ -4282,8 +3871,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 43,
+ "filename" : "include/int/int_source.p4",
+ "line" : 42,
"column" : 8,
"source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
}
@@ -4301,8 +3890,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 44,
+ "filename" : "include/int/int_source.p4",
+ "line" : 43,
"column" : 8,
"source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
}
@@ -4320,8 +3909,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 45,
+ "filename" : "include/int/int_source.p4",
+ "line" : 44,
"column" : 8,
"source_fragment" : "hdr.int_header.total_hop_cnt = 0"
}
@@ -4339,8 +3928,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 46,
+ "filename" : "include/int/int_source.p4",
+ "line" : 45,
"column" : 8,
"source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
}
@@ -4358,8 +3947,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 47,
+ "filename" : "include/int/int_source.p4",
+ "line" : 46,
"column" : 8,
"source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
}
@@ -4377,8 +3966,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 48,
+ "filename" : "include/int/int_source.p4",
+ "line" : 47,
"column" : 8,
"source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
}
@@ -4396,8 +3985,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 49,
+ "filename" : "include/int/int_source.p4",
+ "line" : 48,
"column" : 8,
"source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
}
@@ -4411,8 +4000,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 52,
+ "filename" : "include/int/int_source.p4",
+ "line" : 50,
"column" : 8,
"source_fragment" : "hdr.intl4_tail.setValid()"
}
@@ -4430,8 +4019,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 53,
+ "filename" : "include/int/int_source.p4",
+ "line" : 51,
"column" : 8,
"source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
}
@@ -4449,8 +4038,8 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 54,
+ "filename" : "include/int/int_source.p4",
+ "line" : 52,
"column" : 8,
"source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
}
@@ -4463,28 +4052,15 @@
"value" : ["intl4_tail", "dscp"]
},
{
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "dscp"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xff"
- }
- }
- }
+ "type" : "field",
+ "value" : ["ipv4", "dscp"]
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 55,
+ "filename" : "include/int/int_source.p4",
+ "line" : 53,
"column" : 8,
- "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
+ "source_fragment" : "hdr.intl4_tail.dscp = hdr.ipv4.dscp"
}
},
{
@@ -4523,10 +4099,10 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 58,
+ "filename" : "include/int/int_source.p4",
+ "line" : 55,
"column" : 8,
- "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
+ "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + INT_HEADER_LEN_BYTES"
}
},
{
@@ -4565,10 +4141,10 @@
}
],
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 59,
+ "filename" : "include/int/int_source.p4",
+ "line" : 56,
"column" : 8,
- "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
+ "source_fragment" : "hdr.udp.len = hdr.udp.len + INT_HEADER_LEN_BYTES"
}
},
{
@@ -4585,7 +4161,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 125,
+ "line" : 127,
"column" : 24,
"source_fragment" : "0x1; ..."
}
@@ -4593,57 +4169,8 @@
]
},
{
- "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
- "id" : 62,
- "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" : "FabricEgress.process_int_transit.int_transit",
- "id" : 63,
+ "name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
+ "id" : 58,
"runtime_data" : [
{
"name" : "switch_id",
@@ -4656,4046 +4183,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["userMetadata.int_meta", "switch_id"]
- },
- {
- "type" : "runtime_data",
- "value" : 0
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 34,
- "column" : 8,
- "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["userMetadata.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" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
- "id" : 64,
- "runtime_data" : [],
- "primitives" : []
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
- "id" : 65,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
- "id" : 66,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
- "id" : 67,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
- "id" : 68,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
- "id" : 69,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
- "id" : 70,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
- "id" : 71,
- "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" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
- "id" : 72,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
- "id" : 73,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
- "id" : 74,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
- "id" : 75,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
- "id" : 76,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
- "id" : 77,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
- "id" : 78,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
- "id" : 79,
- "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" : ["userMetadata.int_meta", "switch_id"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
- "id" : 80,
- "runtime_data" : [],
- "primitives" : []
- },
- {
- "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
- "id" : 81,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
- "id" : 82,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
- "id" : 83,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
- "id" : 84,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
- "id" : 85,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
- "id" : 86,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
- "id" : 87,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
- "id" : 88,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
- "id" : 89,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
- "id" : 90,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
- "id" : 91,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
- "id" : 92,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
- "id" : 93,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
- "id" : 94,
- "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" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
- "id" : 95,
- "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" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
- "id" : 96,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["ipv4", "total_len"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "+",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "total_len"]
- },
- "right" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 304,
- "column" : 8,
- "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
- "id" : 97,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["udp", "len"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "+",
- "left" : {
- "type" : "field",
- "value" : ["udp", "len"]
- },
- "right" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 307,
- "column" : 8,
- "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
- "id" : 98,
- "runtime_data" : [],
- "primitives" : [
- {
- "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" : "FabricEgress.process_int_report.do_report_encapsulation",
- "id" : 99,
- "runtime_data" : [
- {
- "name" : "src_mac",
- "bitwidth" : 48
- },
- {
- "name" : "mon_mac",
- "bitwidth" : 48
- },
- {
- "name" : "src_ip",
- "bitwidth" : 32
- },
- {
- "name" : "mon_ip",
- "bitwidth" : 32
- },
- {
- "name" : "mon_port",
- "bitwidth" : 16
- }
- ],
- "primitives" : [
- {
- "op" : "add_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "report_ethernet"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 50,
- "column" : 8,
- "source_fragment" : "hdr.report_ethernet.setValid()"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ethernet", "dst_addr"]
- },
- {
- "type" : "runtime_data",
- "value" : 1
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 51,
- "column" : 8,
- "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ethernet", "src_addr"]
- },
- {
- "type" : "runtime_data",
- "value" : 0
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 52,
- "column" : 8,
- "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ethernet", "ether_type"]
- },
- {
- "type" : "hexstr",
- "value" : "0x0800"
- }
- ],
- "source_info" : {
- "filename" : "include/control/../define.p4",
- "line" : 92,
- "column" : 31,
- "source_fragment" : "0x0800; ..."
- }
- },
- {
- "op" : "add_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "report_ipv4"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 56,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.setValid()"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "version"]
- },
- {
- "type" : "hexstr",
- "value" : "0x04"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 57,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.version = 4w4"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "ihl"]
- },
- {
- "type" : "hexstr",
- "value" : "0x05"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 58,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "dscp"]
- },
- {
- "type" : "hexstr",
- "value" : "0x00"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 59,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "ecn"]
- },
- {
- "type" : "hexstr",
- "value" : "0x00"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 60,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "total_len"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "+",
- "left" : {
- "type" : "hexstr",
- "value" : "0x0036"
- },
- "right" : {
- "type" : "field",
- "value" : ["ipv4", "total_len"]
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 62,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "identification"]
- },
- {
- "type" : "hexstr",
- "value" : "0x0000"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 65,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.identification = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "flags"]
- },
- {
- "type" : "hexstr",
- "value" : "0x00"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 66,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.flags = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "frag_offset"]
- },
- {
- "type" : "hexstr",
- "value" : "0x0000"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 67,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "ttl"]
- },
- {
- "type" : "hexstr",
- "value" : "0xff"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 68,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "protocol"]
- },
- {
- "type" : "hexstr",
- "value" : "0x11"
- }
- ],
- "source_info" : {
- "filename" : "include/control/../define.p4",
- "line" : 98,
- "column" : 25,
- "source_fragment" : "17; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "src_addr"]
- },
- {
- "type" : "runtime_data",
- "value" : 2
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 70,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_ipv4", "dst_addr"]
- },
- {
- "type" : "runtime_data",
- "value" : 3
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 71,
- "column" : 8,
- "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
- }
- },
- {
- "op" : "add_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "report_udp"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 74,
- "column" : 8,
- "source_fragment" : "hdr.report_udp.setValid()"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_udp", "src_port"]
- },
- {
- "type" : "hexstr",
- "value" : "0x0000"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 75,
- "column" : 8,
- "source_fragment" : "hdr.report_udp.src_port = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_udp", "dst_port"]
- },
- {
- "type" : "runtime_data",
- "value" : 4
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 76,
- "column" : 8,
- "source_fragment" : "hdr.report_udp.dst_port = mon_port"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_udp", "len"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "+",
- "left" : {
- "type" : "hexstr",
- "value" : "0x0022"
- },
- "right" : {
- "type" : "field",
- "value" : ["ipv4", "total_len"]
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 77,
- "column" : 8,
- "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
+ "value" : ["userMetadata.int_meta", "transit"]
},
{
"type" : "expression",
@@ -8713,25 +4201,10 @@
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 80,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 26,
"column" : 8,
- "source_fragment" : "fabric_metadata.compute_checksum = true"
- }
- },
- {
- "op" : "add_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "report_fixed_header"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 30,
- "column" : 8,
- "source_fragment" : "hdr.report_fixed_header.setValid()"
+ "source_fragment" : "fmeta.int_meta.transit = true"
}
},
{
@@ -8739,196 +4212,46 @@
"parameters" : [
{
"type" : "field",
- "value" : ["report_fixed_header", "ver"]
+ "value" : ["userMetadata.int_meta", "switch_id"]
},
{
- "type" : "hexstr",
- "value" : "0x00"
+ "type" : "runtime_data",
+ "value" : 0
}
],
"source_info" : {
- "filename" : "include/int_report.p4",
+ "filename" : "include/int/int_transit.p4",
"line" : 31,
"column" : 8,
- "source_fragment" : "hdr.report_fixed_header.ver = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_fixed_header", "nproto"]
- },
- {
- "type" : "hexstr",
- "value" : "0x00"
- }
- ],
- "source_info" : {
- "filename" : "include/control/../define.p4",
- "line" : 132,
- "column" : 31,
- "source_fragment" : "0; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_fixed_header", "d"]
- },
- {
- "type" : "hexstr",
- "value" : "0x00"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 34,
- "column" : 8,
- "source_fragment" : "hdr.report_fixed_header.d = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_fixed_header", "q"]
- },
- {
- "type" : "hexstr",
- "value" : "0x00"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 35,
- "column" : 8,
- "source_fragment" : "hdr.report_fixed_header.q = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_fixed_header", "f"]
- },
- {
- "type" : "hexstr",
- "value" : "0x01"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 36,
- "column" : 8,
- "source_fragment" : "hdr.report_fixed_header.f = 1"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_fixed_header", "rsvd"]
- },
- {
- "type" : "hexstr",
- "value" : "0x0000"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 37,
- "column" : 8,
- "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_fixed_header", "hw_id"]
- },
- {
- "type" : "hexstr",
- "value" : "0x01"
- }
- ],
- "source_info" : {
- "filename" : "include/control/../define.p4",
- "line" : 136,
- "column" : 21,
- "source_fragment" : "1; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_fixed_header", "seq_no"]
- },
- {
- "type" : "hexstr",
- "value" : "0x00000000"
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 41,
- "column" : 8,
- "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["report_fixed_header", "ingress_tstamp"]
- },
- {
- "type" : "field",
- "value" : ["standard_metadata", "enq_timestamp"]
- }
- ],
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 43,
- "column" : 8,
- "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
+ "source_fragment" : "fmeta.int_meta.switch_id = switch_id"
}
}
]
},
{
- "name" : "FabricEgress.process_int_sink.restore_header",
- "id" : 100,
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
+ "id" : 59,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
+ "id" : 60,
"runtime_data" : [],
"primitives" : [
{
- "op" : "assign",
+ "op" : "add_header",
"parameters" : [
{
- "type" : "field",
- "value" : ["udp", "dst_port"]
- },
- {
- "type" : "field",
- "value" : ["intl4_tail", "dest_port"]
+ "type" : "header",
+ "value" : "int_q_occupancy"
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 26,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
"column" : 8,
- "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
}
},
{
@@ -8936,7 +4259,26 @@
"parameters" : [
{
"type" : "field",
- "value" : ["ipv4", "dscp"]
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_occupancy"]
},
{
"type" : "expression",
@@ -8946,266 +4288,116 @@
"op" : "&",
"left" : {
"type" : "field",
- "value" : ["intl4_tail", "dscp"]
+ "value" : ["standard_metadata", "deq_qdepth"]
},
"right" : {
"type" : "hexstr",
- "value" : "0x3f"
+ "value" : "0xffffff"
}
}
}
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 27,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 59,
"column" : 8,
- "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
}
}
]
},
{
- "name" : "FabricEgress.process_int_sink.int_sink",
- "id" : 101,
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["ipv4", "total_len"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "-",
- "left" : {
- "type" : "field",
- "value" : ["ipv4", "total_len"]
- },
- "right" : {
- "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" : "0x2"
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xff"
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 32,
- "column" : 8,
- "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["udp", "len"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "&",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "-",
- "left" : {
- "type" : "field",
- "value" : ["udp", "len"]
- },
- "right" : {
- "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" : "0x2"
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xff"
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0xffff"
- }
- }
- }
- }
- ],
- "source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 33,
- "column" : 8,
- "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
- }
- },
- {
- "op" : "remove_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "int_header"
- }
- ],
- "source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 35,
- "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" : 36,
- "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" : 37,
- "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" : 38,
- "column" : 8,
- "source_fragment" : "hdr.intl4_tail.setInvalid()"
- }
- },
- {
- "op" : "remove_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "int_switch_id"
- }
- ],
- "source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 39,
- "column" : 8,
- "source_fragment" : "hdr.int_switch_id.setInvalid()"
- }
- },
- {
- "op" : "remove_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "int_port_ids"
- }
- ],
- "source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 40,
- "column" : 8,
- "source_fragment" : "hdr.int_port_ids.setInvalid()"
- }
- },
- {
- "op" : "remove_header",
+ "op" : "add_header",
"parameters" : [
{
"type" : "header",
@@ -9213,14 +4405,124 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 41,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 51,
"column" : 8,
- "source_fragment" : "hdr.int_hop_latency.setInvalid()"
+ "source_fragment" : "hdr.int_hop_latency.setValid()"
}
},
{
- "op" : "remove_header",
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_hop_latency", "hop_latency"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
+ "id" : 62,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
"parameters" : [
{
"type" : "header",
@@ -9228,59 +4530,2792 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 42,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
"column" : 8,
- "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
+ "source_fragment" : "hdr.int_q_occupancy.setValid()"
}
},
{
- "op" : "remove_header",
+ "op" : "assign",
"parameters" : [
{
- "type" : "header",
- "value" : "int_ingress_tstamp"
+ "type" : "field",
+ "value" : ["int_q_occupancy", "q_id"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 43,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 58,
"column" : 8,
- "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
}
},
{
- "op" : "remove_header",
+ "op" : "assign",
"parameters" : [
{
- "type" : "header",
- "value" : "int_egress_tstamp"
+ "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_sink.p4",
- "line" : 44,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 59,
"column" : 8,
- "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
}
},
{
- "op" : "remove_header",
+ "op" : "add_header",
"parameters" : [
{
"type" : "header",
- "value" : "int_q_congestion"
+ "value" : "int_hop_latency"
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
+ "id" : 63,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
"line" : 45,
"column" : 8,
- "source_fragment" : "hdr.int_q_congestion.setInvalid()"
+ "source_fragment" : "hdr.int_port_ids.setValid()"
}
},
{
- "op" : "remove_header",
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
+ "id" : 64,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
+ "id" : 65,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
+ "id" : 66,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
+ "id" : 67,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
+ "id" : 68,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
+ "id" : 69,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
+ "id" : 70,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
+ "id" : 71,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
+ "id" : 72,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
+ "id" : 73,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
+ "id" : 74,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_occupancy"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 56,
+ "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/int_transit.p4",
+ "line" : 58,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 59,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_hop_latency"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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/int_transit.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_port_ids"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 45,
+ "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/int_transit.p4",
+ "line" : 46,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
+ }
+ },
+ {
+ "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/int_transit.p4",
+ "line" : 47,
+ "column" : 8,
+ "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_switch_id"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/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" : ["userMetadata.int_meta", "switch_id"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 41,
+ "column" : 8,
+ "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x04"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 103,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0010"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 104,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
+ "id" : 75,
+ "runtime_data" : [],
+ "primitives" : []
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
+ "id" : 76,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
"parameters" : [
{
"type" : "header",
@@ -9288,17 +7323,2784 @@
}
],
"source_info" : {
- "filename" : "include/int_sink.p4",
- "line" : 46,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
"column" : 8,
- "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
+ "id" : 77,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
+ "id" : 78,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
+ "id" : 79,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
+ "id" : 80,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
+ "id" : 81,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
+ "id" : 82,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
+ "id" : 83,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 88,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0004"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 89,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
+ "id" : 84,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
+ "id" : 85,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
+ "id" : 86,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
+ "id" : 87,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x02"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 93,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0008"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 94,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
+ "id" : 88,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
+ "id" : 89,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x03"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 98,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x000c"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 99,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
+ "id" : 90,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tx_util"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 80,
+ "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/int_transit.p4",
+ "line" : 82,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_q_congestion"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 73,
+ "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/int_transit.p4",
+ "line" : 75,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["int_q_congestion", "q_congestion"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 76,
+ "column" : 8,
+ "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_egress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 68,
+ "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/int_transit.p4",
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "int_ingress_tstamp"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 63,
+ "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/int_transit.p4",
+ "line" : 64,
+ "column" : 8,
+ "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x04"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 103,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x0010"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 104,
+ "column" : 8,
+ "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
}
}
]
},
{
"name" : "FabricEgress.pkt_io_egress.pop_vlan",
- "id" : 102,
+ "id" : 91,
"runtime_data" : [],
"primitives" : [
{
@@ -9315,7 +10117,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 39,
+ "line" : 40,
"column" : 8,
"source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
}
@@ -9330,7 +10132,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 40,
+ "line" : 41,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -9339,7 +10141,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 103,
+ "id" : 92,
"runtime_data" : [],
"primitives" : [
{
@@ -9379,8 +10181,8 @@
]
},
{
- "name" : "act_16",
- "id" : 104,
+ "name" : "act_15",
+ "id" : 93,
"runtime_data" : [],
"primitives" : [
{
@@ -9393,7 +10195,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 56,
+ "line" : 57,
"column" : 12,
"source_fragment" : "hdr.packet_in.setValid()"
}
@@ -9412,12 +10214,274 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 57,
+ "line" : 58,
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
}
]
+ },
+ {
+ "name" : "act_16",
+ "id" : 94,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : false
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name" : "act_17",
+ "id" : 95,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 370,
+ "column" : 12,
+ "source_fragment" : "return"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_18",
+ "id" : 96,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ipv4", "total_len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["ipv4", "total_len"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 378,
+ "column" : 12,
+ "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fmeta.int_meta.new_bytes"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_19",
+ "id" : 97,
+ "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/int_transit.p4",
+ "line" : 375,
+ "column" : 8,
+ "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_20",
+ "id" : 98,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "len"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["udp", "len"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_bytes"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 381,
+ "column" : 12,
+ "source_fragment" : "hdr.udp.len = hdr.udp.len + fmeta.int_meta.new_bytes"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_21",
+ "id" : 99,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["intl4_shim", "len_words"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "+",
+ "left" : {
+ "type" : "field",
+ "value" : ["intl4_shim", "len_words"]
+ },
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "new_words"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xff"
+ }
+ }
+ }
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 384,
+ "column" : 12,
+ "source_fragment" : "hdr.intl4_shim.len_words = hdr.intl4_shim.len_words + fmeta.int_meta.new_words"
+ }
+ }
+ ]
}
],
"pipelines" : [
@@ -9426,7 +10490,7 @@
"id" : 0,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 43,
+ "line" : 40,
"column" : 8,
"source_fragment" : "FabricIngress"
},
@@ -9442,14 +10506,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [36],
+ "action_ids" : [34],
"actions" : ["act"],
"base_default_next" : null,
"next_tables" : {
"act" : null
},
"default_entry" : {
- "action_id" : 36,
+ "action_id" : 34,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9490,7 +10554,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [13, 12, 11, 14],
+ "action_ids" : [11, 10, 9, 12],
"actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
"base_default_next" : null,
"next_tables" : {
@@ -9498,7 +10562,7 @@
"__MISS__" : "tbl_act_1"
},
"default_entry" : {
- "action_id" : 13,
+ "action_id" : 11,
"action_const" : true,
"action_data" : ["0xffe"],
"action_entry_const" : true
@@ -9514,14 +10578,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [37],
+ "action_ids" : [35],
"actions" : ["act_0"],
"base_default_next" : "node_7",
"next_tables" : {
"act_0" : "node_7"
},
"default_entry" : {
- "action_id" : 37,
+ "action_id" : 35,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9537,14 +10601,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [38],
+ "action_ids" : [36],
"actions" : ["act_1"],
"base_default_next" : "node_7",
"next_tables" : {
"act_1" : "node_7"
},
"default_entry" : {
- "action_id" : 38,
+ "action_id" : 36,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9585,14 +10649,14 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [15],
+ "action_ids" : [13],
"actions" : ["FabricIngress.filtering.set_forwarding_type"],
"base_default_next" : "node_10",
"next_tables" : {
"FabricIngress.filtering.set_forwarding_type" : "node_10"
},
"default_entry" : {
- "action_id" : 15,
+ "action_id" : 13,
"action_const" : true,
"action_data" : ["0x0"],
"action_entry_const" : true
@@ -9608,14 +10672,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [39],
+ "action_ids" : [37],
"actions" : ["act_2"],
"base_default_next" : "node_10",
"next_tables" : {
"act_2" : "node_10"
},
"default_entry" : {
- "action_id" : 39,
+ "action_id" : 37,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9650,7 +10714,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [16, 2],
+ "action_ids" : [14, 1],
"actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
"base_default_next" : "FabricIngress.forwarding.acl",
"next_tables" : {
@@ -9658,7 +10722,7 @@
"NoAction" : "FabricIngress.forwarding.acl"
},
"default_entry" : {
- "action_id" : 2,
+ "action_id" : 1,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -9687,7 +10751,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [17, 3],
+ "action_ids" : [15, 2],
"actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
"base_default_next" : "tbl_act_3",
"next_tables" : {
@@ -9695,7 +10759,7 @@
"NoAction" : "tbl_act_3"
},
"default_entry" : {
- "action_id" : 3,
+ "action_id" : 2,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -9711,14 +10775,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [40],
+ "action_ids" : [38],
"actions" : ["act_3"],
"base_default_next" : "FabricIngress.forwarding.acl",
"next_tables" : {
"act_3" : "FabricIngress.forwarding.acl"
},
"default_entry" : {
- "action_id" : 40,
+ "action_id" : 38,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9747,7 +10811,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [18, 19, 4],
+ "action_ids" : [16, 17, 3],
"actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"],
"base_default_next" : "FabricIngress.forwarding.acl",
"next_tables" : {
@@ -9756,7 +10820,7 @@
"NoAction" : "FabricIngress.forwarding.acl"
},
"default_entry" : {
- "action_id" : 4,
+ "action_id" : 3,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -9851,7 +10915,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [20, 21, 22, 23, 24],
+ "action_ids" : [18, 19, 20, 21, 22],
"actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"],
"base_default_next" : "tbl_act_4",
"next_tables" : {
@@ -9862,7 +10926,7 @@
"FabricIngress.forwarding.nop_acl" : "tbl_act_4"
},
"default_entry" : {
- "action_id" : 24,
+ "action_id" : 22,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9878,14 +10942,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [41],
+ "action_ids" : [39],
"actions" : ["act_4"],
"base_default_next" : "FabricIngress.next.vlan_meta",
"next_tables" : {
"act_4" : "FabricIngress.next.vlan_meta"
},
"default_entry" : {
- "action_id" : 41,
+ "action_id" : 39,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9914,7 +10978,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [25, 8],
+ "action_ids" : [23, 7],
"actions" : ["FabricIngress.next.set_vlan", "nop"],
"base_default_next" : "FabricIngress.next.simple",
"next_tables" : {
@@ -9922,7 +10986,7 @@
"nop" : "FabricIngress.next.simple"
},
"default_entry" : {
- "action_id" : 8,
+ "action_id" : 7,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -9951,7 +11015,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [26, 27, 28, 29, 30, 31, 5],
+ "action_ids" : [24, 25, 26, 27, 28, 29, 4],
"actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"],
"base_default_next" : null,
"next_tables" : {
@@ -9959,7 +11023,7 @@
"__MISS__" : "tbl_act_6"
},
"default_entry" : {
- "action_id" : 5,
+ "action_id" : 4,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -9975,14 +11039,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [42],
+ "action_ids" : [40],
"actions" : ["act_5"],
"base_default_next" : "node_23",
"next_tables" : {
"act_5" : "node_23"
},
"default_entry" : {
- "action_id" : 42,
+ "action_id" : 40,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9998,14 +11062,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [43],
+ "action_ids" : [41],
"actions" : ["act_6"],
"base_default_next" : "node_23",
"next_tables" : {
"act_6" : "node_23"
},
"default_entry" : {
- "action_id" : 43,
+ "action_id" : 41,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10035,7 +11099,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [32, 33, 34, 6],
+ "action_ids" : [30, 31, 32, 5],
"actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
"base_default_next" : null,
"next_tables" : {
@@ -10053,14 +11117,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [44],
+ "action_ids" : [42],
"actions" : ["act_7"],
"base_default_next" : "node_27",
"next_tables" : {
"act_7" : "node_27"
},
"default_entry" : {
- "action_id" : 44,
+ "action_id" : 42,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10076,14 +11140,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [45],
+ "action_ids" : [43],
"actions" : ["act_8"],
"base_default_next" : "node_27",
"next_tables" : {
"act_8" : "node_27"
},
"default_entry" : {
- "action_id" : 45,
+ "action_id" : 43,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10112,7 +11176,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [35, 7],
+ "action_ids" : [33, 6],
"actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
"base_default_next" : null,
"next_tables" : {
@@ -10120,7 +11184,7 @@
"__MISS__" : "tbl_act_10"
},
"default_entry" : {
- "action_id" : 7,
+ "action_id" : 6,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -10136,14 +11200,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [46],
+ "action_ids" : [44],
"actions" : ["act_9"],
"base_default_next" : "node_31",
"next_tables" : {
"act_9" : "node_31"
},
"default_entry" : {
- "action_id" : 46,
+ "action_id" : 44,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10159,14 +11223,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [47],
+ "action_ids" : [45],
"actions" : ["act_10"],
"base_default_next" : "node_31",
"next_tables" : {
"act_10" : "node_31"
},
"default_entry" : {
- "action_id" : 47,
+ "action_id" : 45,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10182,14 +11246,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [48],
+ "action_ids" : [46],
"actions" : ["act_11"],
"base_default_next" : "node_33",
"next_tables" : {
"act_11" : "node_33"
},
"default_entry" : {
- "action_id" : 48,
+ "action_id" : 46,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10205,14 +11269,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [49],
+ "action_ids" : [47],
"actions" : ["act_12"],
"base_default_next" : "node_37",
"next_tables" : {
"act_12" : "node_37"
},
"default_entry" : {
- "action_id" : 49,
+ "action_id" : 47,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10228,14 +11292,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [50],
+ "action_ids" : [48],
"actions" : ["act_13"],
"base_default_next" : "node_39",
"next_tables" : {
"act_13" : "node_39"
},
"default_entry" : {
- "action_id" : 50,
+ "action_id" : 48,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10251,14 +11315,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [51],
+ "action_ids" : [49],
"actions" : ["act_14"],
"base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
"next_tables" : {
"act_14" : "FabricIngress.process_set_source_sink.tb_set_source"
},
"default_entry" : {
- "action_id" : 51,
+ "action_id" : 49,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10268,8 +11332,8 @@
"name" : "FabricIngress.process_set_source_sink.tb_set_source",
"id" : 26,
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 101,
+ "filename" : "include/int/int_main.p4",
+ "line" : 46,
"column" : 10,
"source_fragment" : "tb_set_source"
},
@@ -10283,16 +11347,16 @@
],
"match_type" : "exact",
"type" : "simple",
- "max_size" : 256,
+ "max_size" : 511,
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [9, 0],
+ "action_ids" : [8, 0],
"actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
- "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
+ "base_default_next" : null,
"next_tables" : {
- "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
- "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
+ "FabricIngress.process_set_source_sink.int_set_source" : null,
+ "NoAction" : null
},
"default_entry" : {
"action_id" : 0,
@@ -10300,66 +11364,6 @@
"action_data" : [],
"action_entry_const" : false
}
- },
- {
- "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
- "id" : 27,
- "source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 111,
- "column" : 10,
- "source_fragment" : "tb_set_sink"
- },
- "key" : [
- {
- "match_type" : "exact",
- "name" : "standard_metadata.egress_spec",
- "target" : ["standard_metadata", "egress_spec"],
- "mask" : null
- }
- ],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 256,
- "with_counters" : true,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [10, 1],
- "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
- "base_default_next" : "node_43",
- "next_tables" : {
- "FabricIngress.process_set_source_sink.int_set_sink" : "node_43",
- "NoAction" : "node_43"
- },
- "default_entry" : {
- "action_id" : 1,
- "action_const" : false,
- "action_data" : [],
- "action_entry_const" : false
- }
- },
- {
- "name" : "tbl_act_15",
- "id" : 28,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [52],
- "actions" : ["act_15"],
- "base_default_next" : null,
- "next_tables" : {
- "act_15" : null
- },
- "default_entry" : {
- "action_id" : 52,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
}
],
"action_profiles" : [
@@ -10731,32 +11735,6 @@
},
"true_next" : "tbl_act_14",
"false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
- },
- {
- "name" : "node_43",
- "id" : 13,
- "source_info" : {
- "filename" : "fabric.p4",
- "line" : 77,
- "column" : 11,
- "source_fragment" : "fabric_metadata.int_meta.sink == 1"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "sink"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- },
- "false_next" : null,
- "true_next" : "tbl_act_15"
}
]
},
@@ -10765,14 +11743,60 @@
"id" : 1,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 87,
+ "line" : 79,
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_47",
+ "init_table" : "node_44",
"tables" : [
{
"name" : "tbl_pkt_io_egress_pop_vlan",
+ "id" : 27,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [91],
+ "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
+ "base_default_next" : "node_48",
+ "next_tables" : {
+ "FabricEgress.pkt_io_egress.pop_vlan" : "node_48"
+ },
+ "default_entry" : {
+ "action_id" : 91,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_drop_now",
+ "id" : 28,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [55],
+ "actions" : ["drop_now"],
+ "base_default_next" : "tbl_act_15",
+ "next_tables" : {
+ "drop_now" : "tbl_act_15"
+ },
+ "default_entry" : {
+ "action_id" : 55,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_15",
"id" : 29,
"key" : [],
"match_type" : "exact",
@@ -10781,21 +11805,21 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [102],
- "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
- "base_default_next" : "node_51",
+ "action_ids" : [93],
+ "actions" : ["act_15"],
+ "base_default_next" : null,
"next_tables" : {
- "FabricEgress.pkt_io_egress.pop_vlan" : "node_51"
+ "act_15" : null
},
"default_entry" : {
- "action_id" : 102,
+ "action_id" : 93,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_drop_now",
+ "name" : "tbl_drop_now_0",
"id" : 30,
"key" : [],
"match_type" : "exact",
@@ -10804,60 +11828,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [59],
- "actions" : ["drop_now"],
- "base_default_next" : "tbl_act_16",
- "next_tables" : {
- "drop_now" : "tbl_act_16"
- },
- "default_entry" : {
- "action_id" : 59,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_16",
- "id" : 31,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [104],
- "actions" : ["act_16"],
- "base_default_next" : null,
- "next_tables" : {
- "act_16" : null
- },
- "default_entry" : {
- "action_id" : 104,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_drop_now_0",
- "id" : 32,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [60],
+ "action_ids" : [56],
"actions" : ["drop_now"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"drop_now" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 60,
+ "action_id" : 56,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10865,7 +11843,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 33,
+ "id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 258,
@@ -10892,26 +11870,26 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [103, 58],
+ "action_ids" : [92, 54],
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
- "base_default_next" : "node_57",
+ "base_default_next" : "node_54",
"next_tables" : {
- "FabricEgress.egress_next.pop_vlan" : "node_57",
- "nop" : "node_57"
+ "FabricEgress.egress_next.pop_vlan" : "node_54",
+ "nop" : "node_54"
},
"default_entry" : {
- "action_id" : 58,
+ "action_id" : 54,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
}
},
{
- "name" : "FabricEgress.process_int_source.tb_int_source",
- "id" : 34,
+ "name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
+ "id" : 32,
"source_info" : {
- "filename" : "include/int_source.p4",
- "line" : 66,
+ "filename" : "include/int/int_source.p4",
+ "line" : 65,
"column" : 10,
"source_fragment" : "tb_int_source"
},
@@ -10947,56 +11925,102 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [61, 53],
- "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
- "base_default_next" : "node_60",
+ "action_ids" : [57, 50],
+ "actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "NoAction"],
+ "base_default_next" : "node_57",
"next_tables" : {
- "FabricEgress.process_int_source.int_source_dscp" : "node_60",
- "NoAction" : "node_60"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_57",
+ "NoAction" : "node_57"
},
"default_entry" : {
- "action_id" : 53,
+ "action_id" : 50,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
}
},
{
- "name" : "FabricEgress.process_int_transit.tb_int_insert",
- "id" : 35,
+ "name" : "tbl_act_16",
+ "id" : 33,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [94],
+ "actions" : ["act_16"],
+ "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
+ "next_tables" : {
+ "act_16" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
+ },
+ "default_entry" : {
+ "action_id" : 94,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
+ "id" : 34,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 227,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 271,
"column" : 10,
"source_fragment" : "tb_int_insert"
},
"key" : [],
"match_type" : "exact",
"type" : "simple",
- "max_size" : 2,
- "with_counters" : true,
+ "max_size" : 1024,
+ "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [63, 54],
- "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
- "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
+ "action_ids" : [58, 51],
+ "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "NoAction"],
+ "base_default_next" : "node_60",
"next_tables" : {
- "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
- "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_60",
+ "NoAction" : "node_60"
},
"default_entry" : {
- "action_id" : 54,
+ "action_id" : 51,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
}
},
{
- "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
+ "name" : "tbl_act_17",
+ "id" : 35,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [95],
+ "actions" : ["act_17"],
+ "base_default_next" : "node_62",
+ "next_tables" : {
+ "act_17" : "node_62"
+ },
+ "default_entry" : {
+ "action_id" : 95,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
"id" : 36,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 237,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 280,
"column" : 10,
"source_fragment" : "tb_int_inst_0003"
},
@@ -11011,44 +12035,254 @@
"match_type" : "exact",
"type" : "simple",
"max_size" : 16,
- "with_counters" : true,
+ "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 55],
- "actions" : ["FabricEgress.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_transit.int_set_header_0003_i15", "NoAction"],
- "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
+ "action_ids" : [59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 52],
+ "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
+ "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"next_tables" : {
- "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
- "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
+ "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
},
"default_entry" : {
- "action_id" : 55,
+ "action_id" : 52,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
- }
+ },
+ "entries" : [
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x00"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 59,
+ "action_data" : []
+ },
+ "priority" : 1
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x01"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 60,
+ "action_data" : []
+ },
+ "priority" : 2
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x02"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 61,
+ "action_data" : []
+ },
+ "priority" : 3
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x03"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 62,
+ "action_data" : []
+ },
+ "priority" : 4
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x04"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 63,
+ "action_data" : []
+ },
+ "priority" : 5
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x05"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 64,
+ "action_data" : []
+ },
+ "priority" : 6
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x06"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 65,
+ "action_data" : []
+ },
+ "priority" : 7
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x07"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 66,
+ "action_data" : []
+ },
+ "priority" : 8
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x08"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 67,
+ "action_data" : []
+ },
+ "priority" : 9
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x09"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 68,
+ "action_data" : []
+ },
+ "priority" : 10
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0a"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 69,
+ "action_data" : []
+ },
+ "priority" : 11
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0b"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 70,
+ "action_data" : []
+ },
+ "priority" : 12
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0c"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 71,
+ "action_data" : []
+ },
+ "priority" : 13
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0d"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 72,
+ "action_data" : []
+ },
+ "priority" : 14
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0e"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 73,
+ "action_data" : []
+ },
+ "priority" : 15
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0f"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 74,
+ "action_data" : []
+ },
+ "priority" : 16
+ }
+ ]
},
{
- "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
+ "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"id" : 37,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 264,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 324,
"column" : 10,
"source_fragment" : "tb_int_inst_0407"
},
@@ -11063,40 +12297,250 @@
"match_type" : "exact",
"type" : "simple",
"max_size" : 16,
- "with_counters" : true,
+ "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 56],
- "actions" : ["FabricEgress.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_transit.int_set_header_0407_i15", "NoAction"],
- "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "action_ids" : [75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 53],
+ "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
+ "base_default_next" : "tbl_act_18",
"next_tables" : {
- "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
- "FabricEgress.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"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_18",
+ "NoAction" : "tbl_act_18"
},
"default_entry" : {
- "action_id" : 56,
+ "action_id" : 53,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
- }
+ },
+ "entries" : [
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x00"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 75,
+ "action_data" : []
+ },
+ "priority" : 1
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x01"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 76,
+ "action_data" : []
+ },
+ "priority" : 2
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x02"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 77,
+ "action_data" : []
+ },
+ "priority" : 3
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x03"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 78,
+ "action_data" : []
+ },
+ "priority" : 4
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x04"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 79,
+ "action_data" : []
+ },
+ "priority" : 5
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x05"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 80,
+ "action_data" : []
+ },
+ "priority" : 6
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x06"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 81,
+ "action_data" : []
+ },
+ "priority" : 7
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x07"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 82,
+ "action_data" : []
+ },
+ "priority" : 8
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x08"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 83,
+ "action_data" : []
+ },
+ "priority" : 9
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x09"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 84,
+ "action_data" : []
+ },
+ "priority" : 10
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0a"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 85,
+ "action_data" : []
+ },
+ "priority" : 11
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0b"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 86,
+ "action_data" : []
+ },
+ "priority" : 12
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0c"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 87,
+ "action_data" : []
+ },
+ "priority" : 13
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0d"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 88,
+ "action_data" : []
+ },
+ "priority" : 14
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0e"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 89,
+ "action_data" : []
+ },
+ "priority" : 15
+ },
+ {
+ "match_key" : [
+ {
+ "match_type" : "exact",
+ "key" : "0x0f"
+ }
+ ],
+ "action_entry" : {
+ "action_id" : 90,
+ "action_data" : []
+ },
+ "priority" : 16
+ }
+ ]
},
{
- "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
+ "name" : "tbl_act_18",
"id" : 38,
"key" : [],
"match_type" : "exact",
@@ -11105,57 +12549,11 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [62],
- "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
- "base_default_next" : "node_65",
- "next_tables" : {
- "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_65"
- },
- "default_entry" : {
- "action_id" : 62,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_process_int_outer_encap_int_update_ipv4",
- "id" : 39,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [96],
- "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
- "base_default_next" : "node_67",
- "next_tables" : {
- "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_67"
- },
- "default_entry" : {
- "action_id" : 96,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_process_int_outer_encap_int_update_udp",
- "id" : 40,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
"action_ids" : [97],
- "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
- "base_default_next" : "node_69",
+ "actions" : ["act_19"],
+ "base_default_next" : "node_66",
"next_tables" : {
- "FabricEgress.process_int_outer_encap.int_update_udp" : "node_69"
+ "act_19" : "node_66"
},
"default_entry" : {
"action_id" : 97,
@@ -11165,8 +12563,31 @@
}
},
{
- "name" : "tbl_process_int_outer_encap_int_update_shim",
- "id" : 41,
+ "name" : "tbl_act_19",
+ "id" : 39,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [96],
+ "actions" : ["act_18"],
+ "base_default_next" : "node_68",
+ "next_tables" : {
+ "act_18" : "node_68"
+ },
+ "default_entry" : {
+ "action_id" : 96,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_20",
+ "id" : 40,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11175,10 +12596,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [98],
- "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
- "base_default_next" : "node_71",
+ "actions" : ["act_20"],
+ "base_default_next" : "node_70",
"next_tables" : {
- "FabricEgress.process_int_outer_encap.int_update_shim" : "node_71"
+ "act_20" : "node_70"
},
"default_entry" : {
"action_id" : 98,
@@ -11188,14 +12609,8 @@
}
},
{
- "name" : "FabricEgress.process_int_report.tb_generate_report",
- "id" : 42,
- "source_info" : {
- "filename" : "include/int_report.p4",
- "line" : 87,
- "column" : 10,
- "source_fragment" : "tb_generate_report"
- },
+ "name" : "tbl_act_21",
+ "id" : 41,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11203,61 +12618,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [99, 57],
- "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
- "base_default_next" : "node_73",
- "next_tables" : {
- "FabricEgress.process_int_report.do_report_encapsulation" : "node_73",
- "NoAction" : "node_73"
- },
- "default_entry" : {
- "action_id" : 57,
- "action_const" : false,
- "action_data" : [],
- "action_entry_const" : false
- }
- },
- {
- "name" : "tbl_process_int_sink_restore_header",
- "id" : 43,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [100],
- "actions" : ["FabricEgress.process_int_sink.restore_header"],
- "base_default_next" : "tbl_process_int_sink_int_sink",
- "next_tables" : {
- "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
- },
- "default_entry" : {
- "action_id" : 100,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_process_int_sink_int_sink",
- "id" : 44,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [101],
- "actions" : ["FabricEgress.process_int_sink.int_sink"],
+ "action_ids" : [99],
+ "actions" : ["act_21"],
"base_default_next" : null,
"next_tables" : {
- "FabricEgress.process_int_sink.int_sink" : null
+ "act_21" : null
},
"default_entry" : {
- "action_id" : 101,
+ "action_id" : 99,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11267,11 +12635,11 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_47",
- "id" : 14,
+ "name" : "node_44",
+ "id" : 13,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 43,
+ "line" : 44,
"column" : 12,
"source_fragment" : "fabric_metadata.is_controller_packet_out == true"
},
@@ -11297,14 +12665,14 @@
}
},
"true_next" : null,
- "false_next" : "node_48"
+ "false_next" : "node_45"
},
{
- "name" : "node_48",
- "id" : 15,
+ "name" : "node_45",
+ "id" : 14,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
+ "line" : 48,
"column" : 12,
"source_fragment" : "standard_metadata.egress_port == 255"
},
@@ -11322,15 +12690,15 @@
}
}
},
- "true_next" : "node_49",
- "false_next" : "node_54"
+ "true_next" : "node_46",
+ "false_next" : "node_51"
},
{
- "name" : "node_49",
- "id" : 16,
+ "name" : "node_46",
+ "id" : 15,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 48,
+ "line" : 49,
"column" : 16,
"source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
},
@@ -11373,14 +12741,14 @@
}
},
"true_next" : "tbl_pkt_io_egress_pop_vlan",
- "false_next" : "node_51"
+ "false_next" : "node_48"
},
{
- "name" : "node_51",
- "id" : 17,
+ "name" : "node_48",
+ "id" : 16,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 51,
+ "line" : 52,
"column" : 16,
"source_fragment" : "fabric_metadata.is_multicast == true && ..."
},
@@ -11433,11 +12801,11 @@
}
},
"true_next" : "tbl_drop_now",
- "false_next" : "tbl_act_16"
+ "false_next" : "tbl_act_15"
},
{
- "name" : "node_54",
- "id" : 18,
+ "name" : "node_51",
+ "id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 272,
@@ -11489,11 +12857,11 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_57",
- "id" : 19,
+ "name" : "node_54",
+ "id" : 18,
"source_info" : {
- "filename" : "fabric.p4",
- "line" : 101,
+ "filename" : "include/int/int_main.p4",
+ "line" : 98,
"column" : 12,
"source_fragment" : "standard_metadata.ingress_port != 255 && ..."
},
@@ -11566,40 +12934,47 @@
}
},
"false_next" : null,
- "true_next" : "node_58"
+ "true_next" : "node_55"
},
{
- "name" : "node_58",
- "id" : 20,
+ "name" : "node_55",
+ "id" : 19,
"source_info" : {
- "filename" : "fabric.p4",
- "line" : 104,
+ "filename" : "include/int/int_main.p4",
+ "line" : 102,
"column" : 16,
- "source_fragment" : "fabric_metadata.int_meta.source == 1"
+ "source_fragment" : "fabric_metadata.int_meta.source == true"
},
"expression" : {
"type" : "expression",
"value" : {
"op" : "==",
"left" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "source"]
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "source"]
+ }
+ }
},
"right" : {
- "type" : "hexstr",
- "value" : "0x01"
+ "type" : "bool",
+ "value" : true
}
}
},
- "true_next" : "FabricEgress.process_int_source.tb_int_source",
- "false_next" : "node_60"
+ "true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
+ "false_next" : "node_57"
},
{
- "name" : "node_60",
- "id" : 21,
+ "name" : "node_57",
+ "id" : 20,
"source_info" : {
- "filename" : "fabric.p4",
- "line" : 107,
+ "filename" : "include/int/int_main.p4",
+ "line" : 106,
"column" : 15,
"source_fragment" : "hdr.int_header.isValid()"
},
@@ -11615,14 +12990,71 @@
}
},
"false_next" : null,
- "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
+ "true_next" : "tbl_act_16"
},
{
- "name" : "node_65",
- "id" : 22,
+ "name" : "node_60",
+ "id" : 21,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 314,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 369,
+ "column" : 12,
+ "source_fragment" : "fmeta.int_meta.transit == false"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "==",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["userMetadata.int_meta", "transit"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "bool",
+ "value" : false
+ }
+ }
+ },
+ "true_next" : "tbl_act_17",
+ "false_next" : "node_62"
+ },
+ {
+ "name" : "node_62",
+ "id" : 22,
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "not",
+ "left" : null,
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
+ }
+ }
+ }
+ }
+ },
+ "false_next" : null,
+ "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
+ },
+ {
+ "name" : "node_66",
+ "id" : 23,
+ "source_info" : {
+ "filename" : "include/int/int_transit.p4",
+ "line" : 377,
"column" : 12,
"source_fragment" : "hdr.ipv4.isValid()"
},
@@ -11637,15 +13069,15 @@
}
}
},
- "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
- "false_next" : "node_67"
+ "true_next" : "tbl_act_19",
+ "false_next" : "node_68"
},
{
- "name" : "node_67",
- "id" : 23,
+ "name" : "node_68",
+ "id" : 24,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 317,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 380,
"column" : 12,
"source_fragment" : "hdr.udp.isValid()"
},
@@ -11660,15 +13092,15 @@
}
}
},
- "true_next" : "tbl_process_int_outer_encap_int_update_udp",
- "false_next" : "node_69"
+ "true_next" : "tbl_act_20",
+ "false_next" : "node_70"
},
{
- "name" : "node_69",
- "id" : 24,
+ "name" : "node_70",
+ "id" : 25,
"source_info" : {
- "filename" : "include/int_transit.p4",
- "line" : 320,
+ "filename" : "include/int/int_transit.p4",
+ "line" : 383,
"column" : 12,
"source_fragment" : "hdr.intl4_shim.isValid()"
},
@@ -11683,60 +13115,8 @@
}
}
},
- "true_next" : "tbl_process_int_outer_encap_int_update_shim",
- "false_next" : "node_71"
- },
- {
- "name" : "node_71",
- "id" : 25,
- "source_info" : {
- "filename" : "fabric.p4",
- "line" : 111,
- "column" : 20,
- "source_fragment" : "standard_metadata.instance_type == 1"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "field",
- "value" : ["standard_metadata", "instance_type"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x00000001"
- }
- }
- },
- "true_next" : "FabricEgress.process_int_report.tb_generate_report",
- "false_next" : "node_73"
- },
- {
- "name" : "node_73",
- "id" : 26,
- "source_info" : {
- "filename" : "fabric.p4",
- "line" : 115,
- "column" : 20,
- "source_fragment" : "fabric_metadata.int_meta.sink == 1"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "field",
- "value" : ["userMetadata.int_meta", "sink"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x01"
- }
- }
- },
"false_next" : null,
- "true_next" : "tbl_process_int_sink_restore_header"
+ "true_next" : "tbl_act_21"
}
]
}
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
index 545564c..cc19487 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
@@ -18,30 +18,7 @@
annotations: "@defaultonly()"
}
direct_resource_ids: 318787614
- size: 256
- idle_timeout_behavior: NO_TIMEOUT
-}
-tables {
- preamble {
- id: 33561619
- name: "FabricIngress.process_set_source_sink.tb_set_sink"
- alias: "tb_set_sink"
- }
- match_fields {
- id: 1
- name: "standard_metadata.egress_spec"
- bitwidth: 9
- match_type: EXACT
- }
- action_refs {
- id: 16788951
- }
- action_refs {
- id: 16800567
- annotations: "@defaultonly()"
- }
- direct_resource_ids: 318770551
- size: 256
+ size: 511
idle_timeout_behavior: NO_TIMEOUT
}
tables {
@@ -409,8 +386,8 @@
}
tables {
preamble {
- id: 33566961
- name: "FabricEgress.process_int_source.tb_int_source"
+ id: 33612258
+ name: "FabricEgress.process_int_main.process_int_source.tb_int_source"
alias: "tb_int_source"
}
match_fields {
@@ -438,37 +415,36 @@
match_type: TERNARY
}
action_refs {
- id: 16807851
+ id: 16785857
}
action_refs {
id: 16800567
annotations: "@defaultonly()"
}
- direct_resource_ids: 318776637
+ direct_resource_ids: 318800047
size: 1024
idle_timeout_behavior: NO_TIMEOUT
}
tables {
preamble {
- id: 33602084
- name: "FabricEgress.process_int_transit.tb_int_insert"
+ id: 33599867
+ name: "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
alias: "tb_int_insert"
}
action_refs {
- id: 16806530
+ id: 16780783
}
action_refs {
id: 16800567
annotations: "@defaultonly()"
}
- direct_resource_ids: 318794595
- size: 2
+ size: 1024
idle_timeout_behavior: NO_TIMEOUT
}
tables {
preamble {
- id: 33561642
- name: "FabricEgress.process_int_transit.tb_int_inst_0003"
+ id: 33569467
+ name: "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
alias: "tb_int_inst_0003"
}
match_fields {
@@ -478,65 +454,65 @@
match_type: EXACT
}
action_refs {
- id: 16788439
+ id: 16809886
}
action_refs {
- id: 16792702
+ id: 16783130
}
action_refs {
- id: 16834796
+ id: 16809096
}
action_refs {
- id: 16815381
+ id: 16834117
}
action_refs {
- id: 16824457
+ id: 16825314
}
action_refs {
- id: 16796364
+ id: 16811436
}
action_refs {
- id: 16806322
+ id: 16802199
}
action_refs {
- id: 16819063
+ id: 16796779
}
action_refs {
- id: 16828306
+ id: 16787676
}
action_refs {
- id: 16799786
+ id: 16825351
}
action_refs {
- id: 16796975
+ id: 16793999
}
action_refs {
- id: 16801652
+ id: 16786714
}
action_refs {
- id: 16778440
+ id: 16814203
}
action_refs {
- id: 16790887
+ id: 16807054
}
action_refs {
- id: 16783849
+ id: 16800064
}
action_refs {
- id: 16837726
+ id: 16792997
}
action_refs {
id: 16800567
annotations: "@defaultonly()"
}
- direct_resource_ids: 318777781
size: 16
idle_timeout_behavior: NO_TIMEOUT
+ is_const_table: true
}
tables {
preamble {
- id: 33571998
- name: "FabricEgress.process_int_transit.tb_int_inst_0407"
+ id: 33595914
+ name: "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
alias: "tb_int_inst_0407"
}
match_fields {
@@ -546,76 +522,60 @@
match_type: EXACT
}
action_refs {
- id: 16839298
+ id: 16819022
}
action_refs {
- id: 16837018
+ id: 16804144
}
action_refs {
- id: 16827414
+ id: 16829117
}
action_refs {
- id: 16786021
+ id: 16797781
}
action_refs {
- id: 16785131
+ id: 16813543
}
action_refs {
- id: 16808652
+ id: 16824974
}
action_refs {
- id: 16799296
+ id: 16815362
}
action_refs {
- id: 16780668
+ id: 16835399
}
action_refs {
- id: 16805625
+ id: 16834505
}
action_refs {
- id: 16778495
+ id: 16811493
}
action_refs {
- id: 16784981
+ id: 16825476
}
action_refs {
- id: 16806353
+ id: 16799777
}
action_refs {
- id: 16802140
+ id: 16829592
}
action_refs {
- id: 16827601
+ id: 16805877
}
action_refs {
- id: 16820295
+ id: 16780182
}
action_refs {
- id: 16810955
+ id: 16799476
}
action_refs {
id: 16800567
annotations: "@defaultonly()"
}
- direct_resource_ids: 318818305
size: 16
idle_timeout_behavior: NO_TIMEOUT
-}
-tables {
- preamble {
- id: 33607792
- name: "FabricEgress.process_int_report.tb_generate_report"
- alias: "tb_generate_report"
- }
- action_refs {
- id: 16814383
- }
- action_refs {
- id: 16800567
- annotations: "@defaultonly()"
- }
- size: 1024
- idle_timeout_behavior: NO_TIMEOUT
+ is_const_table: true
}
tables {
preamble {
@@ -669,13 +629,6 @@
}
actions {
preamble {
- id: 16788951
- name: "FabricIngress.process_set_source_sink.int_set_sink"
- alias: "int_set_sink"
- }
-}
-actions {
- preamble {
id: 16798734
name: "FabricIngress.filtering.drop"
alias: "filtering.drop"
@@ -1048,8 +1001,8 @@
}
actions {
preamble {
- id: 16807851
- name: "FabricEgress.process_int_source.int_source_dscp"
+ id: 16785857
+ name: "FabricEgress.process_int_main.process_int_source.int_source_dscp"
alias: "int_source_dscp"
}
params {
@@ -1075,16 +1028,9 @@
}
actions {
preamble {
- id: 16806280
- name: "FabricEgress.process_int_transit.int_update_total_hop_cnt"
- alias: "int_update_total_hop_cnt"
- }
-}
-actions {
- preamble {
- id: 16806530
- name: "FabricEgress.process_int_transit.int_transit"
- alias: "int_transit"
+ id: 16780783
+ name: "FabricEgress.process_int_main.process_int_transit.init_metadata"
+ alias: "init_metadata"
}
params {
id: 1
@@ -1094,297 +1040,230 @@
}
actions {
preamble {
- id: 16788439
- name: "FabricEgress.process_int_transit.int_set_header_0003_i0"
+ id: 16809886
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0"
alias: "int_set_header_0003_i0"
}
}
actions {
preamble {
- id: 16792702
- name: "FabricEgress.process_int_transit.int_set_header_0003_i1"
+ id: 16783130
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1"
alias: "int_set_header_0003_i1"
}
}
actions {
preamble {
- id: 16834796
- name: "FabricEgress.process_int_transit.int_set_header_0003_i2"
+ id: 16809096
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2"
alias: "int_set_header_0003_i2"
}
}
actions {
preamble {
- id: 16815381
- name: "FabricEgress.process_int_transit.int_set_header_0003_i3"
+ id: 16834117
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3"
alias: "int_set_header_0003_i3"
}
}
actions {
preamble {
- id: 16824457
- name: "FabricEgress.process_int_transit.int_set_header_0003_i4"
+ id: 16825314
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4"
alias: "int_set_header_0003_i4"
}
}
actions {
preamble {
- id: 16796364
- name: "FabricEgress.process_int_transit.int_set_header_0003_i5"
+ id: 16811436
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5"
alias: "int_set_header_0003_i5"
}
}
actions {
preamble {
- id: 16806322
- name: "FabricEgress.process_int_transit.int_set_header_0003_i6"
+ id: 16802199
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6"
alias: "int_set_header_0003_i6"
}
}
actions {
preamble {
- id: 16819063
- name: "FabricEgress.process_int_transit.int_set_header_0003_i7"
+ id: 16796779
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7"
alias: "int_set_header_0003_i7"
}
}
actions {
preamble {
- id: 16828306
- name: "FabricEgress.process_int_transit.int_set_header_0003_i8"
+ id: 16787676
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8"
alias: "int_set_header_0003_i8"
}
}
actions {
preamble {
- id: 16799786
- name: "FabricEgress.process_int_transit.int_set_header_0003_i9"
+ id: 16825351
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9"
alias: "int_set_header_0003_i9"
}
}
actions {
preamble {
- id: 16796975
- name: "FabricEgress.process_int_transit.int_set_header_0003_i10"
+ id: 16793999
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10"
alias: "int_set_header_0003_i10"
}
}
actions {
preamble {
- id: 16801652
- name: "FabricEgress.process_int_transit.int_set_header_0003_i11"
+ id: 16786714
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11"
alias: "int_set_header_0003_i11"
}
}
actions {
preamble {
- id: 16778440
- name: "FabricEgress.process_int_transit.int_set_header_0003_i12"
+ id: 16814203
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12"
alias: "int_set_header_0003_i12"
}
}
actions {
preamble {
- id: 16790887
- name: "FabricEgress.process_int_transit.int_set_header_0003_i13"
+ id: 16807054
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13"
alias: "int_set_header_0003_i13"
}
}
actions {
preamble {
- id: 16783849
- name: "FabricEgress.process_int_transit.int_set_header_0003_i14"
+ id: 16800064
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14"
alias: "int_set_header_0003_i14"
}
}
actions {
preamble {
- id: 16837726
- name: "FabricEgress.process_int_transit.int_set_header_0003_i15"
+ id: 16792997
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15"
alias: "int_set_header_0003_i15"
}
}
actions {
preamble {
- id: 16839298
- name: "FabricEgress.process_int_transit.int_set_header_0407_i0"
+ id: 16819022
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0"
alias: "int_set_header_0407_i0"
}
}
actions {
preamble {
- id: 16837018
- name: "FabricEgress.process_int_transit.int_set_header_0407_i1"
+ id: 16804144
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1"
alias: "int_set_header_0407_i1"
}
}
actions {
preamble {
- id: 16827414
- name: "FabricEgress.process_int_transit.int_set_header_0407_i2"
+ id: 16829117
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2"
alias: "int_set_header_0407_i2"
}
}
actions {
preamble {
- id: 16786021
- name: "FabricEgress.process_int_transit.int_set_header_0407_i3"
+ id: 16797781
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3"
alias: "int_set_header_0407_i3"
}
}
actions {
preamble {
- id: 16785131
- name: "FabricEgress.process_int_transit.int_set_header_0407_i4"
+ id: 16813543
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4"
alias: "int_set_header_0407_i4"
}
}
actions {
preamble {
- id: 16808652
- name: "FabricEgress.process_int_transit.int_set_header_0407_i5"
+ id: 16824974
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5"
alias: "int_set_header_0407_i5"
}
}
actions {
preamble {
- id: 16799296
- name: "FabricEgress.process_int_transit.int_set_header_0407_i6"
+ id: 16815362
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6"
alias: "int_set_header_0407_i6"
}
}
actions {
preamble {
- id: 16780668
- name: "FabricEgress.process_int_transit.int_set_header_0407_i7"
+ id: 16835399
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7"
alias: "int_set_header_0407_i7"
}
}
actions {
preamble {
- id: 16805625
- name: "FabricEgress.process_int_transit.int_set_header_0407_i8"
+ id: 16834505
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8"
alias: "int_set_header_0407_i8"
}
}
actions {
preamble {
- id: 16778495
- name: "FabricEgress.process_int_transit.int_set_header_0407_i9"
+ id: 16811493
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9"
alias: "int_set_header_0407_i9"
}
}
actions {
preamble {
- id: 16784981
- name: "FabricEgress.process_int_transit.int_set_header_0407_i10"
+ id: 16825476
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10"
alias: "int_set_header_0407_i10"
}
}
actions {
preamble {
- id: 16806353
- name: "FabricEgress.process_int_transit.int_set_header_0407_i11"
+ id: 16799777
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11"
alias: "int_set_header_0407_i11"
}
}
actions {
preamble {
- id: 16802140
- name: "FabricEgress.process_int_transit.int_set_header_0407_i12"
+ id: 16829592
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12"
alias: "int_set_header_0407_i12"
}
}
actions {
preamble {
- id: 16827601
- name: "FabricEgress.process_int_transit.int_set_header_0407_i13"
+ id: 16805877
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13"
alias: "int_set_header_0407_i13"
}
}
actions {
preamble {
- id: 16820295
- name: "FabricEgress.process_int_transit.int_set_header_0407_i14"
+ id: 16780182
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14"
alias: "int_set_header_0407_i14"
}
}
actions {
preamble {
- id: 16810955
- name: "FabricEgress.process_int_transit.int_set_header_0407_i15"
+ id: 16799476
+ name: "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15"
alias: "int_set_header_0407_i15"
}
}
actions {
preamble {
- id: 16816602
- name: "FabricEgress.process_int_outer_encap.int_update_ipv4"
- alias: "int_update_ipv4"
- }
-}
-actions {
- preamble {
- id: 16829666
- name: "FabricEgress.process_int_outer_encap.int_update_udp"
- alias: "int_update_udp"
- }
-}
-actions {
- preamble {
- id: 16826978
- name: "FabricEgress.process_int_outer_encap.int_update_shim"
- alias: "int_update_shim"
- }
-}
-actions {
- preamble {
- id: 16814383
- name: "FabricEgress.process_int_report.do_report_encapsulation"
- alias: "do_report_encapsulation"
- }
- params {
- id: 1
- name: "src_mac"
- bitwidth: 48
- }
- params {
- id: 2
- name: "mon_mac"
- bitwidth: 48
- }
- params {
- id: 3
- name: "src_ip"
- bitwidth: 32
- }
- params {
- id: 4
- name: "mon_ip"
- bitwidth: 32
- }
- params {
- id: 5
- name: "mon_port"
- bitwidth: 16
- }
-}
-actions {
- preamble {
- id: 16810741
- name: "FabricEgress.process_int_sink.restore_header"
- alias: "restore_header"
- }
-}
-actions {
- preamble {
- id: 16787662
- name: "FabricEgress.process_int_sink.int_sink"
- alias: "int_sink"
- }
-}
-actions {
- preamble {
id: 16801047
name: "FabricEgress.pkt_io_egress.pop_vlan"
alias: "pkt_io_egress.pop_vlan"
@@ -1442,17 +1321,6 @@
}
direct_counters {
preamble {
- id: 318770551
- name: "FabricIngress.process_set_source_sink.counter_set_sink"
- alias: "counter_set_sink"
- }
- spec {
- unit: BOTH
- }
- direct_table_id: 33561619
-}
-direct_counters {
- preamble {
id: 318815501
name: "FabricIngress.filtering.ingress_port_vlan_counter"
alias: "ingress_port_vlan_counter"
@@ -1563,47 +1431,14 @@
}
direct_counters {
preamble {
- id: 318776637
- name: "FabricEgress.process_int_source.counter_int_source"
+ id: 318800047
+ name: "FabricEgress.process_int_main.process_int_source.counter_int_source"
alias: "counter_int_source"
}
spec {
unit: BOTH
}
- direct_table_id: 33566961
-}
-direct_counters {
- preamble {
- id: 318794595
- name: "FabricEgress.process_int_transit.counter_int_insert"
- alias: "counter_int_insert"
- }
- spec {
- unit: BOTH
- }
- direct_table_id: 33602084
-}
-direct_counters {
- preamble {
- id: 318777781
- name: "FabricEgress.process_int_transit.counter_int_inst_0003"
- alias: "counter_int_inst_0003"
- }
- spec {
- unit: BOTH
- }
- direct_table_id: 33561642
-}
-direct_counters {
- preamble {
- id: 318818305
- name: "FabricEgress.process_int_transit.counter_int_inst_0407"
- alias: "counter_int_inst_0407"
- }
- spec {
- unit: BOTH
- }
- direct_table_id: 33571998
+ direct_table_id: 33612258
}
direct_counters {
preamble {
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
index 160814c..2d97498 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
@@ -930,7 +930,7 @@
"id" : 0,
"source_info" : {
"filename" : "include/parser.p4",
- "line" : 223,
+ "line" : 228,
"column" : 8,
"source_fragment" : "FabricDeparser"
},
@@ -1578,7 +1578,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 89,
+ "line" : 91,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -2211,7 +2211,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -2287,7 +2287,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -2402,7 +2402,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -2478,7 +2478,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -2770,7 +2770,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -2846,7 +2846,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -2961,7 +2961,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -3037,7 +3037,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -3155,7 +3155,7 @@
],
"source_info" : {
"filename" : "fabric.p4",
- "line" : 57,
+ "line" : 54,
"column" : 50,
"source_fragment" : "hdr.gtpu_ipv4"
}
@@ -3170,7 +3170,7 @@
],
"source_info" : {
"filename" : "fabric.p4",
- "line" : 57,
+ "line" : 54,
"column" : 65,
"source_fragment" : "hdr.gtpu_udp"
}
@@ -3461,7 +3461,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 119,
+ "line" : 121,
"column" : 36,
"source_fragment" : "2w1; ..."
}
@@ -3547,7 +3547,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 120,
+ "line" : 122,
"column" : 38,
"source_fragment" : "2w2; ..."
}
@@ -3573,7 +3573,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 118,
+ "line" : 120,
"column" : 37,
"source_fragment" : "2w0; ..."
}
@@ -3744,7 +3744,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 109,
+ "line" : 111,
"column" : 31,
"source_fragment" : "7; ..."
}
@@ -3770,7 +3770,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 92,
+ "line" : 94,
"column" : 31,
"source_fragment" : "0x0800; ..."
}
@@ -4301,7 +4301,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 101,
+ "line" : 103,
"column" : 28,
"source_fragment" : "5; ..."
}
@@ -4457,7 +4457,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 114,
+ "line" : 116,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -4476,7 +4476,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 98,
+ "line" : 100,
"column" : 25,
"source_fragment" : "17; ..."
}
@@ -4859,7 +4859,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 39,
+ "line" : 40,
"column" : 8,
"source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
}
@@ -4874,7 +4874,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 40,
+ "line" : 41,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -4937,7 +4937,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 56,
+ "line" : 57,
"column" : 12,
"source_fragment" : "hdr.packet_in.setValid()"
}
@@ -4956,7 +4956,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 57,
+ "line" : 58,
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
@@ -4970,7 +4970,7 @@
"id" : 0,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 43,
+ "line" : 40,
"column" : 8,
"source_fragment" : "FabricIngress"
},
@@ -6799,7 +6799,7 @@
"id" : 1,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 87,
+ "line" : 79,
"column" : 8,
"source_fragment" : "FabricEgress"
},
@@ -6971,7 +6971,7 @@
"id" : 20,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 43,
+ "line" : 44,
"column" : 12,
"source_fragment" : "fabric_metadata.is_controller_packet_out == true"
},
@@ -7004,7 +7004,7 @@
"id" : 21,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
+ "line" : 48,
"column" : 12,
"source_fragment" : "standard_metadata.egress_port == 255"
},
@@ -7030,7 +7030,7 @@
"id" : 22,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 48,
+ "line" : 49,
"column" : 16,
"source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
},
@@ -7080,7 +7080,7 @@
"id" : 23,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 51,
+ "line" : 52,
"column" : 16,
"source_fragment" : "fabric_metadata.is_multicast == true && ..."
},
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
index e7c2981..0623d6c 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
@@ -634,7 +634,12 @@
"next_state" : null
}
],
- "transition_key" : []
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["udp", "dst_port"]
+ }
+ ]
},
{
"name" : "parse_icmp",
@@ -669,7 +674,7 @@
"id" : 0,
"source_info" : {
"filename" : "include/parser.p4",
- "line" : 223,
+ "line" : 228,
"column" : 8,
"source_fragment" : "FabricDeparser"
},
@@ -1082,7 +1087,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 89,
+ "line" : 91,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -1715,7 +1720,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -1791,7 +1796,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -1906,7 +1911,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -1982,7 +1987,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -2274,7 +2279,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -2350,7 +2355,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -2465,7 +2470,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 90,
+ "line" : 92,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -2541,7 +2546,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 113,
+ "line" : 115,
"column" : 32,
"source_fragment" : "64; ..."
}
@@ -2757,7 +2762,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 109,
+ "line" : 111,
"column" : 31,
"source_fragment" : "7; ..."
}
@@ -2783,7 +2788,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 92,
+ "line" : 94,
"column" : 31,
"source_fragment" : "0x0800; ..."
}
@@ -3280,7 +3285,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 39,
+ "line" : 40,
"column" : 8,
"source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
}
@@ -3295,7 +3300,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 40,
+ "line" : 41,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -3358,7 +3363,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 56,
+ "line" : 57,
"column" : 12,
"source_fragment" : "hdr.packet_in.setValid()"
}
@@ -3377,7 +3382,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 57,
+ "line" : 58,
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
@@ -3391,7 +3396,7 @@
"id" : 0,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 43,
+ "line" : 40,
"column" : 8,
"source_fragment" : "FabricIngress"
},
@@ -4607,7 +4612,7 @@
"id" : 1,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 87,
+ "line" : 79,
"column" : 8,
"source_fragment" : "FabricEgress"
},
@@ -4756,7 +4761,7 @@
"id" : 13,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 43,
+ "line" : 44,
"column" : 12,
"source_fragment" : "fabric_metadata.is_controller_packet_out == true"
},
@@ -4789,7 +4794,7 @@
"id" : 14,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
+ "line" : 48,
"column" : 12,
"source_fragment" : "standard_metadata.egress_port == 255"
},
@@ -4815,7 +4820,7 @@
"id" : 15,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 48,
+ "line" : 49,
"column" : 16,
"source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
},
@@ -4865,7 +4870,7 @@
"id" : 16,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 51,
+ "line" : 52,
"column" : 16,
"source_fragment" : "fabric_metadata.is_multicast == true && ..."
},